The DOI matches its Crossref record; 188 of the 188 references it cites were found in a registry or an index.
A Survey of Machine Learning for Big Code and Naturalness
Open accessAbstract
Research at the intersection of machine learning, programming languages, and software engineering has recently taken important steps in proposing learnable probabilistic models of source code that exploit the abundance of patterns of code. In this article, we survey this work. We contrast programming languages against natural languages and discuss how these similarities and differences drive the design of probabilistic models. We present a taxonomy based on the underlying design principles of each model and use it to navigate the literature. Then, we review how researchers have adapted these models to application areas and discuss cross-cutting and application-specific challenges and opportunities.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Hochreiter, S., & Schmidhuber, J. (1997) · Neural Computation · doi:10.1162/neco.1997.9.8.1735 · Cited by 102,318
Efficient Estimation of Word Representations in Vector Space
Mikolov, T., Chen, K., Corrado, G., & Dean, J. (2013) · arXiv · doi:10.48550/arxiv.1301.3781 · Cited by 26,568
Data Mining: Practical Machine Learning Tools and Techniques
Witten, I. H., Frank, E., & Hall, M. A. (2011) · Elsevier eBooks · doi:10.1016/c2009-0-19715-5 · Cited by 25,543
BLEU: a method for automatic evaluation of machine translation
Papineni, K., Roukos, S., Ward, T., & Zhu, W.-J. (2001) · Proceedings of the 40th Annual Meeting on Association for Computational Linguistics - ACL '02 · doi:10.3115/1073083.1073135 · Cited by 21,344
Sequence to Sequence Learning with Neural Networks
Sutskever, I., Vinyals, O., & Le, Q. V. (2014) · arXiv · doi:10.48550/arxiv.1409.3215 · Cited by 17,766
Chandola, V., Banerjee, A., & Kumar, V. (2009) · ACM Computing Surveys · doi:10.1145/1541880.1541882 · Cited by 11,687
(2016) · Cited by 11,679
Distributed Representations of Sentences and DocumentsPreprint
Le, Q. V., & Mikolov, T. (2014) · arXiv (Cornell University) · doi:10.48550/arxiv.1405.4053 · Cited by 7,905
On the Properties of Neural Machine Translation: Encoder–Decoder Approaches
Cho, K., van Merriënboer, B., Bahdanau, D., & Bengio, Y. (2014) · SSST@EMNLP · doi:10.3115/v1/w14-4012 · Cited by 7,251
Blei, D. M. (2012) · Communications of the ACM · doi:10.1145/2133806.2133826 · Cited by 5,516
Research works printed but not linked: 68
- Alemi Alex A., 2016, Proceedings of the Annual Conference on Neural Information Processing Systems (NIPS’16)
- Allamanis Miltiadis, 2018, Proceedings of the International Conference on Learning Representations (ICLR’18)
- Allamanis Miltiadis, 2017, Proceedings of the International Conference on Machine Learning (ICML’17)
- Allamanis Miltiadis, 2016, Proceedings of the International Conference on Machine Learning (ICML’16)
- 10.5555/2487085.2487127 · DOI
- Allamanis Miltiadis, 2015, Proceedings of the International Conference on Machine Learning (ICML’15)
- Bahdanau Dzmitry, 2015, Proceedings of the International Conference on Learning Representations (ICLR’15)
- Balog Matej, 2017, Proceedings of the International Conference on Learning Representations (ICLR’17)
- Miceli Barone Antonio Valerio, 2017, Proceedings of the Eighth International Joint Conference on Natural Language Processing (Volume 2: Short Papers) 2
- Bhatia Sahil, 2018, Proceedings of the International Conference on Software Engineering (ICSE’18)
- Bielik Pavol, 2015, Proceedings of the LIPIcs-Leibniz International Proceedings in Informatics.
- Bielik Pavol, 2016, Proceedings of the International Conference on Machine Learning (ICML’16)
- Raymond P., Proceedings of the International Conference on Software Engineering (ICSE’12)
- Deng Yuntian, Proceedings of the International Conference on Machine Learning (ICML’17)
- 10.5555/2819009.2819097 · DOI
- Devlin Jacob, 2017, Proceedings of the International Conference on Machine Learning (ICML’17)
- Dyer Robert, Proceedings of the International Conference on Software Engineering (ICSE’13)
- Ellis Kevin, 2017, Tenenbaum
- Ernst Michael D., 2017, Proceedings of the LIPIcs-Leibniz International Proceedings in Informatics.
- Feser John K., 2017, InProceedings of the International Conference on Learning Representations (ICLR’17)
- Foundation Eclipse, 2017, Retrieved
- 10.5555/2819009.2819143 · DOI
- Goodfellow Ian, Deep Learning
- Gordon Andrew D., Proceedings of the International Conference on Software Engineering (ICSE’14)
- Gotel Orlena, 2012, Andrea Zisman, Alexander Egyed, Paul Grünbacher, Alex Dekhtyar, Giuliano Antoniol, Jonathan Maletic, and Patrick Mäder.
- Gupta Rahul, 2017, Proceedings of the Conference of Artificial Intelligence (AAAI’17)
- 10.5555/2820518.2820539 · DOI
- Hinton G. E., Parallel Distributed Processing: Explorations in the Microstructure of Cognition, 1
- 10.5555/3155562.3155583 · DOI
- Johnson Daniel D., 2016, Proceedings of the International Conference on Learning Representations (ICLR’16)
- Dan Jurafsky. 2000. Speech 8 Language Processing (3rd. ed.). Pearson Education. Dan Jurafsky. 2000. Speech 8 Language Processing (3rd. ed.). Pearson Education.
- Koschke Rainer, 2007, Dagstuhl Seminar Proceedings. Schloss Dagstuhl-Leibniz-Zentrum für Informatik.
- Kremenek Ted, Proceedings of the International Joint Conference on Artifical intelligence (IJCAI’07)
- Kushman Nate, 2013, Proceedings of Annual Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies (NAACL-HLT’13)
- Quoc, Proceedings of the International Conference on Machine Learning (ICML’14)
- Levy Dor, 2017, Proceedings of the International Conference on Machine Learning (ICML’17)
- Li Yujia, 2016, Proceedings of the International Conference on Learning Representations (ICLR’16)
- Liang Percy, 2010, Proceedings of the International Conference on Machine Learning (ICML’10)
- Lin Xi Victoria, Proceedings of the International Conference on Language Resources and Evaluation.
- Loos Sarah M., 2017, Proceedings of the International Conference on Logic for Programming Artificial Intelligence and Reasoning (LPAR’17)
- Maddison Chris, 2014, Proceedings of the International Conference on Machine Learning (ICML’14)
- Menon Aditya, 2013, Proceedings of the International Conference on Machine Learning (ICML’13)
- Mens Kim, Recommendation Systems in Software Engineering
- Mou Lili, 2016, Proceedings of the Conference of Artificial Intelligence (AAAI’16)
- Movshovitz-Attias Dana, Proceedings of the Annual Meeting of the Association for Computational Linguistics (ACL’13)
- Movshovitz-Attias Dana, 2015, Cohen
- Murali Vijayaraghavan, 2018, Proceedings of the International Conference on Learning Representations (ICLR).
- Neelakantan Arvind, 2015, Proceedings of the International Conference on Learning Representations (ICLR’15)
- Nguyen Anh Tuan, Proceedings of the International Conference on Software Engineering (ICSE’15)
- Nguyen Anh Tuan, Proceedings of the International Symposium on Foundations of Software Engineering (FSE’13)
- Nguyen Anh T., Proceedings of the International Conference on Automated Software Engineering (ASE’15)
- Nguyen Trong Duc, Proceedings of the International Conference on Software Engineering (ICSE’16)
- Nguyen Trong Duc, Proceedings of the International Conference on Software Engineering (ICSE’17)
- Nguyen Tung Thanh, Proceedings of the Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering (ESEC/FSE’13)
- Omar Cyrus, 2017, Jonathan Aldrich, and Matthew A. Hammer.
- Parisotto Emilio, 2017, Proceedings of the International Conference on Learning Representations (ICLR’17)
- Pham Hung Viet, 2016, Proceedings of the International Conference on Software Engineering (ICSE’16)
- Piech Chris, Proceedings of the International Conference on Machine Learning (ICML’15)
- 10.5555/1667583.1667599 · DOI
- Reed Scott, 2016, Proceedings of the International Conference on Learning Representations (ICLR’16)
- Riedel Sebastian, 2017, Proceedings of the International Conference on Machine Learning (ICML’17)
- Rocktäschel Tim, 2017, Proceedings of the Annual Conference on Neural Information Processing Systems (NIPS’17)
- 10.18653/v1/P16-1162 · DOI · Paper page
- Sutskever Ilya, Proceedings of the Annual Conference on Neural Information Processing Systems (NIPS’14)
- Xin Wang Chang Liu Richard Shin Joseph E. Gonzalez and Dawn Song. 2016. Neural Code Completion. Retrieved from https://openreview.net/pdf?id=rJbPBt9lg. Xin Wang Chang Liu Richard Shin Joseph E. Gonzalez and Dawn Song. 2016. Neural Code Completion. Retrieved from https://openreview.net/pdf?id=rJbPBt9lg.
- 10.5555/2820518.2820559 · DOI
- Witten Ian H., 2016, Pal
- Zheng Alice X., 2003, Proceedings of the Annual Conference on Neural Information Processing Systems (NIPS’03)
Cited by
Sorted by citations
Items 101–161 of 161
Study of Distractors in Neural Models of Code
Rabin, M. R. I., Hussain, A., Suneja, S., & Alipour, M. A. (2023) · doi:10.1109/intense59150.2023.00005 · Cited by 3
METHOD FOR SEMANTICALLY CORRECT CODE GENERATION FOR FUZZING TESTING JAVASCRIPT ENGINES
(2023) · Voprosy kiberbezopasnosti · doi:10.21681/2311-3456-2023-5-80-88 · Cited by 2
FeatureExtractor: A tool for extracting key input features of code intelligence models
Rabin, M. R. I., & Alipour, M. A. (2022) · Software Impacts · doi:10.1016/j.simpa.2022.100432 · Cited by 2
Exploring Neural Dynamics in Source Code Processing Domain
Saletta, M., & Ferretti, C. (2023) · Information · doi:10.3390/info14040251 · Cited by 1
BERT-Based Code Learning for Exception Localization and Type Prediction
Zhang, C., Tao, Q., Chen, L., & Zhang, M. (2025) · Proceedings of the AAAI Conference on Artificial Intelligence · doi:10.1609/aaai.v39i1.32090 · Cited by 1
Data-Driven Application Engineering: A Fusion of Analytics & Development
(2025) · Journal of Computational Analysis and Applications · doi:10.48047/jocaaa.2023.31.4.22 · Cited by 1
Searching for missing library function calls using machine learning
Yakimov, I. A., & Кузнецов, А. С. (2017) · Proceedings of the Institute for System Programming of RAS · doi:10.15514/ispras-2017-29(6)-6 · Cited by 1
A Novel Code Completion Strategy
Oumarou, H., & Dahirou, O. (2022) · International Journal of Advanced Computer Science and Applications · doi:10.14569/ijacsa.2022.0130598 · Cited by 1
Towards Utilizing Natural Language Processing Techniques to Assist in Software Engineering Tasks
Ding, Z. (2023) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1109/icse-companion58688.2023.00077 · Cited by 1
Associating Natural Language Comment and Source Code Entities
Panthaplackel, S., Gligoric, M., Mooney, R. J., & Li, J. J. (2020) · Proceedings of the AAAI Conference on Artificial Intelligence · doi:10.1609/aaai.v34i05.6382 · Cited by 2
Rasel, H., Didar, A. B. S., Dinar, A. A. M., Fahad, F. I., Khan, M. A., & Biplob, M. B. (2025) · Preprints.org · doi:10.20944/preprints202507.1600.v1
Post-Incorporating Code Structural Knowledge Into Pretrained Models via ICL for Code Translation
Du, Y., Sun, H., & Li, M. (2025) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2025.3605768
Referee: A Pattern-Guided Approach for Auto Design in Compiler-Based Analyzers
Lv, F., Li, H., Wang, L., Liu, Y., Cui, H., Xue, J., & Feng, X. (2020) · IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER) · doi:10.1109/saner48275.2020.9054849
Featherweight assisted vulnerability discovery
Binkley, D., Moonen, L., & Isaacman, S. (2022) · Information and Software Technology · doi:10.1016/j.infsof.2022.106844
Enabling Automatic Repair of Source Code Vulnerabilities Using Data-Driven Methods
Grishina, A. (2022) · ACM/IEEE International Conference on Software Engineering: Companion Proceedings (ICSE-Companion) · doi:10.1145/3510454.3517063 · Cited by 7
Graphevo Dataset: Network Portrait Divergence Based Defect Dataset and its AssessmentPreprint
Walunj, V., Gharibi, G., Alanazi, R. K. M., & Lee, Y. (2022) · SSRN Electronic Journal · doi:10.2139/ssrn.4176728
Peer Review #3 of "Code4ML: a large-scale dataset of annotated Machine Learning code (v0.1)"
(2023) · PeerJ Computer Science · doi:10.7287/peerj-cs.1230v0.1/reviews/3
Peer Review #2 of "Code4ML: a large-scale dataset of annotated Machine Learning code (v0.1)"
(2023) · PeerJ Computer Science · doi:10.7287/peerj-cs.1230v0.1/reviews/2
Peer Review #1 of "Code4ML: a large-scale dataset of annotated Machine Learning code (v0.1)"
(2023) · PeerJ Computer Science · doi:10.7287/peerj-cs.1230v0.1/reviews/1
On the Effectiveness of Hybrid Pooling in Mixup-Based Graph Learning for Language ProcessingPreprint
Dong, Z., Hu, Q., Zhang, Z., Guo, Y., Cordy, M., Papadakis, M., Traon, Y. L., & Zhao, J. (2023) · SSRN Electronic Journal · doi:10.2139/ssrn.4493642
Machine Learning-Powered Identification of Source Code Vulnerabilities
Borse, P., Gangurde, R., Joshi, C., & Kapade, P. N. V. (2023) · International Journal of Advanced Research in Science Communication and Technology · doi:10.48175/ijarsct-13185
Using natural language processing techniques for automated code refactoring
Barzilay, A. (2023) · Digital Library of Theses and Dissertations (Universidade de São Paulo) · doi:10.11606/d.45.2023.tde-18012024-163530
Bekmurzaev, E., & Orozakhunov, Z. (2025) · Preprints.org · doi:10.20944/preprints202504.2559.v1
AI-Powered Code Review Enhancing Software Quality with Intelligent Agents
Konda, R. (2023) · International Journal of Leading Research Publication. · doi:10.70528/ijlrp.v4.i3.1541
Kadar, M. A. (2022) · World Journal of Advanced Engineering Technology and Sciences · doi:10.30574/wjaets.2022.5.1.0031
From Code to Consciousness: Leveraging AI in Software DevelopmentPreprint
Madupati, B., & Vududala, S. K. (2025) · SSRN Electronic Journal · doi:10.2139/ssrn.5351278
Asgari, A., Olsthoorn, M., & Panichella, A. (2026) · Proceedings of the ACM on software engineering. · doi:10.1145/3832236
Deep Learning-Based Code Intelligence: A Survey and Practical Analysis
Li, X. (2026) · International Conference on Software Engineering and Computer Applications · doi:10.1145/3829641.3829677
Manikandan, G., Jeevan, A. N. G., Vijayalakshmi, P., Devendran, A., & Singh, Y. (2026) · Engineering Applications of Artificial Intelligence · doi:10.1016/j.engappai.2026.116205
Benita, J., Kumar, S., Pranitha, V. U., Pavani., P., & Shri, R. S. (2026) · Lecture notes in networks and systems · doi:10.1007/978-3-032-25087-2_9
CppUp-AI: Validated LLM-Assisted Migration of Legacy C++ Code to Newer Language StandardsPreprint
Świniarski, A., & Derezińska, A. (2026) · SSRN Electronic Journal · doi:10.2139/ssrn.7506902
Generative vs. Discriminative? An Empirical Study on Code Understanding Classification Tasks
Liu, Y., Ma, Y., Wang, R., & Huang, R. (2026) · IEEE Transactions on Reliability · doi:10.1109/tr.2026.3734269
Shymkovych, V., & Hryshyn, O. (2026) · International Journal of Data Science and Analytics · doi:10.1007/s41060-026-01304-5
A Model of Software Code Quality Analysis, Assessment, and Improvement System
ПРОКОФ'ЄВ, І., & Савенко, О. (2026) · International Conference on Advanced Computer Information Technologies (ACIT) · doi:10.1109/acit69831.2026.11700050
Головко, І. Г., & Савенко, О. (2026) · Науковий вісник НЛТУ України · doi:10.36930/40360414
Zhang, Y., Le, M. T., Angel, A. T. R., & Rahim, M. A. B. U. (2026) · Communications in computer and information science · doi:10.1007/978-3-032-39763-8_41
Phung, T.-N., & Nguyen, V. T. (2026) · Information and Software Technology · doi:10.1016/j.infsof.2026.108363
Nakonechny, A., & Vyhrynovskyi, M.-M. (2026) · Measuring Equipment and Metrology · doi:10.23939/istcmtm2026.03.172
Structure-Gated Semantic Fusion for Reliable Microservice DecompositionPreprint
HASSAN, A. A., & Li, W. (2026) · SSRN Electronic Journal · doi:10.2139/ssrn.7584708
When Comments Mislead: An Empirical Study of Outdated Comments in LLM-Based Code Completion
Xia, Z., Huang, Y., Chen, X., & Zheng, Z. (2026) · IEEE/ACM International Conference on Automated Software Engineering (ASE) · doi:10.1145/3832783.3834359
Müller, D. L., Fialho, M. L., Rodrigues, E. D. M., & Bernardino, M. (2026) · Simpósio Brasileiro de Testes de Software Sistemático e Automatizado (SAST) · doi:10.5753/sast.2026.31222
A Survey of Code-to-Code Translation: From Statistical Rule-Based Systems to LLM Agents
Zhang, Z., Wen, S., Yan, Z., Zhu, B., Shen, C., & Guo, H. (2026) · Algorithms · doi:10.3390/a19100857
Rangari, A. J., Mishra, L. N., & Senapati, B. (2026) · Technologies · doi:10.3390/technologies14100657
Integrating Structural and Semantic Analysis for Code Smell Refactoring PredictionPreprint
Lanza, A., Bochicchio, M., & Fontana, F. A. (2026) · Research Square · doi:10.21203/rs.3.rs-11220560/v1
StackLoc: A CodeBERT-BiLSTM framework for stack overflow vulnerability detection and localization
Zhai, J., Qi, Z., Miao, H., Xu, T., & Yang, H. (2026) · Software Quality Journal · doi:10.1007/s11219-026-09791-2
Hierarchical Code Abstraction via Unified GraphRAG on Multi-Grained Graphs
Bao, Z., Ding, W., Wang, J., Zhang, Y., Yang, Z., Sun, Z., & Cichocki, A. S. (2026) · International Joint Conference on Neural Networks (IJCNN) · doi:10.1109/ijcnn69854.2026.11729626
Khandelwal, S. K. (2026) · SSRN Electronic Journal · doi:10.2139/ssrn.7634288
A Critical Review of Cognitive Complexity Metrics and Tools: Gaps and Opportunities for ERP Systems
Wijesinghe, S. W. (2026) · Lecture notes in networks and systems · doi:10.1007/978-3-032-34621-6_32
Shaikh, F. N., & Kakade, R. K. (2026) · International Journal of Innovations in Science Engineering and Management. · doi:10.69968/ijisem.2026v5i4206-213
Usman, U. B., Umar, M. K., Agaie, A. I., & Umar, M. (2026) · Sakarya University Journal of Computer and Information Sciences · doi:10.35377/saucis...1810546
X‐GNN for Interpretable Class‐Level Software Defect Prediction: An Empirical Study on Defects4J
Saqib, M., Haq, I., Shah, I. A., Abrar, M. F., Nadeem, M. F., & Jan, S. (2026) · Journal of Software Evolution and Process · doi:10.1002/smr.70177
Tree-to-tree neural networks for program translation
Chen, X., Liu, C., & Song, D. (2018) · arXiv · doi:10.48550/arxiv.1802.03691 · Cited by 157
CodeSearchNet Challenge: Evaluating the State of Semantic Code Search
Husain, H., Wu, H.-H., Gazit, T., Allamanis, M., & Brockschmidt, M. (2019) · arXiv · doi:10.48550/arxiv.1909.09436 · Cited by 483
Self-citation
Metadata
- Authors
- Allamanis, M., Barr, E. T., Devanbu, P., & Sutton, C.
- Affiliations
- Microsoft Research (United Kingdom) (GB)
- University College London (GB)
- University of California, Davis, California, USA
- The Alan Turing Institute (GB)
- Venue
- ACM Computing Surveys
- Published
- 2018-07-31
- Volume
- 51
- Issue
- 4
- Pages
- 1-37
- ISSN
- 0360-0300 (ISSN-L)
- 1557-7341
- OpenAlex
- W2754629507
- Cited by
- 150
- References
- 186
- Citations by year
- 2026: 27 · 2025: 11 · 2024: 7 · 2023: 33 · 2022: 19 · 2021: 19 · 2020: 10 · 2019: 15 · 2018: 8
- FWCI
- 20.98
- Type
- journal article
- Language
- en
- Open access
- bronze
- doi.org
- Locations
- ACM Computing Surveys (publishedVersion)
- arXiv (Cornell University) (submittedVersion)
- UCL Discovery (University College London) (submittedVersion)
- Edinburgh Research Explorer (University of Edinburgh) (submittedVersion, other-oa)
- arXiv (Cornell University)
- Funders
- Engineering and Physical Sciences Research Council (EP/K024043/1, EP/P005659/1, and EP/P005314/1)
- National Science Foundation (1414172)
- Topics
- Physical Sciences › Computer Science › Information Systems › Software Engineering Research
- Physical Sciences › Computer Science › Software › Logic, programming, and type systems
- Physical Sciences › Computer Science › Artificial Intelligence › Natural Language Processing Techniques
- Keywords
- probabilistic programming languages, naturalness, software engineering applications
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review