The design of concurrent programs is error-prone due to the interaction between concurrently executing threads. Traditional automated techniques for finding errors in concurrent ...
We show how model checking and symbolic execution can be used to generate test inputs to achieve structural coverage of code that manipulates complex data structures. We focus on ...
Willem Visser, Corina S. Pasareanu, Sarfraz Khursh...
Model checking based on validating temporal logic formulas has proven practical and effective for numerous software engineering applications. As systems based on this approach ha...
This paper describes our effort on developing educational materials on model checking to help foster the adoption of software model checking. We describe the course materials tha...
We sketch how to express typical features of agent communication protocols in a simple temporal logic and show that conformance verification at runtime reduces to a generalised f...
The interplay back and forth between software model checking and hardware model checking has been fruitful for both. Originally intended for the analysis of concurrent software, mo...
Edmund M. Clarke, Anubhav Gupta, Himanshu Jain, He...
Abstract. The paper presents methods for model checking a class of possibly infinite state concurrent programs using various types of bi-simulation reductions. The proposed method...
Embedded software verification is an important verification problem that requires the ability to reason about the timed semantics of concurrent behaviors at a low level of atomic...
Model checking is a useful method to verify automatically the correctness of a system with respect to a desired behavior, by checking whether a mathematical model of the system sat...
Abstract. Testing is the most common validation method in the software industry. It entails the execution of the software system in the real environment. Nevertheless, testing is a...