The DOI matches its Crossref record; 11 of the 11 references it cites were found in a registry or an index.
A Neural Model for Generating Natural Language Summaries of Program Subroutines
Open accessAbstract
Source code summarization -- creating natural language descriptions of source code behavior -- is a rapidly-growing research topic with applications to automatic documentation generation, program comprehension, and software maintenance. Traditional techniques relied on heuristics and templates built manually by human experts. Recently, data-driven approaches based on neural machine translation have largely overtaken template-based systems. But nearly all of these techniques rely almost entirely on programs having good internal documentation; without clear identifier names, the models fail to create good summaries. In this paper, we present a neural model that combines words from code with code structure from an AST. Unlike previous approaches, our model processes each data source as a separate input, which allows the model to learn code structure independent of the text in code. This process helps our approach provide coherent summaries in many cases even when zero internal documentation is provided. We evaluate our technique with a dataset we created from 2.1m Java methods. We find improvement over two baseline techniques from SE literature and one from NLP literature.
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
LeCun, Y., Bengio, Y., & Hinton, G. (2015) · Nature · doi:10.1038/nature14539 · Cited by 84,126
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
Effective Approaches to Attention-based Neural Machine Translation
Luong, T., Pham, H., & Manning, C. D. (2015) · Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing · doi:10.18653/v1/d15-1166 · Cited by 8,382
Show and tell: A neural image caption generator
Vinyals, O., Toshev, A., Bengio, S., & Erhan, D. (2015) · 2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR) · doi:10.1109/cvpr.2015.7298935 · Cited by 6,318
Towards automatically generating summary comments for Java methods
Sridhara, G., Hill, E., Muppaneni, D., Pollock, L., & Vijay-Shanker, K. (2010) · Proceedings of the IEEE/ACM international conference on Automated software engineering · doi:10.1145/1858996.1859006 · Cited by 514
Are deep neural networks the best choice for modeling source code?
Hellendoorn, V. J., & Devanbu, P. (2017) · Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering · doi:10.1145/3106237.3106290 · Cited by 292
Supporting program comprehension with source code summarization
Haiduc, S., Aponte, J., & Marcus, A. (2010) · Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2 · doi:10.1145/1810295.1810335 · Cited by 291
The relevance of software documentation, tools and technologies: a survey
Forward, A., & Lethbridge, T. C. (2002) · Proceedings of the 2002 ACM symposium on Document engineering · doi:10.1145/585058.585065 · Cited by 268
Learning to mine aligned code and natural language pairs from stack overflow
Yin, P., Deng, B., Chen, E., Vasilescu, B., & Neubig, G. (2018) · Proceedings of the 15th International Conference on Mining Software Repositories · doi:10.1145/3196398.3196408 · Cited by 218 · cited 1×
“[21], Movshovitz et al.”
A Survey of Machine Learning for Big Code and Naturalness
Allamanis, M., Barr, E. T., Devanbu, P., & Sutton, C. (2019) · ACM Computing Surveys · doi:10.1145/3212695 · Cited by 150
Research works printed but not linked: 49
- 10.1007/s11390-016-1671-1 · DOI
- sutskever, 2011, Generating text with recurrent neural networks, Proceedings of the 28th International Conference on Machine Learning (ICML-11), 1017
- 10.1145/3180155.3180167 · DOI · Paper page
- barone, 2017, A parallel corpus of python functions and documentation strings for automated code documentation and code generation, ArXiv Preprint
- allamanis, 2015, Bimodal modelling of source code and natural language, International Conference on Machine Learning, 2123
- movshovitz-attias, 2013, Natural language models for predicting programming comments, Proceedings of the 51st Annual Meeting of the Association for Computational Linguistics (Volume 2 Short Papers), 2, 35
- 10.1145/1985793.1985808 · DOI · Paper page
- bahdanau, 2014, Neural machine translation by jointly learning to align and translate, ArXiv Preprint
- 10.1145/3178876.3186081 · DOI
- garmash, 2016, Ensemble learning for multi-source neural machine translation, Proceedings of COLING 2016 the 26th International Conference on Computational Linguistics Technical Papers, 1409
- 10.24963/ijcai.2018/314 · DOI · Paper page
- 10.1145/3172871.3172891 · DOI
- 10.1145/318372.318577 · DOI
- 10.1109/TSE.2015.2465386 · DOI
- 10.1109/ASE.2017.8115626 · DOI · Paper page
- 10.1145/3196321.3196334 · DOI · Paper page
- lopes, 2010, UCI Source Code Data Sets
- cohen, 2018, Workshop on nlp for software engineering
- 10.18653/v1/W17-3516 · DOI
- 10.1109/ICSE.2003.1201194 · DOI · Paper page
- 10.1145/1985793.1985809 · DOI · Paper page
- grnroos, 2018, Opennmt ensemble decoding
- chin yee lee, 2018, Nltk translate bleu score calculator v3 3
- louis, 2018, Deep learning to detect redundant method comments, CoRR, abs 1806 4616
- 10.1109/ICST.2012.106 · DOI
- 10.1109/SCAM.2011.19 · DOI
- 10.1109/IWESEP.2016.18 · DOI
- 10.1109/ICSE.2009.5070524 · DOI
- 10.1109/WCRE.2010.13 · DOI · Paper page
- 10.1109/ICSM.2011.6080777 · DOI
- 10.1109/ICPC.2013.6613830 · DOI · Paper page
- 10.1109/TSE.2015.2442238 · DOI
- 10.1109/ASE.2015.36 · DOI
- allamanis, 2016, A convolutional attention network for extreme summarization of source code, International Conference on Machine Learning, 2091
- 10.18653/v1/P16-1195 · DOI · Paper page
- 10.1016/0164-1212(87)90032-X · DOI · Paper page
- 10.1109/2.402076 · DOI · Paper page
- maletic, 2001, Supporting program comprehension using semantic and structural information, Proceedings of the 23rd International Conference on Software Engineering, 103
- 10.1109/TSE.2009.28 · DOI · Paper page
- van heesch, 2018, Doxygen website
- mao, 2014, Deep captioning with multimodal recurrent neural networks (m-rnn), ArXiv Preprint
- 10.1109/ICPC.2013.6613829 · DOI · Paper page
- chen, 2015, Abc-cnn: An attention based convolutional neural network for visual question answering, ArXiv Preprint
- 10.1162/tacl_a_00065 · DOI · Paper page
- 10.1109/CVPR.2016.494 · DOI · Paper page
- 10.1109/CVPR.2016.10 · DOI · Paper page
- sutskever, 2014, Sequence to sequence learning with neural networks, Advances in neural information processing systems, 3104
- vaswani, 2017, Attention is all you need, Advances in neural information processing systems, 5998
- goodfellow, 2016, Deep Learning, 1
Cited by
Retrieval-based neural source code summarization
Zhang, J., Wang, X., Zhang, H., Sun, H., & Liu, X. (2020) · Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering · doi:10.1145/3377811.3380383 · Cited by 275
Retrieval Augmented Code Generation and Summarization
Parvez, M. R., Ahmad, W., Chakraborty, S., Ray, B., & Chang, K.-W. (2021) · Findings of the Association for Computational Linguistics: EMNLP 2021 · doi:10.18653/v1/2021.findings-emnlp.232 · Cited by 141
A Systematic Literature Review on the Use of Deep Learning in Software Engineering Research
Watson, C., Cooper, N., Palacio, D. N., Moran, K., & Poshyvanyk, D. (2022) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3485275 · Cited by 137
Semantic similarity metrics for evaluating source code summarization
Haque, S., Eberhart, Z., Bansal, A., & McMillan, C. (2022) · Proceedings of the 30th IEEE/ACM International Conference on Program Comprehension · doi:10.1145/3524610.3527909 · Cited by 116
Self-citationReassessing automatic evaluation metrics for code summarization tasks
Roy, D., Fakhoury, S., & Arnaoudova, V. (2021) · Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3468264.3468588 · Cited by 106
Automatic Semantic Augmentation of Language Model Prompts (for Code Summarization)
Ahmed, T., Pai, K. S., Devanbu, P., & Barr, E. (2024) · Proceedings of the IEEE/ACM 46th International Conference on Software Engineering · doi:10.1145/3597503.3639183 · Cited by 112
“Several models such as Polycoder [67] and Codegen [49] perform reasonably well, and due to their few-shot learning or prompting, they can be applied to a wide set of problems.”
MethodCCT5: A Code-Change-Oriented Pre-trained Model
Lin, B., Wang, S., Liu, Z., Liu, Y., Xia, X., & Mao, X. (2023) · Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering · doi:10.1145/3611643.3616339 · Cited by 69
Retrieve and refine: exemplar-based neural comment generation
Wei, B., Li, Y., Li, G., Xia, X., & Jin, Z. (2020) · Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering · doi:10.1145/3324884.3416578 · Cited by 69
Automating just-in-time comment updating
Liu, Z., Xia, X., Yan, M., & Li, S. (2020) · Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering · doi:10.1145/3324884.3416581 · Cited by 56
Multilingual training for software engineering
Ahmed, T., & Devanbu, P. (2022) · Proceedings of the 44th International Conference on Software Engineering · doi:10.1145/3510003.3510049 · Cited by 57
Distilled GPT for source code summarization
Su, C.-Y., & McMillan, C. (2024) · Automated Software Engineering · doi:10.1007/s10515-024-00421-4 · Cited by 49
Self-citationCorrelating Automated and Human Evaluation of Code Documentation Generation Quality
Hu, X., Chen, Q., Wang, H., Xia, X., Lo, D., & Zimmermann, T. (2022) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3502853 · Cited by 33
Wang, A. Y., Wang, D., Drozdal, J., Liu, X., Park, S., Oney, S., & Brooks, C. (2021) · Extended Abstracts of the 2021 CHI Conference on Human Factors in Computing Systems · doi:10.1145/3411763.3451617 · Cited by 31
Predictive Comment Updating With Heuristics and AST-Path-Based Neural Learning: A Two-Phase Approach
Lin, B., Wang, S., Liu, Z., Xia, X., & Mao, X. (2023) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2022.3185458 · Cited by 27
Towards Generating Summaries for Lexically Confusing Code through Code Erosion
Yan, F., & Li, M. (2021) · Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence · doi:10.24963/ijcai.2021/512 · Cited by 6
Contextualized Programming Language Documentation
Potter, H., Madadi, A., Just, R., & Omar, C. (2022) · Proceedings of the 2022 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software · doi:10.1145/3563835.3567654 · Cited by 4
JEMMA: An extensible Java dataset for ML4Code applications
Karmakar, A., Allamanis, M., & Robbes, R. (2023) · Empirical Software Engineering · doi:10.1007/s10664-022-10275-7 · Cited by 4
Metadata
- Authors
- LeClair, A., Jiang, S., & McMillan, C.
- Venue
- 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE)
- Publisher
- IEEE
- Published
- 2019-05
- Pages
- 795-806
- OpenAlex
- W2914501196
- Cited by
- 294
- References
- 11
- FWCI
- 33.15
- Type
- conference paper
- Language
- en
- Open access
- green
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
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.