跳到主要导航 跳到搜索 跳到主要内容

CREX: Predicting patch correctness in automated repair of C programs through transfer learning of execution semantics

  • Dapeng Yan
  • , Kui Liu*
  • , Yuqing Niu
  • , Li Li
  • , Zhe Liu
  • , Zhiming Liu
  • , Jacques Klein
  • , Tegawendé F. Bissyandé
  • *此作品的通讯作者
  • Nanjing University of Aeronautics and Astronautics
  • Huawei Technologies Co., Ltd.
  • Monash University
  • Northwestern Polytechnical University Xian
  • University of Luxembourg

科研成果: 期刊稿件文章同行评审

摘要

A significant body of automated program repair literature relies on test suites to assess the validity of generated patches. Because such oracles are weak, state-of-the-art repair tools can validate some patches that overfit the test cases but are actually incorrect. This situation has become a prime concern in APR, hindering its adoption by the industry. This work investigates execution semantic features based on micro-traces, a form of under-constrained dynamic traces. We build on transfer learning to explore function code representations that are amenable to semantic similarity computation and can therefore be leveraged for classifying patch correctness. Our CREX prototype implementation is based on the TREX framework. Experimental results on patches generated by the CoCoNut APR tool on CodeFlaws programs indicate that our approach can yield high accuracy in predicting patch correctness. The learned embeddings were proven to capture semantic similarities between functions, which was instrumental in training a classifier that identifies patch correctness by learning to discriminate between correctly patched code and incorrectly patched code based on their semantic similarity with the buggy function.

源语言英语
期刊论文编号107043
期刊Information and Software Technology
152
DOI
出版状态已出版 - 12月 2022
已对外发布

学术指纹

探究 'CREX: Predicting patch correctness in automated repair of C programs through transfer learning of execution semantics' 的科研主题。它们共同构成独一无二的学术指纹。

引用此