Detecting equality of variables in programs
POPL '88 Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Efficient generation of counterexamples and witnesses in symbolic model checking
DAC '95 Proceedings of the 32nd annual ACM/IEEE Design Automation Conference
MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems
MICRO 30 Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture
Empirical Studies of a Safe Regression Test Selection Technique
IEEE Transactions on Software Engineering
Chaff: engineering an efficient SAT solver
Proceedings of the 38th annual Design Automation Conference
Using symbolic execution for verifying safety-critical systems
Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
From symptom to cause: localizing errors in counterexample traces
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Fate and Free Will in Error Traces
TACAS '02 Proceedings of the 8th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Modular Verification of Software Components in C
IEEE Transactions on Software Engineering
Explaining abstract counterexamples
Proceedings of the 12th ACM SIGSOFT twelfth international symposium on Foundations of software engineering
TACAS'03 Proceedings of the 9th international conference on Tools and algorithms for the construction and analysis of systems
What went wrong: explaining counterexamples
SPIN'03 Proceedings of the 10th international conference on Model checking software
Proceedings of the 5th international conference on Generative programming and component engineering
Automatically finding patches using genetic programming
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
On the notion of vacuous truth
LPAR'07 Proceedings of the 14th international conference on Logic for programming, artificial intelligence and reasoning
Increasing the accuracy of SAT-based debugging
Proceedings of the Conference on Design, Automation and Test in Europe
Finding common ground: choose, assert, and assume
Proceedings of the 2012 Workshop on Dynamic Analysis
Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering
Current challenges in automatic software repair
Software Quality Control
Minimizing models for tseitin-encoded SAT instances
SAT'13 Proceedings of the 16th international conference on Theory and Applications of Satisfiability Testing
Hi-index | 0.00 |
The value of model checking counterexamples for debugging programs (and specifications) is widely recognized. Unfortunately, bounded model checkers often produce counterexamples that are difficult to understand due to the values chosen by a SAT solver. This paper presents two approaches to making better use of BMC counterexamples. The first contribution is a new notion of counterexample minimization that minimizes values with respect to the type system of the language being model checked, rather than at the level of SAT variables. Greedy and optimal approaches to the minimization problem are presented and compared. The second contribution extends a BMC-based error explanation approach to automatically hypothesize causes for the error in a counterexample. These hypotheses (in terms of relationships between variables) can be automatically checked to determine if a causal dependence exists. Experimental results show that causes can be automatically determined for errors in interesting ANSI C programs.