Cc2vec: Distributed representations of code changes

149Citations
Citations of this article
125Readers
Mendeley users who have this article in their library.
Get full text

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 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.

Cite

CITATION STYLE

APA

Hoang, T., Kang, H. J., Lo, D., & Lawall, J. (2020). Cc2vec: Distributed representations of code changes. In Proceedings - International Conference on Software Engineering (pp. 518–529). IEEE Computer Society. https://doi.org/10.1145/3377811.3380361

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free