Multithreaded 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 com...
International audienceIn the realm of embedded critical systems, it is crucial to guarantee the corr...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...
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...
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...
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...
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...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
We propose a modular, assertion-based system for verification and debugging of large logic programs,...
AbstractReasoning about multithreaded object-oriented programs is difficult, due to the non-local na...
Abstract. We propose a modular, assertion-based system for verification and debugging of large logic...
International audienceIn the realm of embedded critical systems, it is crucial to guarantee the corr...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...
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...
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...
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...
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...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
We propose a modular, assertion-based system for verification and debugging of large logic programs,...
AbstractReasoning about multithreaded object-oriented programs is difficult, due to the non-local na...
Abstract. We propose a modular, assertion-based system for verification and debugging of large logic...
International audienceIn the realm of embedded critical systems, it is crucial to guarantee the corr...
Multi-core machines have become common and have led to an increase in multithreaded software. In tur...
Static analysis aims to certify critical software by establishing the absence of errors amongst ever...