Abstract. 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...
In this work we follow an intermediate approach that tries to use sound and conservative static code...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
Parallel and distributed programming languages often include explicit synchronization primitives, su...
Concurrent programming is hard and prone to subtle errors. In this paper we present a static analysi...
We propose an effect-based static analysis technique on communication for asynchronous concurrent pr...
We address the problem of detecting some commonly occurring kinds of race conditions in Erlang progr...
Erlang's powerful communication model allows us to build high-level concurrent systems. These can, h...
Algorithms are presented for detecting errors and anomalies in programs which use synchronization co...
We argue that runtime verification, in the guise of monitor-oriented programming, is a natural way h...
We present the techniques used in Concuerror, a systematic testing tool able to find and reproduce a...
This paper presents an approach to verify safety properties of Erlang-style, higher-order concurrent...
International audienceCommunications are a critical part of HPC simulations, and one of the main foc...
This paper discusses preliminary investigations on the behaviour of the error handling mechanisms in...
International audienceIn this paper, we present an insight of the two major contributions of works m...
Concurrent programs are pervasive owing to the increasing adoption of multi-core systems across the ...
In this work we follow an intermediate approach that tries to use sound and conservative static code...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
Parallel and distributed programming languages often include explicit synchronization primitives, su...
Concurrent programming is hard and prone to subtle errors. In this paper we present a static analysi...
We propose an effect-based static analysis technique on communication for asynchronous concurrent pr...
We address the problem of detecting some commonly occurring kinds of race conditions in Erlang progr...
Erlang's powerful communication model allows us to build high-level concurrent systems. These can, h...
Algorithms are presented for detecting errors and anomalies in programs which use synchronization co...
We argue that runtime verification, in the guise of monitor-oriented programming, is a natural way h...
We present the techniques used in Concuerror, a systematic testing tool able to find and reproduce a...
This paper presents an approach to verify safety properties of Erlang-style, higher-order concurrent...
International audienceCommunications are a critical part of HPC simulations, and one of the main foc...
This paper discusses preliminary investigations on the behaviour of the error handling mechanisms in...
International audienceIn this paper, we present an insight of the two major contributions of works m...
Concurrent programs are pervasive owing to the increasing adoption of multi-core systems across the ...
In this work we follow an intermediate approach that tries to use sound and conservative static code...
Software is becoming increasingly concurrent: parallelization, decentralization, and reactivity nece...
Parallel and distributed programming languages often include explicit synchronization primitives, su...