Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
6-2020
Abstract
Existing work on software patches often use features specific to a single task. These works often rely on manually identified features, and human effort is required to identify these features for each task. In this work, we propose CC2Vec, a neural network model that learns a representation of code changes guided by their accompanying log messages, which represent the semantic intent of the code changes. CC2Vec models the hierarchical structure of a code change with the help of the attention mechanism and usesmultiple comparison functions to identify the differences between the removed and added code. To evaluate if CC2Vec can produce a distributed representation of code changes that is general and useful for multiple tasks on software patches, we use the vectors produced by CC2Vec for three tasks: log message generation, bug fixing patch identification, and just-in-time defect prediction. In all tasks, the models using CC2Vec outperform the state-of-the-art techniques.
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
ICSE '20: Proceedings of the 42nd ACM/IEEE International Conference on Software Engineering: June 27 - July 19, Seoul
First Page
518
Last Page
529
ISBN
9781450371216
Identifier
doi.org/10.1145/3377811.3380361
Publisher
ACM
City or Country
New York
Citation
HOANG, Thong; KANG, Hong Jin; LAWALL, Julia; and LO, David.
CC2Vec: Distributed representations of code changes. (2020). ICSE '20: Proceedings of the 42nd ACM/IEEE International Conference on Software Engineering: June 27 - July 19, Seoul. 518-529.
Available at: https://ink.library.smu.edu.sg/sis_research/5500
Copyright Owner and License
Publisher
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1145/3377811.3380361