The DOI matches its Crossref record; 7 of the 7 references it cites were found in a registry or an index.
Deep API learning
Abstract
Developers often wonder how to implement a certain functionality (e.g., how to parse XML files) using APIs. Obtaining an API usage sequence based on an API-related natural language query is very helpful in this regard. Given a query, existing approaches utilize information retrieval models to search for matching API sequences. These approaches treat queries and APIs as bags-of-words and lack a deep understanding of the semantics of the query. We propose DeepAPI, a deep learning based approach to generate API usage sequences for a given natural language query. Instead of a bag-of-words assumption, it learns the sequence of words in a query and the sequence of associated APIs. DeepAPI adapts a neural language model named RNN Encoder-Decoder. It encodes a word sequence (user query) into a fixed-length context vector, and generates an API sequence based on the context vector. We also augment the RNN Encoder-Decoder by considering the importance of individual APIs. We empirically evaluate our approach with more than 7 million annotated code snippets collected from GitHub. The results show that our approach generates largely accurate API sequences and outperforms the related approaches.
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
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
Recurrent neural network based language model
Mikolov, T., Karafiát, M., Burget, L., Černocký, J., & Khudanpur, S. (2010) · Interspeech 2010 · doi:10.21437/interspeech.2010-343 · Cited by 5,390
ADADELTA: An Adaptive Learning Rate Method
Zeiler, M. D. (2012) · arXiv · doi:10.48550/arxiv.1212.5701 · Cited by 5,322
(1992) · doi:10.5555/176313.176316 · Cited by 2,892
Example-centric programming: integrating web search into the development environment
Brandt, J., Dontcheva, M., Weskamp, M., & Klemmer, S. R. (2010) · Proceedings of the SIGCHI Conference on Human Factors in Computing Systems · doi:10.1145/1753326.1753402 · Cited by 324
Latent Predictor Networks for Code Generation
Ling, W., Blunsom, P., Grefenstette, E., Hermann, K. M., Kočiský, T., Wang, F., & Senior, A. (2016) · Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers) · doi:10.18653/v1/p16-1057 · Cited by 307
Tu, Z., Su, Z., & Devanbu, P. (2014) · Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering · doi:10.1145/2635868.2635875 · Cited by 238 · cited 1×
“Statistical language models have been adapted to many software engineering tasks [26] such as learning natural code conventions [5], code suggestion [44], and code completion [37].”
Method
Research works printed but not linked: 40
- 10.1145/2635868.2635883 · DOI · Paper page
- M. Allamanis , H. Peng , and C. Sutton . A convolutional attention network for extreme summarization of source code . In Proceedings of the International Conference on Machine Learning (ICML’16) , 2016 . M. Allamanis, H. Peng, and C. Sutton. A convolutional attention network for extreme summarization of source code. In Proceedings of the International Conference on Machine Learning (ICML’16), 2016.
- M. Allamanis , D. Tarlow , A. Gordon , and Y. Wei . Bimodal modelling of source code and natural language . In Proceedings of the 32nd International Conference on Machine Learning (ICML’15) , pages 2123– 2132 , 2015 . M. Allamanis, D. Tarlow, A. Gordon, and Y. Wei. Bimodal modelling of source code and natural language. In Proceedings of the 32nd International Conference on Machine Learning (ICML’15), pages 2123–2132, 2015.
- D. Bahdanau , K. Cho , and Y. Bengio . Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473 , 2014 . D. Bahdanau, K. Cho, and Y. Bengio. Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473, 2014. · arXiv
- L. Bottou . Large-scale machine learning with stochastic gradient descent . In Proceedings of the 19th International Conference on Computational Statistics (COMPSTAT’10) , pages 177– 186 . Springer, 2010. L. Bottou. Large-scale machine learning with stochastic gradient descent. In Proceedings of the 19th International Conference on Computational Statistics (COMPSTAT’10), pages 177–186. Springer, 2010.
- 10.5555/972470.972474 · doi:10.5555/972470.972474 · Paper page
- 10.1145/2393596.2393606 · DOI
- 10.3115/v1/D14-1179 · DOI · Paper page
- 10.1145/2950290.2950319 · DOI
- A. Hindle , E. T. Barr , Z. Su , M. Gabel , and P. Devanbu . On the naturalness of software . In Proceedings of the 34th International Conference on Software Engineering (ICSE’12) , pages 837– 847 . IEEE, 2012. A. Hindle, E. T. Barr, Z. Su, M. Gabel, and P. Devanbu. On the naturalness of software. In Proceedings of the 34th International Conference on Software Engineering (ICSE’12), pages 837–847. IEEE, 2012.
- R. Holmes , R. Cottrell , R. J. Walker , and J. Denzinger . The end-to-end use of source code examples: An exploratory study . In Proceedings of the IEEE International Conference on Software Maintenance (ICSM’09) , pages 555– 558 . IEEE, 2009. R. Holmes, R. Cottrell, R. J. Walker, and J. Denzinger. The end-to-end use of source code examples: An exploratory study. In Proceedings of the IEEE International Conference on Software Maintenance (ICSM’09), pages 555–558. IEEE, 2009.
- M. J. Howard , S. Gupta , L. Pollock , and K. Vijay-Shanker . Automatically mining software-based, semantically-similar words from comment-code mappings . In Proceedings of the 10th Working Conference on Mining Software Repositories (MSR’13) , pages 377– 386 . IEEE Press, 2013. M. J. Howard, S. Gupta, L. Pollock, and K. Vijay-Shanker. Automatically mining software-based, semantically-similar words from comment-code mappings. In Proceedings of the 10th Working Conference on Mining Software Repositories (MSR’13), pages 377–386. IEEE Press, 2013.
- 10.1145/2568225.2568292 · DOI
- J. Kim , S. Lee , S. Hwang , and S. Kim . Towards an intelligent code search engine . In Proceedings of the 24th AAAI Conference on Artificial Intelligence (AAAI’10) , pages 1358– 1363 , 2010 . J. Kim, S. Lee, S. Hwang, and S. Kim. Towards an intelligent code search engine. In Proceedings of the 24th AAAI Conference on Artificial Intelligence (AAAI’10), pages 1358–1363, 2010.
- P. Koehn . Pharaoh : a beam search decoder for phrase-based statistical machine translation models. In Machine translation: From real users to research, pages 115–124 . Springer , 2004 . P. Koehn. Pharaoh: a beam search decoder for phrase-based statistical machine translation models. In Machine translation: From real users to research, pages 115–124. Springer, 2004.
- 10.1145/2623330.2623612 · DOI · Paper page
- 10.1007/s10618-008-0118-x · DOI
- F. Lv , H. Zhang , J. Lou , S. Wang , D. Zhang , and J. Zhao . CodeHow: Effective code search based on API understanding and extended boolean model . In Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE’15) , pages 260– 270 . IEEE, 2015. F. Lv, H. Zhang, J. Lou, S. Wang, D. Zhang, and J. Zhao. CodeHow: Effective code search based on API understanding and extended boolean model. In Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE’15), pages 260–270. IEEE, 2015.
- C. Maddison and D. Tarlow . Structured generative models of natural source code . In Proceedings of the 31st International Conference on Machine Learning (ICML’14) , pages 649– 657 , 2014 . C. Maddison and D. Tarlow. Structured generative models of natural source code. In Proceedings of the 31st International Conference on Machine Learning (ICML’14), pages 649–657, 2014.
- C. McMillan , M. Grechanik , and D. Poshyvanyk . Detecting similar software applications . In Proceedings of the 34th International Conference on Software Engineering (ICSE’12) , pages 364– 374 . IEEE, 2012. C. McMillan, M. Grechanik, and D. Poshyvanyk. Detecting similar software applications. In Proceedings of the 34th International Conference on Software Engineering (ICSE’12), pages 364–374. IEEE, 2012.
- 10.1145/1985793.1985809 · DOI · Paper page
- T. Mikolov , I. Sutskever , K. Chen , G. S. Corrado , and J. Dean . Distributed representations of words and phrases and their compositionality . In Advances in neural information processing systems (NIPS’13) , pages 3111– 3119 , 2013 . T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, and J. Dean. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems (NIPS’13), pages 3111–3119, 2013.
- E. Moritz , M. Linares-Vásquez , D. Poshyvanyk , M. Grechanik , C. McMillan , and M. Gethers . Export: Detecting and visualizing API usages in large source code repositories . In Proceedings of the IEEE/ACM 28th International Conference on Automated Software Engineering (ASE’13) , pages 646– 651 . IEEE, 2013. E. Moritz, M. Linares-Vásquez, D. Poshyvanyk, M. Grechanik, C. McMillan, and M. Gethers. Export: Detecting and visualizing API usages in large source code repositories. In Proceedings of the IEEE/ACM 28th International Conference on Automated Software Engineering (ASE’13), pages 646–651. IEEE, 2013.
- L. Mou , G. Li , Y. Liu , H. Peng , Z. Jin , Y. Xu , and L. Zhang . Building program vector representations for deep learning. arXiv preprint arXiv:1409.3358 , 2014 . L. Mou, G. Li, Y. Liu, H. Peng, Z. Jin, Y. Xu, and L. Zhang. Building program vector representations for deep learning. arXiv preprint arXiv:1409.3358, 2014. · arXiv
- 10.5555/3015812.3016002 · doi:10.5555/3015812.3016002
- L. Mou , R. Men , G. Li , L. Zhang , and Z. Jin . On end-to-end program generation from user intention by deep neural networks. arXiv , 2015 . L. Mou, R. Men, G. Li, L. Zhang, and Z. Jin. On end-to-end program generation from user intention by deep neural networks. arXiv, 2015.
- 10.1145/2884781.2884808 · DOI
- 10.1145/2666356.2594321 · DOI
- 10.1109/MS.2009.193 · DOI · Paper page
- 10.1007/s10664-010-9150-8 · DOI · Paper page
- 10.1145/1218563.1218587 · DOI
- 10.1109/ICPC.2008.18 · DOI
- 10.1109/VLHCC.2006.32 · DOI
- I. Sutskever , O. Vinyals , and Q. V. Le . Sequence to sequence learning with neural networks . In Advances in neural information processing systems (NIPS’14) , pages 3104– 3112 , 2014 . I. Sutskever, O. Vinyals, and Q. V. Le. Sequence to sequence learning with neural networks. In Advances in neural information processing systems (NIPS’14), pages 3104–3112, 2014.
- 10.5555/2627435.2697068 · doi:10.5555/2627435.2697068 · Paper page
- J. Wang , Y. Dang , H. Zhang , K. Chen , T. Xie , and D. Zhang . Mining succinct and high-coverage API usage patterns from source code . In Proceedings of the 10th Working Conference on Mining Software Repositories (MSR’13) , pages 319– 328 . IEEE Press, 2013. J. Wang, Y. Dang, H. Zhang, K. Chen, T. Xie, and D. Zhang. Mining succinct and high-coverage API usage patterns from source code. In Proceedings of the 10th Working Conference on Mining Software Repositories (MSR’13), pages 319–328. IEEE Press, 2013.
- 10.1145/2884781.2884804 · DOI · Paper page
- M. White , C. Vendome , M. Linares-Vásquez , and D. Poshyvanyk . Toward deep learning software repositories . In Proceedings of the IEEE/ACM 12th Working Conference on Mining Software Repositories (MSR’15) , pages 334– 345 . IEEE, 2015. M. White, C. Vendome, M. Linares-Vásquez, and D. Poshyvanyk. Toward deep learning software repositories. In Proceedings of the IEEE/ACM 12th Working Conference on Mining Software Repositories (MSR’15), pages 334–345. IEEE, 2015.
- 10.1145/1137983.1137997 · DOI
- J. Yang and L. Tan . Inferring semantically related words from software context . In Proceedings of the 9th IEEE Working Conference on Mining Software Repositories (MSR’12) , pages 161– 170 . IEEE Press, 2012. J. Yang and L. Tan. Inferring semantically related words from software context. In Proceedings of the 9th IEEE Working Conference on Mining Software Repositories (MSR’12), pages 161–170. IEEE Press, 2012.
Cited by
Large Language Models for Software Engineering: A Systematic Literature Review
Hou, X., Zhao, Y., Liu, Y., Yang, Z., Wang, K., Li, L., Luo, X., Lo, D., Grundy, J., & Wang, H. (2024) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3695988 · Cited by 1,029
An Empirical Study on Learning Bug-Fixing Patches in the Wild via Neural Machine Translation
Tufano, M., Watson, C., Bavota, G., Penta, M. D., White, M., & Poshyvanyk, D. (2019) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3340544 · Cited by 370
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
Self-citationChen, C., Su, T., Meng, G., Xing, Z., & Liu, Y. (2018) · Proceedings of the 40th International Conference on Software Engineering · doi:10.1145/3180155.3180240 · Cited by 188
Big code != big vocabulary: open-vocabulary models for source code
Karampatsis, R.-M., Babii, H., Robbes, R., Sutton, C., & Janes, A. (2020) · Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering · doi:10.1145/3377811.3380342 · Cited by 182
Mapping Language to Code in Programmatic Context
Iyer, S., Konstas, I., Cheung, A., & Zettlemoyer, L. (2018) · Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing · doi:10.18653/v1/d18-1192 · Cited by 180
Self-Planning Code Generation with Large Language Models
Jiang, X., Dong, Y., Wang, L., Fang, Z., Shang, Q., Li, G., Jin, Z., & Jiao, W. (2024) · ACM Transactions on Software Engineering and Methodology · doi:10.1145/3672456 · Cited by 158
Deep learning similarities from different representations of source code
Tufano, M., Watson, C., Bavota, G., Di Penta, M., White, M., & Poshyvanyk, D. (2018) · Proceedings of the 15th International Conference on Mining Software Repositories · doi:10.1145/3196398.3196431 · Cited by 158
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
A Neural Architecture for Generating Natural Language Descriptions from Source Code Changes
Loyola, P., Marrese-Taylor, E., & Matsuo, Y. (2017) · Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 2: Short Papers) · doi:10.18653/v1/p17-2045 · Cited by 128
ATOM: Commit Message Generation Based on Abstract Syntax Tree and Hybrid Ranking
Liu, S., Gao, C., Chen, S., Nie, L. Y., & Liu, Y. (2022) · IEEE Transactions on Software Engineering · doi:10.1109/tse.2020.3038681 · Cited by 93
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
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
NLP2Code: Code Snippet Content Assist via Natural Language Tasks
Campbell, B. A., & Treude, C. (2017) · 2017 IEEE International Conference on Software Maintenance and Evolution (ICSME) · doi:10.1109/icsme.2017.56 · Cited by 65
CrystalBLEU: Precisely and Efficiently Measuring the Similarity of Code
Eghbali, A., & Pradel, M. (2022) · Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering · doi:10.1145/3551349.3556903 · Cited by 42
Enabling Data-Driven API Design with Community Usage Data: A Need-Finding Study
Zhang, T., Hartmann, B., Kim, M., & Glassman, E. L. (2020) · Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems · doi:10.1145/3313831.3376382 · Cited by 25
(2023) · doi:10.1109/ase56229.2023.00157 · Cited by 14
ReACC: A Retrieval-Augmented Code Completion Framework
Lu, S., Duan, N., Han, H., Guo, D., Hwang, S.-W., & Svyatkovskiy, A. (2022) · arXiv · doi:10.48550/arxiv.2203.07722 · Cited by 96
“API usage sequence is highly related to the functionality of a code snippet (Gu et al., 2016; Hu et al., 2018).”
Background
Metadata
- Authors
- Gu, X., Zhang, H., Zhang, D., & Kim, S.
- Venue
- Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering
- Publisher
- ACM
- Published
- 2016-11
- Pages
- 631-642
- OpenAlex
- W2402619042
- Cited by
- 485
- References
- 7
- FWCI
- 49.29
- Type
- conference paper
- Language
- en
- Open access
- closed
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.