{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,13]],"date-time":"2026-03-13T07:36:00Z","timestamp":1773387360404,"version":"3.50.1"},"reference-count":48,"publisher":"Springer Science and Business Media LLC","issue":"2","license":[{"start":{"date-parts":[[2021,3,1]],"date-time":"2021-03-01T00:00:00Z","timestamp":1614556800000},"content-version":"tdm","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"},{"start":{"date-parts":[[2021,3,1]],"date-time":"2021-03-01T00:00:00Z","timestamp":1614556800000},"content-version":"vor","delay-in-days":0,"URL":"http:\/\/www.springer.com\/tdm"}],"funder":[{"DOI":"10.13039\/501100008982","name":"National Science Foundation","doi-asserted-by":"publisher","id":[{"id":"10.13039\/501100008982","id-type":"DOI","asserted-by":"publisher"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["Empir Software Eng"],"published-print":{"date-parts":[[2021,3]]},"DOI":"10.1007\/s10664-021-09942-y","type":"journal-article","created":{"date-parts":[[2021,3,5]],"date-time":"2021-03-05T18:03:53Z","timestamp":1614967433000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":13,"title":["Learning lenient parsing &amp; typing via indirect supervision"],"prefix":"10.1007","volume":"26","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-4427-1350","authenticated-orcid":false,"given":"Toufique","family":"Ahmed","sequence":"first","affiliation":[]},{"given":"Premkumar","family":"Devanbu","sequence":"additional","affiliation":[]},{"given":"Vincent J","family":"Hellendoorn","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2021,3,5]]},"reference":[{"key":"9942_CR1","doi-asserted-by":"crossref","unstructured":"Alexandru CV, Panichella S, Gall HC (2017) Replicating parser behavior using neural machine translation. In: 2017 IEEE\/ACM 25th international conference on program comprehension (ICPC). IEEE, pp 316\u2013319","DOI":"10.1109\/ICPC.2017.11"},{"key":"9942_CR2","doi-asserted-by":"crossref","unstructured":"Allamanis M, Sutton C (2013) Mining source code repositories at massive scale using language modeling. In: The 10th working conference on mining software repositories. IEEE, pp 207\u2013216","DOI":"10.1109\/MSR.2013.6624029"},{"key":"9942_CR3","unstructured":"Babii H, Janes A, Robbes R (2019) Modeling vocabulary for big code machine learning. arXiv:190401873"},{"key":"9942_CR4","doi-asserted-by":"publisher","first-page":"31","DOI":"10.1016\/j.scico.2017.06.009","volume":"150","author":"A Bacchelli","year":"2017","unstructured":"Bacchelli A, Mocci A, Cleve A, Lanza M (2017) Mining structured data in natural language artifacts with island parsing. Sci Comput Program 150:31\u201355","journal-title":"Sci Comput Program"},{"key":"9942_CR5","unstructured":"Bahdanau D, Cho K, Bengio Y (2014) Neural machine translation by jointly learning to align and translate. arXiv:14090473"},{"key":"9942_CR6","unstructured":"Bhatia S, Singh R (2016) Automated correction for syntax errors in programming assignments using recurrent neural networks. arXiv:160306129"},{"issue":"2","key":"9942_CR7","first-page":"7","volume":"17","author":"NC Brown","year":"2017","unstructured":"Brown NC, Altadmri A (2017) Novice java programming mistakes: Large-scale data vs. educator beliefs. ACM Trans Comput Educ (TOCE) 17 (2):7","journal-title":"ACM Trans Comput Educ (TOCE)"},{"key":"9942_CR8","doi-asserted-by":"crossref","unstructured":"Brown NCC, K\u00f6lling M, McCall D, Utting I (2014) Blackbox: a large scale repository of novice programmers\u2019 activity. In: Proceedings of the 45th ACM technical symposium on Computer science education. ACM, pp 223\u2013228","DOI":"10.1145\/2538862.2538924"},{"key":"9942_CR9","unstructured":"Chakraborty S, Allamanis M, Ray B (2018a) Tree2tree neural translation model for learning source code changes. arXiv:181000314"},{"key":"9942_CR10","unstructured":"Chakraborty S, Allamanis M, Ray B (2018b) Tree2tree neural translation model for learning source code changes. CoRR 1810.00314"},{"key":"9942_CR11","doi-asserted-by":"crossref","unstructured":"Chen Z, Kommrusch SJ, Tufano M, Pouchet LN, Poshyvanyk D, Monperrus M (2019) Sequencer: Sequence-to-sequence learning for end-to-end program repair. IEEE Trans Softw Eng","DOI":"10.1109\/TSE.2019.2940179"},{"key":"9942_CR12","unstructured":"Chung J, Gulcehre C, Cho K, Bengio Y (2014) Empirical evaluation of gated recurrent neural networks on sequence modeling. arXiv:14123555"},{"key":"9942_CR13","doi-asserted-by":"crossref","unstructured":"Dagenais B, Hendren L (2008) Enabling static analysis for partial java programs. In: ACM Sigplan notices, vol 43. ACM, pp 313\u2013328","DOI":"10.1145\/1449955.1449790"},{"key":"9942_CR14","doi-asserted-by":"crossref","unstructured":"Ding Y, Ray B, Devanbu P, Hellendoorn VJ (2020) Patching as translation: the data and the metaphor. In: 35th IEEE\/ACM international conference on automated software engineering (ASE)","DOI":"10.1145\/3324884.3416587"},{"key":"9942_CR15","doi-asserted-by":"crossref","unstructured":"Gupta R, Pal S, Kanade A, Shevade S (2017) Deepfix: Fixing common C language errors by deep learning. In: Thirty-First AAAI conference on artificial intelligence","DOI":"10.1609\/aaai.v31i1.10742"},{"key":"9942_CR16","unstructured":"Gupta R, Kanade A, Shevade S (2018) Deep reinforcement learning for programming language correction. arXiv:180110467"},{"key":"9942_CR17","unstructured":"Hellendoorn VJ, Devanbu P (2017) Are deep neural networks the best choice for modeling source code?. In: Proceedings of the 2017 11th joint meeting on foundations of software engineering. ACM, pp 763\u2013773"},{"key":"9942_CR18","doi-asserted-by":"crossref","unstructured":"Hellendoorn VJ, Bird C, Barr ET, Allamanis M (2018) Deep learning type inference. In: Proceedings of the 2018 26th ACM joint meeting on european software engineering conference and symposium on the foundations of software engineering. ACM, pp 152\u2013162","DOI":"10.1145\/3236024.3236051"},{"key":"9942_CR19","doi-asserted-by":"crossref","unstructured":"Hindle A, Barr ET, Su Z, Gabel M, Devanbu P (2012) On the naturalness of software, IEEE","DOI":"10.1109\/ICSE.2012.6227135"},{"issue":"8","key":"9942_CR20","doi-asserted-by":"publisher","first-page":"1735","DOI":"10.1162\/neco.1997.9.8.1735","volume":"9","author":"S Hochreiter","year":"1997","unstructured":"Hochreiter S, Schmidhuber J (1997) Long short-term memory. Neural Comput 9 (8):1735\u20131780","journal-title":"Neural Comput"},{"key":"9942_CR21","doi-asserted-by":"crossref","unstructured":"Holmes R, Walker RJ, Murphy GC (2005) Strathcona example recommendation tool. In: ACM SIGSOFT software engineering notes, vol 30. ACM, pp 237\u2013240","DOI":"10.1145\/1095430.1081744"},{"key":"9942_CR22","doi-asserted-by":"crossref","unstructured":"Karampatsis RM, Babii H, Robbes R, Sutton C, Janes A (2020) Big code != big vocabulary: Open-vocabulary models for source code. In: International conference on software engineering (ICSE)","DOI":"10.1145\/3377811.3380342"},{"issue":"4","key":"9942_CR23","doi-asserted-by":"publisher","first-page":"249","DOI":"10.1076\/csed.13.4.249.17496","volume":"13","author":"M K\u00f6lling","year":"2003","unstructured":"K\u00f6lling M, Quig B, Patterson A, Rosenberg J (2003) The bluej system and its pedagogy. Comput Sci Educ 13 (4):249\u2013268","journal-title":"Comput Sci Educ"},{"issue":"1","key":"9942_CR24","doi-asserted-by":"publisher","first-page":"54","DOI":"10.1109\/TSE.2011.104","volume":"38","author":"C Le Goues","year":"2011","unstructured":"Le Goues C, Nguyen T, Forrest S, Weimer W (2011) Genprog: a generic method for automatic software repair. IEEE Trans Softw Eng 38 (1):54\u201372","journal-title":"IEEE Trans Softw Eng"},{"key":"9942_CR25","doi-asserted-by":"crossref","unstructured":"Li Y, Wang S, Nguyen TN (2020) Dlfix: Context-based code transformation learning for automated program repair. In: 2020 42th international conference on software engineering (ICSE)","DOI":"10.1145\/3377811.3380345"},{"key":"9942_CR26","doi-asserted-by":"crossref","unstructured":"Long F, Rinard M (2016) Automatic patch generation by learning correct code. In: Proceedings of the 43rd annual ACM SIGPLAN-SIGACT symposium on principles of programming languages, pp 298\u2013312","DOI":"10.1145\/2837614.2837617"},{"key":"9942_CR27","unstructured":"Loshchilov I, Hutter F (2016) Sgdr: Stochastic gradient descent with warm restarts. arXiv:160803983"},{"key":"9942_CR28","doi-asserted-by":"crossref","unstructured":"Lutellier T, Pham HV, Pang L, Li Y, Wei M, Tan L (2020) Coconut: combining context-aware neural translation models using ensemble for program repair. In: Proceedings of the 29th ACM SIGSOFT international symposium on software testing and analysis, pp 101\u2013114","DOI":"10.1145\/3395363.3397369"},{"key":"9942_CR29","doi-asserted-by":"crossref","unstructured":"Malik RS, Patra J, Pradel M (2019) Nl2type: inferring javascript function types from natural language information. In: Proceedings of the 41st international conference on software engineering. IEEE Press, pp 304\u2013315","DOI":"10.1109\/ICSE.2019.00045"},{"key":"9942_CR30","doi-asserted-by":"crossref","unstructured":"McCracken M, Almstrum V, Diaz D, Guzdial M, Hagan D, Kolikant YBD, Laxer C, Thomas L, Utting I, Wilusz T (2001) A multi-national, multi-institutional study of assessment of programming skills of first-year cs students. In: Working group reports from ITiCSE on innovation and technology in computer science education. ACM, pp 125\u2013180","DOI":"10.1145\/572133.572137"},{"key":"9942_CR31","doi-asserted-by":"crossref","unstructured":"Mesbah A, Rice A, Johnston E, Glorioso N, Aftandilian E (2019) Deepdelta: learning to repair compilation errors","DOI":"10.1145\/3338906.3340455"},{"key":"9942_CR32","doi-asserted-by":"crossref","unstructured":"Moonen L (2001) Generating robust parsers using island grammars. In: Proceedings eighth working conference on reverse engineering. IEEE, pp 13\u201322","DOI":"10.1109\/WCRE.2001.957806"},{"key":"9942_CR33","doi-asserted-by":"crossref","unstructured":"Nasehi SM, Sillito J, Maurer F, Burns C (2012) What makes a good code example?: A study of programming q&a in stackoverflow. In: 2012 28th IEEE international conference on software maintenance (ICSM). IEEE, pp 25\u201334","DOI":"10.1109\/ICSM.2012.6405249"},{"key":"9942_CR34","doi-asserted-by":"crossref","unstructured":"Ponzanelli L, Bavota G, Di Penta M, Oliveto R, Lanza M (2014) Mining stackoverflow to turn the ide into a self-confident programming prompter. In: Proceedings of the 11th working conference on mining software repositories. ACM, pp 102\u2013111","DOI":"10.1145\/2597073.2597077"},{"issue":"OOPSLA","key":"9942_CR35","doi-asserted-by":"publisher","first-page":"1","DOI":"10.1145\/3276517","volume":"2","author":"M Pradel","year":"2018","unstructured":"Pradel M, Sen K (2018) Deepbugs: a learning approach to name-based bug detection. Proc ACM Prog Lang 2 (OOPSLA):1\u201325","journal-title":"Proc ACM Prog Lang"},{"key":"9942_CR36","doi-asserted-by":"publisher","first-page":"81","DOI":"10.1016\/j.infsof.2016.01.011","volume":"73","author":"D Qiu","year":"2016","unstructured":"Qiu D, Li B, Leung H (2016) Understanding the API usage in java. Inf Softw Technol 73:81\u2013100","journal-title":"Inf Softw Technol"},{"key":"9942_CR37","doi-asserted-by":"crossref","unstructured":"Raychev V, Vechev M, Krause A (2015) Predicting program properties from big code. In: ACM SIGPLAN notices, vol 50. ACM, pp 111\u2013124","DOI":"10.1145\/2775051.2677009"},{"key":"9942_CR38","unstructured":"Rigby PC, Robillard MP (2013) Discovering essential code elements in informal documentation. In: 013 35th international conference on software engineering (ICSE). IEEE, pp 832\u2013841"},{"key":"9942_CR39","doi-asserted-by":"crossref","unstructured":"Rountev A, Ryder BG, Landi W (1999) Data-flow analysis of program fragments. In: Software engineering? ESEC\/FSE?99. Springer, pp 235\u2013252","DOI":"10.1007\/3-540-48166-4_15"},{"key":"9942_CR40","doi-asserted-by":"crossref","unstructured":"Santos EA, Campbell JC, Patel D, Hindle A, Amaral JN (2018) Syntax and sensibility: Using language models to detect and correct syntax errors. In: 2018 IEEE 25th international conference on software analysis, evolution and reengineering (SANER). IEEE, pp 311\u2013322","DOI":"10.1109\/SANER.2018.8330219"},{"key":"9942_CR41","unstructured":"Synytskyy N, Cordy JR, Dean TR (2003) Robust multilingual parsing using island grammars. In: Proceedings of the 2003 conference of the centre for advanced studies on collaborative research. IBM Press, pp 266\u2013278"},{"key":"9942_CR42","doi-asserted-by":"crossref","unstructured":"Thummalapenta S, Xie T (2007) Parseweb: a programmer assistant for reusing open source code on the web. In: Proceedings of the twenty-second IEEE\/ACM international conference on automated software engineering. ACM, pp 204\u2013213","DOI":"10.1145\/1321631.1321663"},{"key":"9942_CR43","doi-asserted-by":"crossref","unstructured":"Tufano M, Pantiuchina J, Watson C, Bavota G, Poshyvanyk D (2019) On learning meaningful code changes via neural machine translation. In: Proceedings of the 41st international conference on software engineering. IEEE Press, pp 25\u201336","DOI":"10.1109\/ICSE.2019.00021"},{"key":"9942_CR44","doi-asserted-by":"crossref","unstructured":"Van Deursen A, Kuipers T (1999) Building documentation generators. In: Proceedings IEEE international conference on software maintenance-1999 (ICSM\u201999).\u2019Software Maintenance for Business Change\u2019(Cat. No. 99CB36360). IEEE, pp 40\u201349","DOI":"10.1109\/ICSM.1999.792497"},{"key":"9942_CR45","unstructured":"Vaswani A, Shazeer N, Parmar N, Uszkoreit J, Jones L, Gomez AN, Kaiser \u0141, Polosukhin I (2017) Attention is all you need. In: Advances in neural information processing systems, pp 5998\u20136008"},{"key":"9942_CR46","unstructured":"Vinyals O, Kaiser \u0141, Koo T, Petrov S, Sutskever I, Hinton G (2015) Grammar as a foreign language. In: Advances in neural information processing systems, pp 2773\u20132781"},{"issue":"4","key":"9942_CR47","doi-asserted-by":"publisher","first-page":"481","DOI":"10.1145\/3296979.3192384","volume":"53","author":"K Wang","year":"2018","unstructured":"Wang K, Singh R, Su Z (2018) Search, align, and repair: Data-driven feedback generation for introductory programming exercises. SIGPLAN Not 53 (4):481\u2013495. https:\/\/doi.org\/10.1145\/3296979.3192384","journal-title":"SIGPLAN Not"},{"key":"9942_CR48","doi-asserted-by":"crossref","unstructured":"White M, Tufano M, Martinez M, Monperrus M, Poshyvanyk D (2019) Sorting and transforming program repair ingredients via deep learning code similarities, IEEE","DOI":"10.1109\/SANER.2019.8668043"}],"container-title":["Empirical Software Engineering"],"original-title":[],"language":"en","link":[{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-021-09942-y.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/article\/10.1007\/s10664-021-09942-y\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"http:\/\/link.springer.com\/content\/pdf\/10.1007\/s10664-021-09942-y.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,12,20]],"date-time":"2022-12-20T06:46:17Z","timestamp":1671518777000},"score":1,"resource":{"primary":{"URL":"http:\/\/link.springer.com\/10.1007\/s10664-021-09942-y"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2021,3]]},"references-count":48,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2021,3]]}},"alternative-id":["9942"],"URL":"https:\/\/doi.org\/10.1007\/s10664-021-09942-y","relation":{},"ISSN":["1382-3256","1573-7616"],"issn-type":[{"value":"1382-3256","type":"print"},{"value":"1573-7616","type":"electronic"}],"subject":[],"published":{"date-parts":[[2021,3]]},"assertion":[{"value":"15 January 2021","order":1,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"5 March 2021","order":2,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}],"article-number":"29"}}