Welcome on the website of Mohammed Bekkouche!

Tools to aid in error localization

This webpage is devoted to describe our error localization tool, LocFaults. We will also explain other tools that exist in the state of the art that we studied in our work (examples BugAssist, Tarantula).

Our tool "LocFaults"

  1. Abstract

  2. Obtain useful information to the error localization in an erroneous program is a task considered to be difficult, even for experienced programmers. The tool presented here, named LocFaults, by providing only relevant suspicious instructions, helps users in this task. From a counterexample, LocFaults explores the CFG of the program in depth and collects constraints of instructions for each path. When a wrong path is detected, the tool isolates the MCS (Minimal Correction Subset) sets of bounded size from the set of constraints corresponding to the path. Specifically, our algorithm propagates the counterexample on the CFG of the programme to explore the corresponding path (the path of counterexample). After, it starts looking suspicious instructions for the other erroneous paths by deviating at most K conditions from the path of the counterexample. If the resulting path satisfies the postcondition (in other words, if the output of the program after the deviation with the counterexample does not contradict the postcondition), it calculates the MCS on the path that reaches the final condition deviated ; otherwise, the path is discarded. To calculate the MCS, our tool uses different constraint solvers. Currently, we use IBM ILOG MIP CPLEX and IBM ILOG CP CPLEX.