What causes a system to satisfy a specification?
ACM Transactions on Computational Logic (TOCL)
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Correcting Deadlocking Service Choreographies Using a Simulation-Based Graph Edit Distance
BPM '08 Proceedings of the 6th International Conference on Business Process Management
Property Patterns for Runtime Monitoring of Web Service Conversations
Runtime Verification
Automatic generation of local repairs for Boolean programs
Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design
Refining spectrum-based fault localization rankings
Proceedings of the 2009 ACM symposium on Applied Computing
A trace simplification technique for effective debugging of concurrent programs
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Automatic error correction of java programs
FMICS'10 Proceedings of the 15th international conference on Formal methods for industrial critical systems
Simultaneous debugging of software faults
Journal of Systems and Software
Counter example-based error localization of behavior models
NFM'11 Proceedings of the Third international conference on NASA Formal methods
Cause clue clauses: error localization using maximum satisfiability
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Bug-Assist: assisting fault localization in ANSI-C programs
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
An efficient static trace simplification technique for debugging concurrent programs
SAS'11 Proceedings of the 18th international conference on Static analysis
Counterfactually reasoning about security
Proceedings of the 4th international conference on Security of information and networks
Journal of Computer and System Sciences
Explaining counterexamples using causality
Formal Methods in System Design
Whodunit? causal analysis for counterexamples
ATVA'06 Proceedings of the 4th international conference on Automated Technology for Verification and Analysis
Preemption sealing for efficient concurrency testing
TACAS'10 Proceedings of the 16th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Counterexample explanation by anomaly detection
SPIN'12 Proceedings of the 19th international conference on Model Checking Software
FAuST: a framework for formal verification, automated debugging, and software test generation
SPIN'12 Proceedings of the 19th international conference on Model Checking Software
AI for the win: improving spectrum-based fault localization
ACM SIGSOFT Software Engineering Notes
Reusing debugging knowledge via trace-based bug search
Proceedings of the ACM international conference on Object oriented programming systems languages and applications
Automated feedback generation for introductory programming assignments
Proceedings of the 34th ACM SIGPLAN conference on Programming language design and implementation
Comparative causality: explaining the differences between executions
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
In the event that a system does not satisfy a specification, a model checker will typically automatically produce a counterexample trace that shows a particular instance of the undesirable behavior. Unfortunately, the important steps that follow the discovery of a counterexample are generally not automated. The user must first decide if the counterexample shows genuinely erroneous behavior or is an artifact of improper specification or abstraction. In the event that the error is real, there remains the difficult task of understanding the error well enough to isolate and modify the faulty aspects of the system. This paper describes a (semi-)automated approach for assisting users in understanding and isolating errors in ANSI C programs. The approach, derived from Lewis’ counterfactual approach to causality, is based on distance metrics for program executions. Experimental results show that the power of the model checking engine can be used to provide assistance in understanding errors and to isolate faulty portions of the source code.