{"type":"ScholarlyArticle","title":"DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning","authors":[{"name":"Xiaodong Gu","slug":"xiaodong-gu","given":"Xiaodong","family":"Gu","affiliation":"The Hong Kong University of Science and Technology , Hong Kong , China"},{"name":"Hongyu Zhang","slug":"hongyu-zhang","given":"Hongyu","family":"Zhang","affiliation":"The University of Newcastle , Callaghan , Australia"},{"name":"Dongmei Zhang","slug":"dongmei-zhang","given":"Dongmei","family":"Zhang","affiliation":"Microsoft Research , Beijing , China"},{"name":"Sunghun Kim","slug":"sunghun-kim","given":"Sunghun","family":"Kim","affiliation":"The Hong Kong University of Science and Technology , Hong Kong , China"}],"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.","doi":"10.24963/ijcai.2017/514","url":"https://ijcai.org/proceedings/2017/514","pdf":"https://ijcai.org/proceedings/2017/0514.pdf","markdown":"https://ijcai.org/proceedings/2017/514.md","bibtex":"https://ijcai.org/proceedings/2017/bibtex/514","volume":{"slug":"2017","title":"Proceedings of the Twenty-Sixth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2017","url":"https://ijcai.org/proceedings/2017/","year":2017,"location":"Melbourne, Australia","dates":"19-25 August 2017","editors":"Carles Sierra","isbn":"978-0-9992411-0-3","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2017"},"section":"Multidisciplinary Topics and Applications","track":"Main track","number":514,"pages":{"first":3675,"last":3681},"keywords":["Multidisciplinary Topics and Applications: Multidisciplinary Topics and Applications","Multidisciplinary Topics and Applications: Knowledge-based Software Engineering"],"videos":[],"references":[{"position":1,"raw":"[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.","title":"Deep visual-semantic alignments for generating image descriptions","authors":"Andrej, Li ;, Karpathy Andrej, Fei-Fei Li","year":"2015","venue":"Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[Bottou, 2010] Léon Bottou. Large-scale machine learn- ing with stochastic gradient descent. In Proceedings of COMPSTAT'2010, pages 177-186. Springer, 2010.","title":"Large-scale machine learning with stochastic gradient descent","authors":"Léon Bottou, Bottou","year":"2010","venue":"Proceedings of COMPSTAT'2010","doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[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.","title":"Learning phrase representations using rnn encoder-decoder for statistical machine translation","authors":"Cho","year":"2014","venue":"Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP)","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[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.","title":"Deep API learning","authors":"Xiaodong Gu, Hongyu Zhang, Dongmei Zhang, Sunghun Kim","year":"2016","venue":"Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[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.","title":"A lightweight approach for migrating web frameworks","authors":"E Ahmed, Richard C Hassan, Holt","year":"2005","venue":"Information and Software Technology","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[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.","title":"Learning unified features from natural and programming languages for locating buggy source code","authors":"Xuan Huo, Ming Li, Zhi-Hua Zhou","year":"2016","venue":"Proceedings of the 25th 25th International Joint Conference on Artificial Intelligence (IJCAI'16)","doi":null,"url":null,"internal_url":"/proceedings/2016/230"},{"position":7,"raw":"[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.","title":"Statistical phrase-based translation","authors":"Philipp Koehn, Franz, Josef Och, Daniel Marcu","year":"2003","venue":"Proceedings of the 2003 Conference of the North American Chapter of the Association for Computational Linguistics on Human Language Technology","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[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.","title":"Code-How: Effective code search based on API understanding and extended boolean model","authors":"Fei Lv, Hongyu Zhang, Jianguang Lou, Shaowei Wang, Dongmei Zhang, Jianjun Zhao","year":"2015","venue":"Proceedings of the 30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015)","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[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.","title":"Introduction to information retrieval","authors":"Prabhakar Christopher D Manning, Hinrich Raghavan, Schütze","year":"2008","venue":null,"doi":null,"url":null,"internal_url":null},{"position":10,"raw":"[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.","title":"Re-current neural network based language model","authors":"Mikolov","year":"2010","venue":"IN-TERSPEECH 2010, 11th Annual Conference of the International Speech Communication Association","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[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.","title":"Maxim Mossienko. Automated cobol to java recycling","authors":"Mossienko","year":"2003","venue":"Proceedings. Seventh European Conference on","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[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.","title":"Statistical learning approach for mining API usage mappings for code migration","authors":"Anh Tuan Nguyen, Hoan, Anh Nguyen, Tung, Thanh Nguyen, Tien N Nguyen","year":"2014","venue":"Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering, ASE '14","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[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.","title":"Discovering likely mappings between APIs using text mining","authors":"R Pandita, R P Jetley, S D Sudarsan, L Williams","year":"2015","venue":"IEEE 15th International Working Conference on","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[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.","title":"Le. Sequence to sequence learning with neural networks","authors":"Sutskever","year":"2014","venue":"Advances in neural information processing systems","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[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.","title":"Swing to swt and back: Patterns for API migration by wrapping","authors":"Thiago Tonelli, Ralf Krzysztof","year":"2010","venue":"Software Maintenance (ICSM), 2010 IEEE International Conference on","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[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.","title":"Jointly modeling deep video and compositional text to bridge vision and language in a unified framework","authors":"Ran Xu, Caiming Xiong, Wei Chen, Jason J Corso","year":"2015","venue":"AAAI","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[Zeiler, 2012] Matthew D Zeiler. Adadelta: an adaptive learning rate method. arXiv preprint arXiv:1212.5701, 2012.","title":"Adadelta: an adaptive learning rate method","authors":"D Matthew, Zeiler","year":"2012","venue":null,"doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[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.","title":"Mining API mapping for language migration","authors":"Hao Zhong, Suresh Thummalapenta, Tao Xie, Lu Zhang, Qing Wang","year":"2010","venue":"Proceedings of the 32Nd ACM/IEEE International Conference on Software Engineering","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}