Incorrectness separation logic (ISL) was recently introduced as a theory of under-Approximate reasoning, with the goal of proving that compositional bug catchers find actual bugs. However, ISL only considers sequential programs. Here, we develop concurrent incorrectness separation logic (CISL), which extends ISL to account for bug catching in concurrent programs. Inspired by the work on Views, we design CISL as a parametric framework, which can be instantiated for a number of bug catching scenarios, including race detection, deadlock detection, and memory safety error detection. For each instance, the CISL meta-Theory ensures the soundness of incorrectness reasoning for free, thereby guaranteeing that the bugs detected are true positives
Variants of Kleene algebra have been used to provide foundations of reasoning about programs, for in...
In this paper, we develop a novel verification technique to reason about programs featuring concurre...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Incorrectness separation logic (ISL) was recently introduced as a theory of under-approximate reason...
There is a large body of work on concurrent reasoning including Rely-Guarantee (RG) and Concurrent S...
There has been a large body of work on local reasoning for proving the absence of bugs, but none for...
Incorrectness Logic (IL) has recently been advanced as a logical theory for compositionally proving ...
Incorrectness Logic (IL) has recently been advanced as a logical theory for compositionally proving ...
Separation logic's compositionality and local reasoning properties have led to significant advances ...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
To reduce the complexity of debugging multithreaded pro-grams, researchers have developed compile- a...
Abstract—To reduce the complexity of debugging multithreaded programs, researchers have developed ma...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Variants of Kleene algebra have been used to provide foundations of reasoning about programs, for in...
In this paper, we develop a novel verification technique to reason about programs featuring concurre...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Incorrectness separation logic (ISL) was recently introduced as a theory of under-approximate reason...
There is a large body of work on concurrent reasoning including Rely-Guarantee (RG) and Concurrent S...
There has been a large body of work on local reasoning for proving the absence of bugs, but none for...
Incorrectness Logic (IL) has recently been advanced as a logical theory for compositionally proving ...
Incorrectness Logic (IL) has recently been advanced as a logical theory for compositionally proving ...
Separation logic's compositionality and local reasoning properties have led to significant advances ...
Concurrent programs are notoriously difficult to write correctly, as scheduling nondeterminism can i...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
To reduce the complexity of debugging multithreaded pro-grams, researchers have developed compile- a...
Abstract—To reduce the complexity of debugging multithreaded programs, researchers have developed ma...
Developing correct, scalable and efficient concurrent programs is a complex and difficult task, due ...
As computing hardware moves to multi-core systems, future software needs to be parallelized in order...
Variants of Kleene algebra have been used to provide foundations of reasoning about programs, for in...
In this paper, we develop a novel verification technique to reason about programs featuring concurre...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...