Incremental Formula-Based Fix Localization
Automatically fixing bugs in software programs can significantly reduce the cost and improve the productivity of the software. Toward this goal, a critical and challenging problem is <i>automatic fix localization,</i> which identifies program locations where a bug fix can be synthesized....
Main Authors: | , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2021-12-01
|
Series: | Applied Sciences |
Subjects: | |
Online Access: | https://www.mdpi.com/2076-3417/11/1/303 |
id |
doaj-d79976f53f524833a9e38a988446dc47 |
---|---|
record_format |
Article |
spelling |
doaj-d79976f53f524833a9e38a988446dc472020-12-31T00:04:43ZengMDPI AGApplied Sciences2076-34172021-12-011130330310.3390/app11010303Incremental Formula-Based Fix LocalizationQuang-Ngoc Phung0Eunseok Lee1Department of Electrical and Computer Engineering, Sungkyunkwan University, Suwon 16419, KoreaCollege of Computing, Sungkyunkwan University, Suwon 16419, KoreaAutomatically fixing bugs in software programs can significantly reduce the cost and improve the productivity of the software. Toward this goal, a critical and challenging problem is <i>automatic fix localization,</i> which identifies program locations where a bug fix can be synthesized. In this paper, we present AgxFaults, a technique that automatically identifies minimal subsets of program statements at which a suitable modification can remove the error. AgxFaults works based on dynamically encoding semantic of program parts that are relevant to an observed error into an unsatisfiable logical formula and then manipulating this formula in an increasingly on-demand manner. We perform various experiments on faulty versions of the traffic collision avoidance system (TCAS) program in the Siemens Suite, programs in Bekkouche’s benchmark, and server real bugs in the Defects4J benchmark. The experimental results show that AgxFaults outperforms single-path-formula approaches in terms of effectiveness in finding fix localization and fault localization. AgxFaults is better than program-formula-based approaches in terms of efficiency and scalability, while providing similar effectiveness. Specifically, the solving time of AgxFaults is 28% faster, and the running time is 45% faster, than the program-formula-based approach, while providing similar fault localization results.https://www.mdpi.com/2076-3417/11/1/303automatic fix localizationdebuggingangelic valuemaximum satisfiabilityconcolic execution |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Quang-Ngoc Phung Eunseok Lee |
spellingShingle |
Quang-Ngoc Phung Eunseok Lee Incremental Formula-Based Fix Localization Applied Sciences automatic fix localization debugging angelic value maximum satisfiability concolic execution |
author_facet |
Quang-Ngoc Phung Eunseok Lee |
author_sort |
Quang-Ngoc Phung |
title |
Incremental Formula-Based Fix Localization |
title_short |
Incremental Formula-Based Fix Localization |
title_full |
Incremental Formula-Based Fix Localization |
title_fullStr |
Incremental Formula-Based Fix Localization |
title_full_unstemmed |
Incremental Formula-Based Fix Localization |
title_sort |
incremental formula-based fix localization |
publisher |
MDPI AG |
series |
Applied Sciences |
issn |
2076-3417 |
publishDate |
2021-12-01 |
description |
Automatically fixing bugs in software programs can significantly reduce the cost and improve the productivity of the software. Toward this goal, a critical and challenging problem is <i>automatic fix localization,</i> which identifies program locations where a bug fix can be synthesized. In this paper, we present AgxFaults, a technique that automatically identifies minimal subsets of program statements at which a suitable modification can remove the error. AgxFaults works based on dynamically encoding semantic of program parts that are relevant to an observed error into an unsatisfiable logical formula and then manipulating this formula in an increasingly on-demand manner. We perform various experiments on faulty versions of the traffic collision avoidance system (TCAS) program in the Siemens Suite, programs in Bekkouche’s benchmark, and server real bugs in the Defects4J benchmark. The experimental results show that AgxFaults outperforms single-path-formula approaches in terms of effectiveness in finding fix localization and fault localization. AgxFaults is better than program-formula-based approaches in terms of efficiency and scalability, while providing similar effectiveness. Specifically, the solving time of AgxFaults is 28% faster, and the running time is 45% faster, than the program-formula-based approach, while providing similar fault localization results. |
topic |
automatic fix localization debugging angelic value maximum satisfiability concolic execution |
url |
https://www.mdpi.com/2076-3417/11/1/303 |
work_keys_str_mv |
AT quangngocphung incrementalformulabasedfixlocalization AT eunseoklee incrementalformulabasedfixlocalization |
_version_ |
1724365477770166272 |