International audienceWe consider the verified compilation of high-level managed languages like Java or C# whose intermediate representations provide support for shared-memory synchronization and automatic memory management. Our development is framed in the context of the Total Store Order relaxed memory model. Ensuring com-plier correctness is challenging because high-level actions are translated into sequences of non-atomic ac-tions with compiler-injected snippets of racy code; the behavior of this code depends not only on the actions of other threads, but also on out-of-order executions performed by the processor. A naïve proof of correctness would require reasoning over all possible thread interleavings. In this paper we propose a refin...
We present a proof calculus and method for the static verification of assertions and procedure speci...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
International audienceWe consider the verified compilation of high-level managed languages like Java...
We consider the verified compilation of high-level managed languages like Java or C # whose intermed...
Abstract. Mainstream programming languages offer libraries of concur-rent data structures. Each meth...
Abstract. A verified compiler is an integral part of every security infra-structure. Previous work h...
Verifying program transformations usually requires proving that the resulting program (the target) r...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
Shared memory concurrency is the pervasive programming model for multicore architectures such as x8...
Copyright is held by the owner/author(s). Despite much research on concurrent programming languages,...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services an...
Compilers transform programs, either to optimize performance or to translate language-level construc...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and...
We present a proof calculus and method for the static verification of assertions and procedure speci...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...
International audienceWe consider the verified compilation of high-level managed languages like Java...
We consider the verified compilation of high-level managed languages like Java or C # whose intermed...
Abstract. Mainstream programming languages offer libraries of concur-rent data structures. Each meth...
Abstract. A verified compiler is an integral part of every security infra-structure. Previous work h...
Verifying program transformations usually requires proving that the resulting program (the target) r...
Writing correct shared-memory concurrent programs is hard. Not only must a programmer reason about ...
Shared memory concurrency is the pervasive programming model for multicore architectures such as x8...
Copyright is held by the owner/author(s). Despite much research on concurrent programming languages,...
Abstract. We present a new abstract interpretation based approach for automat-ically verifying concu...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services an...
Compilers transform programs, either to optimize performance or to translate language-level construc...
Atomicity (or linearizability) is a commonly used consistency criterion for distributed services and...
We present a proof calculus and method for the static verification of assertions and procedure speci...
There is a broad design space for concurrent computer processors: they can be optimized for low powe...
Concurrency is ubiquitous in modern software. The computing base of systems software, including oper...