{"type":"ScholarlyArticle","title":"Commit Message Generation for Source Code Changes","authors":[{"name":"Shengbin Xu","slug":"shengbin-xu","given":"Shengbin","family":"Xu","affiliation":"State Key Laboratory for Novel Software Technology , Nanjing University , China"},{"name":"Yuan Yao","slug":"yuan-yao","given":"Yuan","family":"Yao","affiliation":"State Key Laboratory for Novel Software Technology , Nanjing University , China"},{"name":"Feng Xu","slug":"feng-xu","given":"Feng","family":"Xu","affiliation":"State Key Laboratory for Novel Software Technology , Nanjing University , China"},{"name":"Tianxiao Gu","slug":"tianxiao-gu","given":"Tianxiao","family":"Gu","affiliation":"Alibaba Group , USA"},{"name":"Hanghang Tong","slug":"hanghang-tong","given":"Hanghang","family":"Tong","affiliation":"Arizona State University , USA"},{"name":"Jian Lu","slug":"jian-lu","given":"Jian","family":"Lu","affiliation":"State Key Laboratory for Novel Software Technology , Nanjing University , China"}],"abstract":"Commit messages, which summarize the source code changes in natural language, are essential for program comprehension and software evolution understanding. Unfortunately, due to the lack of direct motivation, commit messages are sometimes neglected by developers, making it necessary to automatically generate such messages. State-of-the-art adopts learning based approaches such as neural machine translation models for the commit message generation problem. However, they tend to ignore the code structure information and suffer from the out-of-vocabulary issue. In this paper, we propose CoDiSum to address the above two limitations. In particular, we first extract both code structure and code semantics from the source code changes, and then jointly model these two sources of information so as to better learn the representations of the code changes. Moreover, we augment the model with copying mechanism to further mitigate the out-of-vocabulary issue. Experimental evaluations on real data demonstrate that the proposed approach significantly outperforms the state-of-the-art in terms of accurately generating the commit messages.","doi":"10.24963/ijcai.2019/552","url":"https://ijcai.org/proceedings/2019/552","pdf":"https://ijcai.org/proceedings/2019/0552.pdf","markdown":"https://ijcai.org/proceedings/2019/552.md","bibtex":"https://ijcai.org/proceedings/2019/bibtex/552","volume":{"slug":"2019","title":"Proceedings of the Twenty-Eighth International Joint Conference on Artificial Intelligence","short_title":"IJCAI 2019","url":"https://ijcai.org/proceedings/2019/","year":2019,"location":"Macao","dates":"10-16 August 2019","editors":"Sarit Kraus","isbn":"978-0-9992411-4-1","publisher":"International Joint Conferences on Artificial Intelligence Organization","doi_prefix":"10.24963/ijcai.2019"},"section":"Machine Learning M-Z","track":"Main track","number":552,"pages":{"first":3975,"last":3981},"keywords":["Natural Language Processing: NLP Applications and Tools","Machine Learning: Data Mining","Machine Learning Applications: Other Applications"],"videos":[],"references":[{"position":1,"raw":"[Buse and Weimer, 2010] Raymond PL Buse and Westley R Weimer. Automatically documenting program changes. In ASE, pages 33-42, 2010.","title":"Automatically documenting program changes","authors":"P L Raymond, Westley R Buse, Weimer","year":"2010","venue":"ASE","doi":null,"url":null,"internal_url":null},{"position":2,"raw":"[Cho et al., 2014] Kyunghyun Cho, Bart Van Merriënboer, Caglar Gulcehre, Dzmitry Bahdanau, Fethi Bougares, Holger Schwenk, and Yoshua Bengio. Learning phrase representations using rnn encoder-decoder for statistical machine translation. arXiv, 2014.","title":"Learning phrase representations using rnn encoder-decoder for statistical machine translation","authors":"Cho","year":"2014","venue":null,"doi":null,"url":null,"internal_url":null},{"position":3,"raw":"[Chopra et al., 2016] Sumit Chopra, Michael Auli, and Alexander M Rush. Abstractive sentence summarization with attentive recurrent neural networks. In NAACL, pages 93-98, 2016.","title":"Abstractive sentence summarization with attentive recurrent neural networks","authors":"Sumit Chopra, Michael Auli, Alexander M Rush","year":"2016","venue":"NAACL","doi":null,"url":null,"internal_url":null},{"position":4,"raw":"[Cortés-Coy et al., 2014] Luis Fernando Cortés-Coy, Mario Linares-Vásquez, Jairo Aponte, and Denys Poshyvanyk. On automatically generating commit messages via sum- marization of source code changes. In SCAM, pages 275- 284, 2014.","title":"On automatically generating commit messages via summarization of source code changes","authors":"Luis Fernando, Cortés- Coy, Mario Linares-Vásquez, Jairo Aponte, Denys Poshyvanyk","year":"2014","venue":"SCAM","doi":null,"url":null,"internal_url":null},{"position":5,"raw":"[Denkowski and Lavie, 2014] Michael Denkowski and Alon Lavie. Meteor universal: Language specific translation evaluation for any target language. In Proceedings of the ninth workshop on statistical machine translation, pages 376-380, 2014.","title":"Meteor universal: Language specific translation evaluation for any target language","authors":"Lavie Denkowski, Michael Denkowski, Alon Lavie","year":"2014","venue":"Proceedings of the ninth workshop on statistical machine translation","doi":null,"url":null,"internal_url":null},{"position":6,"raw":"[Dyer et al., 2013] Robert Dyer, Hoan Anh Nguyen, Hridesh Rajan, and Tien N Nguyen. Boa: A language and infras- tructure for analyzing ultra-large-scale software reposito- ries. In ICSE, pages 422-431, 2013.","title":"Boa: A language and infrastructure for analyzing ultra-large-scale software repositories","authors":"Robert Dyer, Anh Hoan, Hridesh Nguyen, Tien N Rajan, Nguyen","year":"2013","venue":"ICSE","doi":null,"url":null,"internal_url":null},{"position":7,"raw":"[Hindle et al., 2012] Abram Hindle, Earl T Barr, Zhendong Su, Mark Gabel, and Premkumar Devanbu. On the natu- ralness of software. In ICSE, pages 837-847, 2012.","title":"On the naturalness of software","authors":"Abram Hindle, Earl T Barr, Zhendong Su, Mark Gabel, Premkumar Devanbu","year":"2012","venue":"ICSE","doi":null,"url":null,"internal_url":null},{"position":8,"raw":"[Hu et al., 2018a] Xing Hu, Ge Li, Xin Xia, David Lo, and Zhi Jin. Deep code comment generation. In ICPC, pages 200-210, 2018.","title":"Deep code comment generation","authors":"Hu","year":"2018","venue":"ICPC","doi":null,"url":null,"internal_url":null},{"position":9,"raw":"[Hu et al., 2018b] Xing Hu, Ge Li, Xin Xia, David Lo, Shuai Lu, and Zhi Jin. Summarizing source code with transferred api knowledge. In IJCAI, pages 2269-2275, 2018.","title":"Summarizing source code with transferred api knowledge","authors":"Hu","year":"2018","venue":"IJCAI","doi":null,"url":null,"internal_url":"/proceedings/2018/314"},{"position":10,"raw":"[Huang et al., 2017] Yuan Huang, Qiaoyang Zheng, Xiang- ping Chen, Yingfei Xiong, Zhiyong Liu, and Xiaonan Luo. Mining version control system for automatically generat- ing commit comment. In ESEM, pages 414-423, 2017.","title":"Mining version control system for automatically generating commit comment","authors":"Yuan Huang, Qiaoyang Zheng, Xiangping Chen, Yingfei Xiong, Zhiyong Liu, Xiaonan Luo","year":"2017","venue":"ESEM","doi":null,"url":null,"internal_url":null},{"position":11,"raw":"[Iyer et al., 2016] Srinivasan Iyer, Ioannis Konstas, Alvin Cheung, and Luke Zettlemoyer. Summarizing source code using a neural attention model. In ACL, pages 2073-2083, 2016.","title":"Summarizing source code using a neural attention model","authors":"Srinivasan Iyer, Ioannis Konstas, Alvin Cheung, Luke Zettlemoyer","year":"2016","venue":"ACL","doi":null,"url":null,"internal_url":null},{"position":12,"raw":"[Jiang and McMillan, 2017] Siyuan Jiang and Collin McMillan. Towards automatic generation of short summaries of commits. In ICPC, pages 320-323, 2017.","title":"Towards automatic generation of short summaries of commits","authors":"Mcmillan ; ] Siyuan Jiang, Collin Jiang, Mcmillan","year":"2017","venue":"ICPC","doi":null,"url":null,"internal_url":null},{"position":13,"raw":"[Jiang et al., 2017] Siyuan Jiang, Ameer Armaly, and Collin McMillan. Automatically generating commit messages from diffs using neural machine translation. In ASE, pages 135-146, 2017.","title":"Automatically generating commit messages from diffs using neural machine translation","authors":"Siyuan Jiang, Ameer Armaly, Collin Mcmillan","year":"2017","venue":"ASE","doi":null,"url":null,"internal_url":null},{"position":14,"raw":"[Linares-Vásquez et al., 2015] Mario Linares-Vásquez, Luis Fernando Cortés-Coy, Jairo Aponte, and Denys Poshyvanyk. Changescribe: A tool for automatically generating commit messages. In ICSE, pages 709-712, 2015.","title":"Changescribe: A tool for automatically generating commit messages","authors":"Mario Linares-Vásquez, Luis Fernando Cortés-Coy, Jairo Aponte, Denys Poshyvanyk","year":"2015","venue":"ICSE","doi":null,"url":null,"internal_url":null},{"position":15,"raw":"[Liu et al., 2018] Zhongxin Liu, Xin Xia, Ahmed E Hassan, David Lo, Zhenchang Xing, and Xinyu Wang. Neural- machine-translation-based commit message generation: how far are we? In ASE, pages 373-384, 2018.","title":"Neuralmachine-translation-based commit message generation: how far are we?","authors":"Zhongxin Liu, Xin Xia, Ahmed E Hassan, David Lo, Zhenchang Xing, Xinyu Wang","year":"2018","venue":"ASE","doi":null,"url":null,"internal_url":null},{"position":16,"raw":"[Loyola et al., 2017] Pablo Loyola, Edison Marrese-Taylor, and Yutaka Matsuo. A neural architecture for generating natural language descriptions from source code changes. In ACL, pages 287-292, 2017.","title":"A neural architecture for generating natural language descriptions from source code changes","authors":"Loyola","year":"2017","venue":"ACL","doi":null,"url":null,"internal_url":null},{"position":17,"raw":"[Loyola et al., 2018] Pablo Loyola, Edison Marrese-Taylor, Jorge Balazs, Yutaka Matsuo, and Fumiko Satoh. Con- tent aware source code change description generation. In INLG, pages 119-128, 2018.","title":"Content aware source code change description generation","authors":"Loyola","year":"2018","venue":"INLG","doi":null,"url":null,"internal_url":null},{"position":18,"raw":"[Movshovitz-Attias and Cohen, 2013] Dana Movshovitz- Attias and William W Cohen. Natural language models for predicting programming comments. In ACL, pages 35-40, 2013.","title":"Natural language models for predicting programming comments","authors":"Movshovitz-Attias, Cohen, Dana Movshovitz-Attias, William W Cohen","year":"2013","venue":"ACL","doi":null,"url":null,"internal_url":null},{"position":19,"raw":"[Nallapati et al., 2016] Ramesh Nallapati, Bowen Zhou, Ci- cero dos Santos, Caglar Gulcehre, and Bing Xiang. Ab- stractive text summarization using sequence-to-sequence rnns and beyond. In CoNLL, pages 280-290, 2016.","title":"Abstractive text summarization using sequence-to-sequence rnns and beyond","authors":"Ramesh Nallapati, Bowen Zhou, Caglar Cicero Dos Santos, Bing Gulcehre, Xiang","year":"2016","venue":"CoNLL","doi":null,"url":null,"internal_url":null},{"position":20,"raw":"[Oda et al., 2015] Yusuke Oda, Hiroyuki Fudaba, Graham Neubig, Hideaki Hata, Sakriani Sakti, Tomoki Toda, and Satoshi Nakamura. Learning to generate pseudo-code from source code using statistical machine translation (t). In ASE, pages 574-584, 2015.","title":"Learning to generate pseudo-code from source code using statistical machine translation (t)","authors":"Yusuke Oda, Hiroyuki Fudaba, Graham Neubig, Hideaki Hata, Sakriani Sakti, Tomoki Toda, Satoshi Nakamura","year":"2015","venue":"ASE","doi":null,"url":null,"internal_url":null},{"position":21,"raw":"[Papineni et al., 2002] Kishore Papineni, Salim Roukos, Todd Ward, and Wei-Jing Zhu. Bleu: a method for auto- matic evaluation of machine translation. In Proceedings of the 40th annual meeting on association for computational linguistics, pages 311-318. Association for Computational Linguistics, 2002.","title":"Bleu: a method for automatic evaluation of machine translation","authors":"Kishore Papineni, Salim Roukos, Todd Ward, Wei-Jing Zhu","year":"2002","venue":"Proceedings of the 40th annual meeting on association for computational linguistics","doi":null,"url":null,"internal_url":null},{"position":22,"raw":"[Reiter and Dale, 1997] Ehud Reiter and Robert Dale. Build- ing applied natural language generation systems. Natural Language Engineering, 3(1):57-87, 1997.","title":"Building applied natural language generation systems","authors":"Dale ; Reiter, Ehud Reiter, Robert Dale","year":"1997","venue":"Natural Language Engineering","doi":null,"url":null,"internal_url":null},{"position":23,"raw":"[Rush et al., 2015] Alexander M Rush, Sumit Chopra, and Jason Weston. A neural attention model for abstractive sentence summarization. In EMNLP, pages 379-389, 2015.","title":"A neural attention model for abstractive sentence summarization","authors":"Sumit Alexander M Rush, Jason Chopra, Weston","year":"2015","venue":"EMNLP","doi":null,"url":null,"internal_url":null},{"position":24,"raw":"[See et al., 2017] Abigail See, Peter J Liu, and Christopher D Manning. Get to the point: Summarization with pointer- generator networks. In ACL, pages 1073-1083, 2017.","title":"Get to the point: Summarization with pointergenerator networks","authors":"Abigail See, Peter J Liu, Christopher D Manning","year":"2017","venue":"ACL","doi":null,"url":null,"internal_url":null},{"position":25,"raw":"[Shen et al., 2016] Jinfeng Shen, Xiaobing Sun, Bin Li, Hui Yang, and Jiajun Hu. On automatic summarization of what and why information in source code changes. In COMP- SAC, volume 1, pages 103-112, 2016.","title":"On automatic summarization of what and why information in source code changes","authors":"Jinfeng Shen, Xiaobing Sun, Bin Li, Hui Yang, Jiajun Hu","year":"2016","venue":"COMP-SAC","doi":null,"url":null,"internal_url":null},{"position":26,"raw":"[Sridhara et al., 2010] Giriprasad Sridhara, Emily Hill, Di- vya Muppaneni, Lori Pollock, and K Vijay-Shanker. To- wards automatically generating summary comments for java methods. In ASE, pages 43-52, 2010.","title":"Towards automatically generating summary comments for java methods","authors":"Sridhara","year":"2010","venue":"ASE","doi":null,"url":null,"internal_url":null}],"license_note":"Copyright International Joint Conferences on Artificial Intelligence."}