To simplify shared-memory concurrent programming, in addition to low-level synchronisation primitives, several modern programming languages have started to offer core support for higher-level communication primitives as well, in the guise of message passing through channels. Yet, a growing body of evidence suggests that channel-based programming abstractions for shared memory also have their issues.The Discourje project aims to help programmers cope with message-passing concurrency bugs in Clojure programs, based on run-time verification and dynamic monitoring. The idea is that programmers write not only implementations, but also specifications (of sessions of channel actions). Discourje then offers a library to ensure that implementations ...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
A memory model for a concurrent imperative programming lan-guage specifies which writes to shared va...
Recent advances in the formal verification of message-passing programs are based on proving that pro...
To simplify shared-memory concurrent programming, in addition to low-level synchronisation primitive...
To simplify shared-memory concurrent programming, languages have started to offer core support for h...
To simplify shared-memory concurrent programming, languages have started to offer core support for h...
This paper presents Discourje: a runtime verification framework for communication protocols in Cloju...
This paper presents Discourje: a runtime verification framework for communication protocols in Cloju...
In the past decades, many different programming models for managing concurrency in applications have...
Concurrency control in modern programming languages is typically managed using mechanisms based on m...
In the past decades, many different programming models for managing concurrency in applications have...
Communication-based software is ubiquitous nowadays. From e-banking to e-shopping, online activities...
We propose a high-level language based on first order logic for expressing synchronization in concur...
Concurrent programming is a useful technique for structuring many important classes of applications...
International audienceThe session-typed programming language Session Java (SJ) has proved to be an e...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
A memory model for a concurrent imperative programming lan-guage specifies which writes to shared va...
Recent advances in the formal verification of message-passing programs are based on proving that pro...
To simplify shared-memory concurrent programming, in addition to low-level synchronisation primitive...
To simplify shared-memory concurrent programming, languages have started to offer core support for h...
To simplify shared-memory concurrent programming, languages have started to offer core support for h...
This paper presents Discourje: a runtime verification framework for communication protocols in Cloju...
This paper presents Discourje: a runtime verification framework for communication protocols in Cloju...
In the past decades, many different programming models for managing concurrency in applications have...
Concurrency control in modern programming languages is typically managed using mechanisms based on m...
In the past decades, many different programming models for managing concurrency in applications have...
Communication-based software is ubiquitous nowadays. From e-banking to e-shopping, online activities...
We propose a high-level language based on first order logic for expressing synchronization in concur...
Concurrent programming is a useful technique for structuring many important classes of applications...
International audienceThe session-typed programming language Session Java (SJ) has proved to be an e...
Recent program logics based on separation logic emphasise a modular approach to proving functional c...
A memory model for a concurrent imperative programming lan-guage specifies which writes to shared va...
Recent advances in the formal verification of message-passing programs are based on proving that pro...