Learning to Represent Patches
Xunzhu Tang, Haoye Tian, Zhenghan Chen, Weiguo Pian, Saad, Ezzini, Abdoul Kader Kabore, Andrew Habib, Jacques Klein and, Tegawende F. Bissyande

TL;DR
Patcherizer introduces a comprehensive patch representation method combining code context, semantic intent, and structural modifications, leveraging graph neural networks and transformers to improve patch understanding and related tasks.
Contribution
It presents a novel holistic patch representation approach that captures semantic and structural intentions, outperforming existing methods in multiple software engineering tasks.
Findings
Outperforms state-of-the-art in patch description generation
Achieves significant improvements in BLEU, ROUGE-L, and METEOR scores
Effective across patch description, accuracy prediction, and intention identification
Abstract
Patch representation is crucial in automating various software engineering tasks, like determining patch accuracy or summarizing code changes. While recent research has employed deep learning for patch representation, focusing on token sequences or Abstract Syntax Trees (ASTs), they often miss the change's semantic intent and the context of modified lines. To bridge this gap, we introduce a novel method, Patcherizer. It delves into the intentions of context and structure, merging the surrounding code context with two innovative representations. These capture the intention in code changes and the intention in AST structural modifications pre and post-patch. This holistic representation aptly captures a patch's underlying intentions. Patcherizer employs graph convolutional neural networks for structural intention graph representation and transformers for intention sequence representation.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Reliability and Analysis Research · Software System Performance and Reliability
