{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,3]],"date-time":"2026-05-03T02:37:09Z","timestamp":1777775829132,"version":"3.51.4"},"reference-count":64,"publisher":"Emerald","issue":"4","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2016,12,29]]},"abstract":"<jats:p>The vast amount of code available on the web is increasing on a daily basis. Open-source hosting sites such as GitHub contain billions of lines of code. Community question-answering sites provide millions of code snippets with corresponding text and metadata. The amount of code available in executable binaries is even greater. Collectively, these increasing amounts of code have been referred to as \u201cBig Code\u201d. In this monograph, we cover some of the recent research trends on leveraging \u201cBig Code\u201d for performing various programming tasks that are difficult to accomplish with traditional techniques.<\/jats:p>","DOI":"10.1561\/2500000028","type":"journal-article","created":{"date-parts":[[2016,12,29]],"date-time":"2016-12-29T09:11:39Z","timestamp":1483002699000},"page":"231-284","source":"Crossref","is-referenced-by-count":13,"title":["Programming with \u201cBig Code\u201d"],"prefix":"10.1108","volume":"3","author":[{"given":"Martin","family":"Vechev","sequence":"first","affiliation":[{"name":"ETH Zurich, Switzerland"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eran","family":"Yahav","sequence":"additional","affiliation":[{"name":"Technion , Haifa,","place":["Israel"]}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"140","published-online":{"date-parts":[[2016,12,29]]},"reference":[{"key":"2026032910222973900_ref001","unstructured":"Tutorial for android. http:\/\/www.tutorialforandroid.com\/2009\/01\/changing-screen-brightness.html, a."},{"key":"2026032910222973900_ref002","unstructured":"Android-er\n          . http:\/\/android-er.blogspot.ch\/2011\/03\/set-wallpaper-using-wallpapermanager.html, b."},{"key":"2026032910222973900_ref003","unstructured":"Android how-to\u2019s. https:\/\/sites.google.com\/site\/androidhowto\/how-to-1\/display-a-web-page, c."},{"key":"2026032910222973900_ref004","unstructured":"Tutorial for android. http:\/\/www.tutorialforandroid.com\/2009\/10\/turn-off-turn-on-wifi-in-android-using.html, d."},{"key":"2026032910222973900_ref005","unstructured":"Android official documentation, MediaRecorder. http:\/\/goo.gl\/PZRic."},{"key":"2026032910222973900_ref006","unstructured":"Stack overflow. http:\/\/www.stackoverflow.com\/."},{"key":"2026032910222973900_ref007","unstructured":"Vogella tutorials. http:\/\/www.vogella.com\/articles\/AndroidMedia\/article.html."},{"key":"2026032910222973900_ref008","first-page":"38","volume-title":"Suggesting accurate method and class names","author":"Allamanis","year":"2015"},{"key":"2026032910222973900_ref009","unstructured":"Miltiadis\n              Allamanis\n            , HaoPeng, and Charles A.Sutton. A convolutional attention network for extreme summarization of source code. CoRR, abs\/1602.03001, 2016. URL http:\/\/arxiv.org\/abs\/1602.03001."},{"key":"2026032910222973900_ref010","first-page":"7","article-title":"Effective API navigation and reuse","volume-title":"IRI","author":"Alnusair","year":"2010"},{"key":"2026032910222973900_ref011","unstructured":"Glenn\n              Ammons\n            , RastislavBod\u00edk, and James R.Larus. Mining specifications. In POPL \u201802, 2002. ISBN 1-58113-450-9. URL http:\/\/doi.acm.org\/10.1145\/503272.503275."},{"key":"2026032910222973900_ref012","first-page":"2","volume-title":"An empirical study of object protocols in the wild","author":"Beckman","year":"2011"},{"key":"2026032910222973900_ref013","first-page":"1137","article-title":"A neural probabilistic language model","volume":"3","author":"Bengio","year":"2003","journal-title":"J. Mach. Learn. Res."},{"key":"2026032910222973900_ref014","first-page":"343","volume-title":"Statistical deobfuscation of android applications","author":"Bichsel","year":"2016"},{"key":"2026032910222973900_ref015","first-page":"2933","volume-title":"PHOG: probabilistic model for code","author":"Bielik","year":"2016"},{"key":"2026032910222973900_ref016","first-page":"1589","volume-title":"Two studies of opportunistic programming: interleaving web foraging, learning, and writing code","author":"Brandt","year":"2009"},{"key":"2026032910222973900_ref017","first-page":"513","volume-title":"Example-centric programming: integrating web search into the development environment","author":"Brandt","year":"2010"},{"issue":"3","key":"2026032910222973900_ref018","doi-asserted-by":"crossref","first-page":"215","DOI":"10.1145\/287000.287001","article-title":"Discovering models of software processes from event-based data","volume":"7","author":"Cook","year":"1998","journal-title":"ACM Trans. Softw. Eng. Methodol."},{"key":"2026032910222973900_ref019","unstructured":"Barth\u00e9l\u00e9my\n              Dagenais\n             and Laurie J.Hendren. Enabling static analysis for partial Java programs. In OOPSLA\u201908, pages 313\u2013328. ISBN 978-1-60558-215-3. URL http:\/\/doi.acm.org\/10.1145\/1449764.1449790."},{"key":"2026032910222973900_ref020","first-page":"266","volume-title":"Statistical similarity of binaries","author":"David","year":"2016"},{"issue":"2","key":"2026032910222973900_ref021","doi-asserted-by":"crossref","first-page":"179","DOI":"10.1207\/s15516709cog1402_1","article-title":"Finding structure in time","volume":"14","author":"Elman","year":"1990","journal-title":"Cognitive Science"},{"key":"2026032910222973900_ref022","doi-asserted-by":"crossref","unstructured":"Sumit\n              Gulwani\n            \n          . Dimensions in program synthesis. In Symp. on Principles and practice of declarative programming, PPDP \u201810, 2010. URL http:\/\/doi.acm.org\/10.1145\/1836089.1836091.","DOI":"10.1145\/1836089.1836091"},{"key":"2026032910222973900_ref023","first-page":"418","volume-title":"Interactive synthesis of code snippets","author":"Gvero","year":"2011"},{"key":"2026032910222973900_ref024","first-page":"27","volume-title":"Complete completion using types and weights","author":"Gvero","year":"2013"},{"key":"2026032910222973900_ref025","first-page":"837","volume-title":"On the naturalness of software","author":"Hindle","year":"2012"},{"issue":"8","key":"2026032910222973900_ref026","doi-asserted-by":"crossref","first-page":"1735","DOI":"10.1162\/neco.1997.9.8.1735","article-title":"Long short-term memory","volume":"9","author":"Hochreiter","year":"1997","journal-title":"Neural Comput."},{"key":"2026032910222973900_ref027","first-page":"117","volume-title":"Using structural context to recommend source code examples","author":"Holmes","year":"2005"},{"key":"2026032910222973900_ref028","unstructured":"Reid\n              Holmes\n            , Robert J.Walker, and Gail C.Murphy. Strathcona example recommendation tool. In FSE\u201905, pages 237\u2013240. ISBN 1-59593-014-0. URL http:\/\/doi.acm.org\/10.1145\/1081706.1081744."},{"issue":"7","key":"2026032910222973900_ref029","doi-asserted-by":"crossref","first-page":"86","DOI":"10.1145\/2611567","article-title":"Big data and its technical challenges","volume":"57","author":"Jagadish","year":"2014","journal-title":"Commun. ACM"},{"key":"2026032910222973900_ref030","first-page":"173","volume-title":"Phrase-based statistical translation of programming languages","author":"Karaivanov","year":"2014"},{"key":"2026032910222973900_ref031","first-page":"313","volume-title":"Estimating types in binaries using predictive modeling","author":"Katz","year":"2016"},{"issue":"3","key":"2026032910222973900_ref032","doi-asserted-by":"crossref","first-page":"400","DOI":"10.1109\/TASSP.1987.1165125","article-title":"Estimation of probabilities from sparse data for the language model component of a speech recognizer","volume":"35","author":"Katz","year":"1987","journal-title":"Acoustics, Speech and Signal Processing, IEEE Transactions on"},{"key":"2026032910222973900_ref033","doi-asserted-by":"crossref","DOI":"10.1109\/ICASSP.1995.479394","volume-title":"Improved backing-off for m-gram language modeling","author":"Kneser","year":"1995"},{"key":"2026032910222973900_ref034","first-page":"2877","volume-title":"Recurrent neural network based language modeling in meeting recognition","author":"Kombrink","year":"2011"},{"key":"2026032910222973900_ref035","first-page":"48","volume-title":"Jungloid mining: Helping to navigate the api jungle","author":"Mandelin","year":"2005"},{"key":"2026032910222973900_ref036","doi-asserted-by":"crossref","DOI":"10.1109\/ASRU.2011.6163930","article-title":"Strategies for training large scale neural network language models","volume-title":"ASRU 2011. IEEE Signal Processing Society","author":"Mikolov","year":"2011"},{"key":"2026032910222973900_ref037","doi-asserted-by":"crossref","unstructured":"Alon\n              Mishne\n            , SharonShoham, and EranYahav. Typestate-based semantic code search over partial programs. In OOPSLA \u201812, 2012. URL http:\/\/doi.acm.org\/10.1145\/2384616.2384689.","DOI":"10.1145\/2384616.2384689"},{"key":"2026032910222973900_ref038","first-page":"275","volume-title":"Type-directed completion of partial expressions","author":"Perelman"},{"key":"2026032910222973900_ref039","first-page":"419","volume-title":"Code completion with statistical language models","author":"Raychev","year":"2014"},{"key":"2026032910222973900_ref040","first-page":"44","volume-title":"Code completion with statistical language models","author":"Raychev","year":"2014"},{"key":"2026032910222973900_ref041","first-page":"111","volume-title":"Predicting program properties from \u201cbig code\u201d","author":"Raychev","year":"2015"},{"key":"2026032910222973900_ref042","first-page":"761","volume-title":"Learning programs from noisy data","author":"Raychev","year":"2016"},{"key":"2026032910222973900_ref043","first-page":"731","volume-title":"Probabilistic model for code with decision trees","author":"Raychev","year":"2016"},{"key":"2026032910222973900_ref044","first-page":"243","volume-title":"Semantics-based code search","author":"Reiss","year":"2009"},{"key":"2026032910222973900_ref045","volume-title":"Two decades of statistical language modeling: Where do we go from here","author":"Rosenfeld","year":"2000"},{"key":"2026032910222973900_ref046","first-page":"174","volume-title":"Static specification m ining u sing a utomata-based a bstractions","author":"Shoham","year":"2007"},{"key":"2026032910222973900_ref047","first-page":"174","volume-title":"Static specification mining using automata-based abstractions","author":"Shoham","year":"2007"},{"key":"2026032910222973900_ref048","doi-asserted-by":"crossref","unstructured":"Armando\n              Solar-Lezama\n            \n          . The sketching approach to program synthesis. In APLAS \u201809, 2009. ISBN 978-3-642-10671-2. URL http:\/\/dx.doi.org\/10.1007\/978-3-642-10672-9_3.","DOI":"10.1007\/978-3-642-10672-9_3"},{"key":"2026032910222973900_ref049","first-page":"404","volume-title":"Combinatorial sketching for finite p rograms","author":"Solar-Lezama","year":"2006"},{"key":"2026032910222973900_ref050","unstructured":"Saurabh\n              Srivastava\n            , SumitGulwani, and Jeffrey S.Foster. From program verification to program synthesis. In POPL \u201810, 2010. ISBN 978-1-60558-479-9. URL http:\/\/doi.acm.org\/10.1145\/1706299.1706337."},{"key":"2026032910222973900_ref051","first-page":"32","volume-title":"Points-to analysis in almost linear time","author":"Steensgaard","year":"1996"},{"key":"2026032910222973900_ref052","doi-asserted-by":"crossref","DOI":"10.21437\/ICSLP.2002-303","volume-title":"SRILM-an Extensible Language Modeling Toolkit","author":"Stolcke","year":"2002"},{"issue":"4","key":"2026032910222973900_ref053","first-page":"267","article-title":"An introduction to conditional random fields","volume":"4","author":"Sutton","year":"2011","journal-title":"Machine Learning"},{"key":"2026032910222973900_ref054","first-page":"204","article-title":"PARSEWeb: a programmer assistant for reusing open source code on the web","volume-title":"ASE\u201907","author":"Thummalapenta"},{"key":"2026032910222973900_ref055","first-page":"125","volume-title":"Soot - a Java Optimization Framework","author":"Vall\u00e9e-Rai","year":"1999"},{"key":"2026032910222973900_ref056","unstructured":"Martin\n              Vechev\n             and EranYahav. Deriving linearizable fine-grained concurrent objects. In PLDI \u201808, 2008. ISBN 978-1-59593-860-2. URL http:\/\/doi.acm.org\/10.1145\/1375581.1375598"},{"key":"2026032910222973900_ref057","doi-asserted-by":"crossref","DOI":"10.1007\/s10515-011-0084-1","article-title":"Mining temporal specifications from object usage","volume":"18","author":"Wasylkowski","year":"2011","journal-title":"Autom. Softw. Eng."},{"key":"2026032910222973900_ref058","first-page":"461","volume-title":"Mining temporal specifications for error detection","author":"Weimer","year":"2005"},{"issue":"4","key":"2026032910222973900_ref059","doi-asserted-by":"crossref","first-page":"1085","DOI":"10.1109\/18.87000","article-title":"The zero-frequency problem: Estimating the probabilities of novel events in adaptive text compression","volume":"37","author":"Witten","year":"1991","journal-title":"IEEE Transactions on Information Theory"},{"key":"2026032910222973900_ref060","doi-asserted-by":"crossref","first-page":"98","DOI":"10.1145\/2986012.2986021","volume-title":"Onward! 2016","author":"Yadid","year":"2016"},{"key":"2026032910222973900_ref061","first-page":"282","article-title":"Perracotta: mining temporal API rules from imperfect traces","volume-title":"ICSE \u201806","author":"Yang"},{"key":"2026032910222973900_ref062","doi-asserted-by":"crossref","unstructured":"Kuat\n              Yessenov\n            , ZhileiXu, and ArmandoSolar-Lezama. Data-driven synthesis for object-oriented frameworks. In OOPSLA \u201811, 2011. URL http:\/\/doi.acm.org\/10.1145\/2048066.2048075.","DOI":"10.1145\/2048066.2048075"},{"key":"2026032910222973900_ref063","doi-asserted-by":"crossref","unstructured":"Hao\n              Zhong\n            , TaoXie, LuZhang, JianPei, and HongMei. MAPO: Mining and recommending API usage patterns. In ECOOP\u201909. ISBN 978-3-642-03012-3. URL http:\/\/dx.doi.org\/10.1007\/978-3-642-03013-0_15.","DOI":"10.1007\/978-3-642-03013-0_15"},{"key":"2026032910222973900_ref064","doi-asserted-by":"crossref","unstructured":"Meital\n              Zilberstein\n             and EranYahav. Leveraging a corpus of natural language descriptions for program similarity. In Onward! 2016, pages 197\u2013211, 2016. ISBN 978-1-4503-4076-2. URL http:\/\/doi.acm.org\/10.1145\/2986012.2986013.","DOI":"10.1145\/2986012.2986013"}],"container-title":["Foundations and Trends\u00ae in Programming Languages"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.emerald.com\/ftpgl\/article-pdf\/3\/4\/231\/11025562\/2500000028en.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"syndication"},{"URL":"https:\/\/www.emerald.com\/ftpgl\/article-pdf\/3\/4\/231\/11025562\/2500000028en.pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2026,4,29]],"date-time":"2026-04-29T18:16:46Z","timestamp":1777486606000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.emerald.com\/ftpgl\/article\/3\/4\/231\/1326567\/Programming-with-Big-Code"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2016,12,29]]},"references-count":64,"journal-issue":{"issue":"4","published-print":{"date-parts":[[2016,12,29]]}},"URL":"https:\/\/doi.org\/10.1561\/2500000028","relation":{},"ISSN":["2325-1107","2325-1131"],"issn-type":[{"value":"2325-1107","type":"print"},{"value":"2325-1131","type":"electronic"}],"subject":[],"published":{"date-parts":[[2016,12,29]]}}}