Title :
Localizing Program Errors via Slicing and Reasoning
Author :
Pu, Fei ; Zhang, Yan
Author_Institution :
Sch. of Comput. & Math., Univ. of Western Sydney, Sydney, NSW
Abstract :
Model-based program debugging exploits discrepancies between the program behavior anticipated by a programmer and the program´s actual behavior when executed on a set of inputs. From symptoms exhibited by a failing trace, potential culprits in the program canbe localized. However, since the cause of the error is nested deeper into the code than the error itself, localizing errors and correcting the errors are most time consuming hard work. The error trace produced by a model checker may contain more information than it appears. Thus, counter examples can be enough and are indicative for the cause of violation of the property. We present an assumption-based approach to localize the cause of a property violation using reasoning with constraints. In order to reduce the time consuming for error localizing, we first use dynamic program slicing to localize several statements to account for the violation of property. Assumption among these statements is then made to point out which statement(s) is (are) faulty. Some constraints will be introduced from the properties which are model checked for the program. A calculus of reasoning with these constraints is processed under the assumption along a counterexample. If the result may be consistent, the assumption is true (we can localize errors in those statements which the assumption suppose them to be faulty), otherwise, the assumption is wrong and another assumption should be made. Some examples support the applicability and effectiveness of our approach.
Keywords :
calculus; formal specification; program debugging; program slicing; reasoning about programs; dynamic program slicing; model checking; model-based program debugging; program behavior; program error localization; program failing trace; program reasoning calculus; program specification; program verification; Australia; Debugging; Error correction codes; Fault diagnosis; Heuristic algorithms; Intelligent systems; Laboratories; Mathematics; Programming profession; Systems engineering and theory; Constraint; Counterexample; Error Localization; Model Checking; Reasoning;
Conference_Titel :
High Assurance Systems Engineering Symposium, 2008. HASE 2008. 11th IEEE
Conference_Location :
Nanjing
Print_ISBN :
978-0-7695-3482-4
DOI :
10.1109/HASE.2008.17