4.6 Article

Context-Aware Code Change Embedding for Better Patch Correctness Assessment

出版社

ASSOC COMPUTING MACHINERY
DOI: 10.1145/3505247

关键词

Automated program repair; patch correctness; deep learning

资金

  1. National Natural Science Foundation of China [61872445, 62002125, 61672529]

向作者/读者索取更多资源

Despite the overfitting problem in existing Automated Program Repair techniques, this study proposes an embedding approach that considers context information and program structures for patch correctness assessment. By utilizing deep learning-based classification and AST path technique for representation, the proposed method, named CACHE, outperforms existing techniques and achieves higher precision.
Despite the capability in successfully fixing more and more real-world bugs, existing Automated Program Repair (APR) techniques are still challenged by the long-standing overfitting problem (i.e., a generated patch that passes all tests is actually incorrect). Plenty of approaches have been proposed for automated patch correctness assessment (APCA). Nonetheless, dynamic ones (i.e., those that needed to execute tests) are time-consuming while static ones (i.e., those built on top of static code features) are less precise. Therefore, embedding techniques have been proposed recently, which assess patch correctness via embedding token sequences extracted from the changed code of a generated patch. However, existing techniques rarely considered the context information and program structures of a generated patch, which are crucial for patch correctness assessment as revealed by existing studies. In this study, we explore the idea of context-aware code change embedding considering program structures for patch correctness assessment. Specifically, given a patch, we not only focus on the changed code but also take the correlated unchanged part into consideration, through which the context information can be extracted and leveraged. We then utilize the AST path technique for representation where the structure information from AST node can be captured. Finally, based on several pre-defined heuristics, we build a deep learning based classifier to predict the correctness of the patch. We implemented this idea as CACHE and performed extensive experiments to assess its effectiveness. Our results demonstrate that CACHE can (1) perform better than previous representation learning based techniques (e.g., CACHE relatively outperforms existing techniques by approximate to 6%, approximate to 3%, and approximate to 16%, respectively under three diverse experiment settings), and (2) achieve overall higher performance than existing APCA techniques while even being more precise than certain dynamic ones including PATCH-SIM (92.9% vs. 83.0%). Further results reveal that the context information and program structures leveraged by CACHE contributed significantly to its outstanding performance.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.6
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据