Java PathFinder, A Translator from Java to Promela
Proceedings of the 5th and 6th International SPIN Workshops on Theoretical and Practical Aspects of SPIN Model Checking
A Survey of Program Slicing Techniques.
A Survey of Program Slicing Techniques.
Inferring Specifications to Detect Errors in Code
Proceedings of the 19th IEEE international conference on Automated software engineering
The software model checker Blast: Applications to software engineering
International Journal on Software Tools for Technology Transfer (STTT)
Principles of Model Checking (Representation and Mind Series)
Principles of Model Checking (Representation and Mind Series)
Design and Implementation of Retargetable Software Debugger Based on GDB
ICCIT '08 Proceedings of the 2008 Third International Conference on Convergence and Hybrid Information Technology - Volume 01
Model checking C source code for embedded systems
International Journal on Software Tools for Technology Transfer (STTT)
A Value Analysis for C Programs
SCAM '09 Proceedings of the 2009 Ninth IEEE International Working Conference on Source Code Analysis and Manipulation
CETS: compiler enforced temporal safety for C
Proceedings of the 2010 international symposium on Memory management
Verifying multi-threaded software using smt-based context-bounded model checking
Proceedings of the 33rd International Conference on Software Engineering
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
SMT-Based Bounded Model Checking for Embedded ANSI-C Software
IEEE Transactions on Software Engineering
Hi-index | 0.00 |
One of the main challenges in software development is to ensure the correctness and reliability of software systems. In this sense, a system failure or malfunction can result in a catastrophe especially in critical embedded systems. In the context of software verification, bounded model checkers (BMCs) have already been applied to discover subtle errors in real projects. When a model checker finds an error, it produces a counter-example. On one hand, the value of counter-examples to debug software systems is widely recognized in the state-of-the-practice. On the other hand, model checkers often produce counter-examples that are either too large or difficult to be understood mainly because of the software size and the values chosen by the respective solver. This paper proposes a method with the purpose of automating the collection and manipulation of counter-examples in order to generate new instantiated code to reproduce the identified error. The proposed method may be seen as a complementary technique for the verification performed by state-of-the-art BMC tools. In particular, we used the ESBMC model checker to show the effectiveness of the proposed method over publicly available benchmarks and, additionally, a comparison with the tool Frama-C.