{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,9,4]],"date-time":"2025-09-04T13:30:14Z","timestamp":1756992614195},"reference-count":51,"publisher":"Association for Computing Machinery (ACM)","issue":"10","content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Proc. VLDB Endow."],"published-print":{"date-parts":[[2020,6]]},"abstract":"<jats:p>Consider the case where a programmer has written some part of a program, but has left part of the program (such as a method or a function body) incomplete. The goal is to use the context surrounding the missing code to automatically \"figure out\" which of the codes in the database would be useful to the programmer in order to help complete the missing code. The search is \"contextualized\" in the sense that the search engine should use clues in the partially-completed code to figure out which database code is most useful. The user should not be required to formulate an explicit query.<\/jats:p>\n          <jats:p>We cast contextualized code search as a learning problem, where the goal is to learn a distribution function computing the likelihood that each database code completes the program, and propose a neural model for predicting which database code is likely to be most useful. Because it will be prohibitively expensive to apply a neural model to each code in a database of millions or billions of codes at search time, one of our key technical concerns is ensuring a speedy search. We address this by learning a \"reverse encoder\" that can be used to reduce the problem of evaluating each database code to computing a convolution of two normal distributions.<\/jats:p>","DOI":"10.14778\/3401960.3401972","type":"journal-article","created":{"date-parts":[[2021,3,10]],"date-time":"2021-03-10T19:15:14Z","timestamp":1615403714000},"page":"1765-1778","source":"Crossref","is-referenced-by-count":4,"title":["Searching a database of source codes using contextualized code search"],"prefix":"10.14778","volume":"13","author":[{"given":"Rohan","family":"Mukherjee","sequence":"first","affiliation":[{"name":"Rice University"}]},{"given":"Swarat","family":"Chaudhuri","sequence":"additional","affiliation":[{"name":"Rice University"}]},{"given":"Chris","family":"Jermaine","sequence":"additional","affiliation":[{"name":"Rice University"}]}],"member":"320","published-online":{"date-parts":[[2021,3,10]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"Codase web site: http:\/\/www.codase.com.  Codase web site: http:\/\/www.codase.com."},{"key":"e_1_2_1_2_1","unstructured":"Eclipse jdt web site: https:\/\/help.eclipse.org\/luna\/.  Eclipse jdt web site: https:\/\/help.eclipse.org\/luna\/."},{"key":"e_1_2_1_3_1","unstructured":"Github web site: http:\/\/www.github.com.  Github web site: http:\/\/www.github.com."},{"key":"e_1_2_1_4_1","unstructured":"Koders web site: http:\/\/www.koders.com.  Koders web site: http:\/\/www.koders.com."},{"key":"e_1_2_1_5_1","unstructured":"Krugle web site: http:\/\/www.krugle.com.  Krugle web site: http:\/\/www.krugle.com."},{"key":"e_1_2_1_6_1","volume-title":"TensorFlow: Large-scale machine learning on heterogeneous systems","author":"Abadi M.","year":"2015"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1023\/A:1020281327116"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1109\/SUITE.2009.5070010"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1882291.1882316"},{"key":"e_1_2_1_10_1","volume-title":"Deepcoder: Learning to write programs. CoRR, abs\/1611.01989","author":"Balog M.","year":"2016"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/3338906.3340458"},{"key":"e_1_2_1_12_1","volume-title":"Tree2tree neural translation model for learning source code changes. CoRR, abs\/1810.00314","author":"Chakraborty S.","year":"2018"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1145\/3238147.3240471"},{"key":"e_1_2_1_14_1","volume-title":"BERT: pre-training of deep bidirectional transformers for language understanding. CoRR, abs\/1810.04805","author":"Devlin J.","year":"2018"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.5555\/3305381.3305484"},{"key":"e_1_2_1_16_1","unstructured":"C. Doersch. Tutorial on variational autoencoders 2016.  C. Doersch. Tutorial on variational autoencoders 2016."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-1-4899-4541-9"},{"key":"e_1_2_1_18_1","volume-title":"Top-down tree structured decoding with syntactic connections for neural machine translation and parsing. CoRR, abs\/1809.01854","author":"Gu J.","year":"2018"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180167"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1561\/2500000010"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/1095430.1081744"},{"key":"e_1_2_1_22_1","volume-title":"Mapping language to code in programmatic context. CoRR, abs\/1808.09588","author":"Iyer S.","year":"2018"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1145\/3180155.3180187"},{"key":"e_1_2_1_24_1","volume-title":"International Conference on Learning Representations, 12","author":"Kingma D.","year":"2014"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.infsof.2010.11.009"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321646"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2015.42"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1065010.1065018"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/362566.362568"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.5555\/2999792.2999959"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.5555\/3015812.3016002"},{"key":"e_1_2_1_32_1","volume-title":"Bayesian sketch learning for program synthesis. CoRR, abs\/1703.05698","author":"Murali V.","year":"2017"},{"key":"e_1_2_1_33_1","volume-title":"Neuro-symbolic program synthesis. CoRR, abs\/1611.01855","author":"Parisotto E.","year":"2016"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2009.5070525"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1145\/3211346.3211353"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1145\/1167515.1167508"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.ijar.2008.11.006"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1109\/78.650093"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1145\/1134285.1134448"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.5555\/3104482.3104499"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.5555\/2969442.2969628"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/3292500.3330699"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.3115\/v1\/P15-1150"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.1145\/1321631.1321663"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICSE.2019.00021"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00012"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1109\/ASE.2019.00012"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2884781.2884862"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1145\/581339.581402"},{"key":"e_1_2_1_50_1","doi-asserted-by":"publisher","DOI":"10.1109\/ICPC.2019.00021"},{"key":"e_1_2_1_51_1","volume-title":"Tree recurrent neural networks with application to language modeling. CoRR, abs\/1511.00060","author":"Zhang X.","year":"2015"}],"container-title":["Proceedings of the VLDB Endowment"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.14778\/3401960.3401972","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,28]],"date-time":"2022-12-28T11:12:09Z","timestamp":1672225929000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.14778\/3401960.3401972"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2020,6]]},"references-count":51,"journal-issue":{"issue":"10","published-print":{"date-parts":[[2020,6]]}},"alternative-id":["10.14778\/3401960.3401972"],"URL":"https:\/\/doi.org\/10.14778\/3401960.3401972","relation":{},"ISSN":["2150-8097"],"issn-type":[{"value":"2150-8097","type":"print"}],"subject":[],"published":{"date-parts":[[2020,6]]}}}