technical reportThis paper explores the practicality of conducting program analysis for multithreaded software using constraint solv- ing. By precisely defining the underlying memory consis- tency rules in addition to the intra-thread program seman- tics, our approach orders a unique advantage for program ver- ification | it provides an accurate and exhaustive coverage of all thread interleavings for any given memory model. We demonstrate how this can be achieved by formalizing sequen- tial consistency for a source language that supports control branches and a monitor-style mutual exclusion mechanism. We then discuss how to formulate programmer expectations as constraints and propose three concrete applications of this approach:...
Languages allowing explicitly parallel, multithreaded programming (e.g. Java and C#) need to specify...
We describe an approach to design static analysis and verification tools for concurrent programs tha...
Concurrent programming languages are growing in importance with the advent of multicore systems. Two...
This dissertation addresses the problem of automated reasoning about multi-threaded programs. Multi...
We describe a new sequentialization-based approach to the symbolic verification of multi-threaded pr...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Concurrent programming is notoriously difficult, but with multi-core processors becoming the norm, i...
International audienceWe present a static analysis by abstract interpretation of numeric properties ...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Effectively handling multithreaded programs is an active field of research in the context of formal ...
This version previously deposited at arXiv:1301.1629v1 [cs.LO]The vast number of interleavings that ...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Extracting causal models from observed executions has proved to be an effective approach to analyze ...
Languages allowing explicitly parallel, multithreaded programming (e.g. Java and C#) need to specify...
We describe an approach to design static analysis and verification tools for concurrent programs tha...
Concurrent programming languages are growing in importance with the advent of multicore systems. Two...
This dissertation addresses the problem of automated reasoning about multi-threaded programs. Multi...
We describe a new sequentialization-based approach to the symbolic verification of multi-threaded pr...
With the development of multi-core processors, concurrent programs are becoming more and more popula...
Concurrent programming is notoriously difficult, but with multi-core processors becoming the norm, i...
International audienceWe present a static analysis by abstract interpretation of numeric properties ...
Concurrency libraries can facilitate the development of multithreaded programs by providing concurre...
With the spread of multi-core systems, the need to write concurrent programs in order to take advant...
Effectively handling multithreaded programs is an active field of research in the context of formal ...
This version previously deposited at arXiv:1301.1629v1 [cs.LO]The vast number of interleavings that ...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
The lock-based shared memory model has proven to be error prone and difficult to test. Furthermore a...
Extracting causal models from observed executions has proved to be an effective approach to analyze ...
Languages allowing explicitly parallel, multithreaded programming (e.g. Java and C#) need to specify...
We describe an approach to design static analysis and verification tools for concurrent programs tha...
Concurrent programming languages are growing in importance with the advent of multicore systems. Two...