Concurrent programming is hard and prone to subtle errors. In this paper we present a static analysis that is able to detect some commonly occurring kinds of message passing errors in languages with dynamic process creation and communication based on asynchronous message passing. Our analysis is completely automatic, fast, and strikes a proper balance between soundness and completeness: it is effective in detecting errors and avoids false alarms by computing a close approximation of the interprocess communication topology of programs. We have integrated our analysis in dialyzer, a widely used tool for detecting software defects in Erlang programs, and demonstrate its effectiveness on libraries and applications of considerable size. Despite ...
The strength of program static analysis techniques lies on its ability to detect faulty behaviors p...
We argue that runtime verification, in the guise of monitor-oriented programming, is a natural way h...
Abstract—Message passing is a very popular style of parallel programming, used in a wide variety of ...
Abstract. Concurrent programming is hard and prone to subtle errors. In this paper we present a stat...
We address the problem of detecting some commonly occurring kinds of race conditions in Erlang progr...
We propose an effect-based static analysis technique on communication for asynchronous concurrent pr...
Erlang's powerful communication model allows us to build high-level concurrent systems. These can, h...
We present the techniques used in Concuerror, a systematic testing tool able to find and reproduce a...
Algorithms are presented for detecting errors and anomalies in programs which use synchronization co...
This paper advocates the test-driven development of concurrent Erlang programs in order to detect ea...
International audienceCommunications are a critical part of HPC simulations, and one of the main foc...
International audienceIn this paper, we present an insight of the two major contributions of works m...
The development of concurrency in computer systems will be critically reviewed and an alternative st...
This paper presents an approach to verify safety properties of Erlang-style, higher-order concurrent...
Concurrent programs are pervasive owing to the increasing adoption of multi-core systems across the ...
The strength of program static analysis techniques lies on its ability to detect faulty behaviors p...
We argue that runtime verification, in the guise of monitor-oriented programming, is a natural way h...
Abstract—Message passing is a very popular style of parallel programming, used in a wide variety of ...
Abstract. Concurrent programming is hard and prone to subtle errors. In this paper we present a stat...
We address the problem of detecting some commonly occurring kinds of race conditions in Erlang progr...
We propose an effect-based static analysis technique on communication for asynchronous concurrent pr...
Erlang's powerful communication model allows us to build high-level concurrent systems. These can, h...
We present the techniques used in Concuerror, a systematic testing tool able to find and reproduce a...
Algorithms are presented for detecting errors and anomalies in programs which use synchronization co...
This paper advocates the test-driven development of concurrent Erlang programs in order to detect ea...
International audienceCommunications are a critical part of HPC simulations, and one of the main foc...
International audienceIn this paper, we present an insight of the two major contributions of works m...
The development of concurrency in computer systems will be critically reviewed and an alternative st...
This paper presents an approach to verify safety properties of Erlang-style, higher-order concurrent...
Concurrent programs are pervasive owing to the increasing adoption of multi-core systems across the ...
The strength of program static analysis techniques lies on its ability to detect faulty behaviors p...
We argue that runtime verification, in the guise of monitor-oriented programming, is a natural way h...
Abstract—Message passing is a very popular style of parallel programming, used in a wide variety of ...