Evaluating Representation Learning of Code Changes for Predicting Patch Correctness in Program Repair DOI Creative Commons
Haoye Tian, Kui Liu,

Abdoul Kader Kaboreé

et al.

arXiv (Cornell University), Journal Year: 2020, Volume and Issue: unknown

Published: Jan. 1, 2020

A large body of the literature automated program repair develops approaches where patches are generated to be validated against an oracle (e.g., a test suite). Because such can imperfect, patches, although by oracle, may actually incorrect. While state art explore research directions that require dynamic information or rely on manually-crafted heuristics, we study benefit learning code representations learn deep features encode properties patch correctness. Our work mainly investigates different representation for changes derive embeddings amenable similarity computations. We report findings based produced pre-trained and re-trained neural networks. Experimental results demonstrate potential empower algorithms in reasoning about correctness: machine predictor with BERT transformer-based associated logistic regression yielded AUC value 0.8 predicting correctness deduplicated dataset 1000 labeled patches. shows learned lead reasonable performance when comparing state-of-the-art, PATCH-SIM, which relies information. These further complementary were carefully (manually) engineered literature.

Language: Английский

Experience Report: How Effective is Automated Program Repair for Industrial Software? DOI

Kunihiro Noda,

Yusuke Nemoto,

Keisuke Hotta

et al.

Published: Feb. 1, 2020

Recent advances in automated program repair (APR) have widely caught the attention of industrial developers as a way reducing debugging costs. While hundreds studies evaluated effectiveness APR on open-source software, case been rarely reported; it is still unclear whether can work well for software. This paper reports our experience applying state-of-the-art technique, ELIXIR, to large software consisting 150+ Java projects and 13 years development histories. It provides lessons learned recommendations regarding obstacles use current APR: low recall (7.7%), lack bug-exposing tests (90%), success rate (10%), among others. We also report preliminary results ongoing improvement ELIXIR. With some simple enhancements, has greatly improved by up 40%.

Language: Английский

Citations

16

E-APR: Mapping the effectiveness of automated program repair techniques DOI
Aldeida Aleti, Matías Martínez

Empirical Software Engineering, Journal Year: 2021, Volume and Issue: 26(5)

Published: July 13, 2021

Language: Английский

Citations

11

A Survey on Automatic Bug Fixing DOI
Heling Cao,

Yangxia Meng,

Jianshu Shi

et al.

Published: Oct. 1, 2020

To reduce the cost of software debugging, Automatic Bug Fixing (ABF) techniques have been proposed for efficiently fixing and maintaining software, aiming to rapidly correct bugs in software. In this paper, we conduct a survey, analysing capabilities existing ABF based on test case set. We organize knowledge area by surveying 133 high-quality papers from 1990 June 2020 supplement 57 latest 2017 2020. This paper shows that approaches can be divided into three main strategies: search-based, semantic-based, template-based. Search-based considers using search strategies, such as genetic programming, context similarity, change programs one. Semantic-based involves symbolic execution constraint solving, satisfiability modulo theories solver, contracts, fix bugs. Different two kinds above, template-based is mainly templates, other programs, bug reports, Besides, provide summary commonly used defect benchmarks all available tools are frequently field ABF. also discuss empirical foundations argumentation prospect trend future study.

Language: Английский

Citations

6

Improving Patch Quality by Enhancing Key Components of Automatic Program Repair DOI
Mauricio Soto

2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE), Journal Year: 2019, Volume and Issue: unknown, P. 1230 - 1233

Published: Nov. 1, 2019

The error repair process in software systems is, historically, a resource-consuming task that relies heavily developer manual effort. Automatic program approaches enable the of with minimum human interaction, therefore, mitigating burden from developers. However, problem automatically generated patches commonly suffer is generating low-quality (which overfit to one specification, thus not generalizing an independent oracle evaluation). This work proposes set mechanisms increase quality plausible including analysis test suite behavior and their key characteristics for automatic repair, analyzing inform mutation operator selection distribution, study patch diversity as means create consolidated higher fixes.

Language: Английский

Citations

5

Evaluating Representation Learning of Code Changes for Predicting Patch Correctness in Program Repair DOI Creative Commons
Haoye Tian, Kui Liu,

Abdoul Kader Kaboreé

et al.

arXiv (Cornell University), Journal Year: 2020, Volume and Issue: unknown

Published: Jan. 1, 2020

A large body of the literature automated program repair develops approaches where patches are generated to be validated against an oracle (e.g., a test suite). Because such can imperfect, patches, although by oracle, may actually incorrect. While state art explore research directions that require dynamic information or rely on manually-crafted heuristics, we study benefit learning code representations learn deep features encode properties patch correctness. Our work mainly investigates different representation for changes derive embeddings amenable similarity computations. We report findings based produced pre-trained and re-trained neural networks. Experimental results demonstrate potential empower algorithms in reasoning about correctness: machine predictor with BERT transformer-based associated logistic regression yielded AUC value 0.8 predicting correctness deduplicated dataset 1000 labeled patches. shows learned lead reasonable performance when comparing state-of-the-art, PATCH-SIM, which relies information. These further complementary were carefully (manually) engineered literature.

Language: Английский

Citations

5