Authors
Divya Gopinath, Muhammad Zubair Malik, Sarfraz Khurshid
Publication date
2011
Conference
Tools and Algorithms for the Construction and Analysis of Systems: 17th International Conference, TACAS 2011, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2011, Saarbrücken, Germany, March 26–April 3, 2011. Proceedings 17
Pages
173-188
Publisher
Springer Berlin Heidelberg
Description
Removing bugs in programs – even when location of faulty statements is known – is tedious and error-prone, particularly because of the increased likelihood of introducing new bugs as a result of fixing known bugs. We present an automated approach for generating likely bug fixes using behavioral specifications. Our key insight is to replace a faulty statement that has deterministic behavior with one that has nondeterministic behavior, and to use the specification constraints to prune the ensuing nondeterminism and repair the faulty statement. As an enabling technology, we use the SAT-based Alloy tool-set to describe specification constraints as well as for solving them. Initial experiments show the effectiveness of our approach in repairing programs that manipulate structurally complex data. We believe specification-based automated debugging using SAT holds much promise.
Total citations
201020112012201320142015201620172018201920202021202220232024235101515112116111312124
Scholar articles
D Gopinath, MZ Malik, S Khurshid - Tools and Algorithms for the Construction and Analysis …, 2011