Cc2vec: Distributed representations of code changes

T Hoang, HJ Kang, D Lo, J Lawall - Proceedings of the ACM/IEEE 42nd …, 2020 - dl.acm.org
Proceedings of the ACM/IEEE 42nd international conference on software …, 2020dl.acm.org
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 uses multiple …
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 uses multiple 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.
ACM Digital Library
顯示最佳搜尋結果。 查看所有結果