arrow
返回

Nopol: Automatic Repair of Conditional Statement Bugs in Java Programs

delete2017-01-01
delete295
delete
OA
AI
J
Jifeng Xuan *
M
Matías Martínez
F
Favio DeMarco
M
Maxime Clément
S
Sebastian Lamelas Marcote
T
Thomas Durieux
D
Daniel Le Berre
M
Martin Monperrus
DOI:10.1109/TSE.2016.2560811delete
delete原文链接
delete分享
delete收藏
查看原文
摘要

摘要

En 中文
We propose NOPOL, an approach to automatic repair of buggy conditional statements (i.e., if-then-else statements). This approach takes a buggy program as well as a test suite as input and generates a patch with a conditional expression as output. The test suite is required to contain passing test cases to model the expected behavior of the program and at least one failing test case that reveals the bug to be repaired. The process of NOPOL consists of three major phases. First, NOPOL employs angelic fix localization to identify expected values of a condition during the test execution. Second, runtime trace collection is used to collect variables and their actual values, including primitive data types and objected-oriented features (e.g., nullness checks), to serve as building blocks for patch generation. Third, NOPOL encodes these collected data into an instance of a Satisfiability Modulo Theory (SMT) problem; then a feasible solution to the SMT instance is translated back into a code patch. We evaluate NOPOL on 22 real-world bugs (16 bugs with buggy IF conditions and six bugs with missing preconditions) on two large open-source projects, namely Apache Commons Math and Apache Commons Lang. Empirical analysis on these bugs shows that our approach can effectively fix bugs with buggy IF conditions and missing preconditions. We illustrate the capabilities and limitations of NOPOL using case studies of real bug fixes.
Keyword:
Automatic repair
patch generation
SMT
fault localization
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

IEEE Transactions on Software Engineering 封面图
IEEE Transactions on Software Engineering
IF:
5.6
论文数:
2.9K
被引数:
1.1W

机构

U
Universita della Svizzera Italiana
学者数:
3.3K
论文数: 2.8K
被引数: 3
U
University of Buenos Aires
学者数:
2.2W
论文数: 1.3W
被引数: 14
U
universite d'artois
学者数:
1.4K
论文数: 1.0K
被引数: 0
U
universite de lille
学者数:
2.7W
论文数: 2.0W
被引数: 15
W
wuhan university
学者数:
8.1W
论文数: 5.8W
被引数: 70
学者 查看更多机构
引用论文

引用论文

Balanocarpol, a new polyphenol from Balanocarpus zeylanicus(trimen) and Hopea jucunda(Thw.)(Dipterocarpaceae)
err1985-01-01
err0
PREAI
errM. N. Champika Diyasena; Subramaniam Sotheeswaran; Sivagnanasunderam Surendrakumar; Sinnathamby Balasubramanian; Michael Bokel; Wolfgang Kraus
err分享
err收藏
A molecular concept of the properdin pathway.
err1976-02-01
err0
errOAAI
errR G Medicus; R D Schreiber; O Götze; H J Müller-Eberhard
err分享
err收藏
Ultra-low-temperature cooling of two-dimensional electron gas
err2000-05-01
err0
PREAI
errJ.S Xia; E.D Adams; V Shvarts; W Pan; H.L Stormer; D.C Tsui
err分享
err收藏
Ebola virus sequencing protocol v1
err
IF0
err2019-09-25
err0
errOAAI
errJosh Quick
err分享
err收藏
err
IF0
err
err0
PREAI
err
err分享
err收藏
B-Refactoring: Automatic test code refactoring to improve dynamic analysis
err2016-08-01
err22
errOAAI
errXuan, Jifeng; Cornu, Benoit; Martinez, Matias; Baudry, Benoit; Seinturier, Lionel; Monperrus, Martin
err分享
err收藏
err分享
err收藏
学者 查看更多内容