Proceedings

DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning

Download BibTeX Cite

Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence. Main track. Pages 3675-3681.

https://doi.org/10.24963/ijcai.2017/514

Abstract

Computer programs written in one language are often required to be ported to other languages to support multiple devices and environments. When programs use language specific APIs (Application Programming Interfaces), it is very challenging to migrate these APIs to the corresponding APIs written in other languages. Existing approaches mine API mappings from projects that have corresponding versions in two languages. They rely on the sparse availability of bilingual projects, thus producing a limited number of API mappings. In this paper, we propose an intelligent system called DeepAM for automatically mining API mappings from a large-scale code corpus without bilingual projects. The key component of DeepAM is based on the multi-modal sequence to sequence learning architecture that aims to learn joint semantic representations of bilingual API sequences from big source code data. Experimental results indicate that DeepAM significantly increases the accuracy of API mappings as well as the number of API mappings when compared with the state-of-the-art approaches.

  1. [Andrej and Li, 2015] Karpathy Andrej and Fei-Fei Li. Deep visual-semantic alignments for generating image descrip- tions. In Proceedings of the IEEE Conference on Com- puter Vision and Pattern Recognition, pages 3128-3137, 2015.
  2. [Bottou, 2010] Léon Bottou. Large-scale machine learn- ing with stochastic gradient descent. In Proceedings of COMPSTAT'2010, pages 177-186. Springer, 2010.
  3. [Cho et al., 2014] Kyunghyun Cho, Bart Van Merriënboer, C ¸alar Gülc ¸ehre, Dzmitry Bahdanau, Fethi Bougares, Hol- ger Schwenk, and Yoshua Bengio. Learning phrase rep- resentations using rnn encoder-decoder for statistical ma- chine translation. In Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 1724-1734, Doha, Qatar, October 2014. Association for Computational Linguistics.
  4. [Gu et al., 2016] Xiaodong Gu, Hongyu Zhang, Dongmei Zhang, and Sunghun Kim. Deep API learning. In Proceed- ings of the 2016 24th ACM SIGSOFT International Sym- posium on Foundations of Software Engineering, pages 631-642. ACM, 2016.
  5. [Hassan and Holt, 2005] Ahmed E Hassan and Richard C Holt. A lightweight approach for migrating web frame- works. Information and Software Technology, 47(8):521- 532, 2005.
  6. [Huo et al., 2016] Xuan Huo, Ming Li, and Zhi-Hua Zhou. Learning unified features from natural and programming languages for locating buggy source code. In Proceedings of the 25th 25th International Joint Conference on Artifi- cial Intelligence (IJCAI'16), 2016. IJCAI
  7. [Koehn et al., 2003] Philipp Koehn, Franz Josef Och, and Daniel Marcu. Statistical phrase-based translation. In Pro- ceedings of the 2003 Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technology-Volume 1, pages 48-54. Association for Computational Linguistics, 2003.
  8. [Lv et al., 2015] Fei Lv, Hongyu Zhang, Jianguang Lou, Shaowei Wang, Dongmei Zhang, and Jianjun Zhao. Code- How: Effective code search based on API understanding and extended boolean model. In Proceedings of the 30th IEEE/ACM International Conference on Automated Soft- ware Engineering (ASE 2015). IEEE, 2015.
  9. [Manning et al., 2008] Christopher D Manning, Prabhakar Raghavan, Hinrich Schütze, et al. Introduction to infor- mation retrieval, volume 1. Cambridge university press Cambridge, 2008.
  10. [Mikolov et al., 2010] Tomas Mikolov, Martin Karafiát, Lukas Burget, Jan Cernockỳ, and Sanjeev Khudanpur. Re- current neural network based language model. In IN- TERSPEECH 2010, 11th Annual Conference of the Inter- national Speech Communication Association, Makuhari, Chiba, Japan, September 26-30, 2010, pages 1045-1048, 2010.
  11. [Mossienko, 2003] Maxim Mossienko. Automated cobol to java recycling. In Software Maintenance and Reengineer- ing, 2003. Proceedings. Seventh European Conference on, pages 40-50. IEEE, 2003.
  12. [Nguyen et al., 2014] Anh Tuan Nguyen, Hoan Anh Nguyen, Tung Thanh Nguyen, and Tien N. Nguyen. Statistical learning approach for mining API usage mappings for code migration. In Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, ASE '14, pages 457-468, New York, NY, USA, 2014. ACM.
  13. [Pandita et al., 2015] R. Pandita, R. P. Jetley, S. D. Sudarsan, and L. Williams. Discovering likely mappings between APIs using text mining. In Source Code Analysis and Ma- nipulation (SCAM), 2015 IEEE 15th International Work- ing Conference on, pages 231-240, Sept 2015.
  14. [Sutskever et al., 2014] Ilya Sutskever, Oriol Vinyals, and Quoc VV Le. Sequence to sequence learning with neural networks. In Advances in neural information processing systems, pages 3104-3112, 2014.
  15. [Tonelli et al., 2010] Thiago Tonelli, Krzysztof, and Ralf. Swing to swt and back: Patterns for API migration by wrapping. In Software Maintenance (ICSM), 2010 IEEE International Conference on, pages 1-10, Sept 2010.
  16. [Xu et al., 2015] Ran Xu, Caiming Xiong, Wei Chen, and Jason J Corso. Jointly modeling deep video and com- positional text to bridge vision and language in a unified framework. In AAAI, pages 2346-2352. Citeseer, 2015.
  17. [Zeiler, 2012] Matthew D Zeiler. Adadelta: an adaptive learning rate method. arXiv preprint arXiv:1212.5701, 2012.
  18. [Zhong et al., 2010] Hao Zhong, Suresh Thummalapenta, Tao Xie, Lu Zhang, and Qing Wang. Mining API map- ping for language migration. In Proceedings of the 32Nd ACM/IEEE International Conference on Software Engi- neering -Volume 1, ICSE '10, pages 195-204, New York, NY, USA, 2010. ACM.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards