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....

Full description

Bibliographic Details
Main Authors: Quang-Ngoc Phung, Eunseok Lee
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