National audienceFutures and promises are respectively a read-only and a write-once pointer to a placeholder in memory. They are used to transfer information between threads in the context of asynchronous concurrent programming. Futures and promises simplify the implementation of synchronisation mechanisms between threads. Nonetheless they can be error prone as data races may arise when references are shared and transferred. We aim at providing a formal tool to detect those errors. Hence, in this paper we propose a proof of concept by implementing the future/promise mechanism in Viper: a verification infrastructure, that provides a way to reason about resource ownership in programs
Inference rules are derived for proving partial correctness of concurrent programs that use message...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
A future is a well-known programming construct used to introduce concurrency to sequential programs....
International audienceIn many actor-based programming models, asynchronous method calls communicate ...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
This paper formalizes the observable interface behavior of a concurrent, object-oriented language wi...
Abstract Distributed and concurrent object-oriented systems are difficult to analyze due to the comp...
Best paper award.International audienceEfficiently distributing synchronous programs is a challengin...
AbstractThis paper formalizes the observable interface behavior of a concurrent, object-oriented lan...
Several static proof systems have been developed over the years for verifying shared-memory multithr...
We present the semantics and proof system for an object-oriented language with active objects, async...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
This paper formalizes the observable interface behavior of a concurrent, object-oriented language wi...
This paper formalizes the observable interface behavior of a concurrent, object-oriented language wi...
Inference rules are derived for proving partial correctness of concurrent programs that use message...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
A future is a well-known programming construct used to introduce concurrency to sequential programs....
International audienceIn many actor-based programming models, asynchronous method calls communicate ...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
Concurrent programs often make use of futures, handles to the results of asynchronous operations. Fu...
This paper formalizes the observable interface behavior of a concurrent, object-oriented language wi...
Abstract Distributed and concurrent object-oriented systems are difficult to analyze due to the comp...
Best paper award.International audienceEfficiently distributing synchronous programs is a challengin...
AbstractThis paper formalizes the observable interface behavior of a concurrent, object-oriented lan...
Several static proof systems have been developed over the years for verifying shared-memory multithr...
We present the semantics and proof system for an object-oriented language with active objects, async...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
This paper formalizes the observable interface behavior of a concurrent, object-oriented language wi...
This paper formalizes the observable interface behavior of a concurrent, object-oriented language wi...
Inference rules are derived for proving partial correctness of concurrent programs that use message...
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of...
A future is a well-known programming construct used to introduce concurrency to sequential programs....