AbstractMultithreaded software systems are prone to errors due to the difficulty of reasoning about multiple interleaved threads operating on shared data. Static checkers that analyze a program's behavior over all execution paths and all thread interleavings are a powerful approach to identifying bugs in such systems. In this paper, we present Calvin, a scalable and expressive static checker for multithreaded programs based on automatic theorem proving. To handle realistic programs, Calvin performs modular checking of each procedure called by a thread using specifications of other procedures and other threads. Our experience applying Calvin to several real-world programs indicates that Calvin has a moderate annotation overhead and can catch...
International audienceIn the realm of embedded critical systems, it is crucial to guarantee the corr...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...
Multithreaded software systems are prone to errors due to the difficulty of reasoning about multiple...
AbstractMultithreaded software systems are prone to errors due to the difficulty of reasoning about ...
Ensuring the reliability of multithreaded software systems is difficult due to the interaction betwe...
We propose a modular, assertion-based system for verification and debugging of large logic programs,...
Abstract. We propose a modular, assertion-based system for verification and debugging of large logic...
Pthread-style multithreaded programs feature rich thread communication mechanisms, such as shared va...
Pthread-style multithreaded programs feature rich thread communication mechanisms, such as shared va...
Multi-threaded programming creates the fundamental problem that the execution of a program is no lon...
In this work we follow an intermediate approach that tries to use sound and conservative static code...
AbstractReasoning about multithreaded object-oriented programs is difficult, due to the non-local na...
Developing multithreaded programs has been difficult, especially when dealing with non-deterministic...
Threads communicate implicitly through shared mem-ory. Because of the random interleaving during the...
International audienceIn the realm of embedded critical systems, it is crucial to guarantee the corr...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...
Multithreaded software systems are prone to errors due to the difficulty of reasoning about multiple...
AbstractMultithreaded software systems are prone to errors due to the difficulty of reasoning about ...
Ensuring the reliability of multithreaded software systems is difficult due to the interaction betwe...
We propose a modular, assertion-based system for verification and debugging of large logic programs,...
Abstract. We propose a modular, assertion-based system for verification and debugging of large logic...
Pthread-style multithreaded programs feature rich thread communication mechanisms, such as shared va...
Pthread-style multithreaded programs feature rich thread communication mechanisms, such as shared va...
Multi-threaded programming creates the fundamental problem that the execution of a program is no lon...
In this work we follow an intermediate approach that tries to use sound and conservative static code...
AbstractReasoning about multithreaded object-oriented programs is difficult, due to the non-local na...
Developing multithreaded programs has been difficult, especially when dealing with non-deterministic...
Threads communicate implicitly through shared mem-ory. Because of the random interleaving during the...
International audienceIn the realm of embedded critical systems, it is crucial to guarantee the corr...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...