A bounded constraint-based approach to aid in fault localization from a counterexample

被引:0
作者
Bekkouche, Mohammed [1 ]
机构
[1] Ecole Super Informat, LabRI SBA Lab, Sidi Bel Abbes, Algeria
关键词
Locating faults; Constraint programming; LocFaults; BugAssist; Minimal correction subset; Deviation; ALGORITHMS; SUBSETS;
D O I
10.1007/s11334-024-00558-1
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A model checker can produce a trace of counter-example for an erroneous program, which is often difficult to exploit for locating faults. In this paper, we propose a fault localization algorithm from counter-examples, named LocFaults, combining the approaches of Bounded Model-Checking (BMC) with a constraint satisfaction problem (CSP). The input is a faulty program for which a counter-example and a postcondition are provided. To identify helpful information for fault location, LocFaults analyzes the paths of the CFG (Control Flow Graph) of the erroneous program to calculate the subsets of suspicious instructions to correct the program. Indeed, we generate a system of constraints for paths of the control flow graph for which at most k conditional statements can be wrong. Then we calculate the MCSs (Minimal Correction Sets) of limited size on each of these paths. The removal of one of these sets of constraints yields a maximal satisfiable subset, in other words, a maximal subset of constraints satisfying the postcondition. LocFaults has been experimentally evaluated on a set of academic and realistic programs. The main advantage of this flow-driven approach is that the computed sets of suspicious instructions are small, each of them being associated with an identified path. Moreover, the constraint programming-based framework of LocFaults allows mixing Boolean and numerical constraints in an efficient and straightforward way.
引用
收藏
页数:19
相关论文
共 42 条
[11]   Fast heuristics for the maximum feasible subsystem problem [J].
Chinneck, JW .
INFORMS JOURNAL ON COMPUTING, 2001, 13 (03) :210-223
[12]   A tool for checking ANSI-C programs [J].
Clarke, E ;
Kroening, D ;
Lerda, F .
TOOLS AND ALGORITHMS FOR THE CONSTRUCTION AND ANALYSIS OF SYSTEMS, PROCEEDINGS, 2004, 2988 :168-176
[13]  
Clarke EdmundM., 1982, DESIGN SYNTHESIS SYN
[14]   Constraint-based BMC: a backjumping strategy [J].
Collavizza, Helene ;
Nguyen Le Vinh ;
Ponsini, Olivier ;
Rueher, Michel ;
Rollet, Antoine .
INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2014, 16 (01) :103-121
[15]   CPBPV: a constraint-programming framework for bounded program verification [J].
Collavizza, Helene ;
Rueher, Michel ;
Van Hentenryck, Pascal .
CONSTRAINTS, 2010, 15 (02) :238-264
[16]   A survey of automated techniques for formal software verification [J].
D'Silva, Vijay ;
Kroening, Daniel ;
Weissenbacher, Georg .
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2008, 27 (07) :1165-1178
[17]  
Dallmeier V, 2005, LECT NOTES COMPUT SC, V3586, P528
[18]  
Dutertre B., 2006, Tool paper, P1
[19]   FTFL: A Fisher's test-based approach for fault localization [J].
Dutta, Arpita ;
Kunal, Krishna ;
Srivastava, Saksham Sahai ;
Shankar, Shubham ;
Mall, Rajib .
INNOVATIONS IN SYSTEMS AND SOFTWARE ENGINEERING, 2021, 17 (04) :381-405
[20]  
Gotlieb A., 1998, Software Engineering Notes, V23, P53, DOI 10.1145/271775.271790