Concurrent languages present complex problems for program analysis. Existing analyses are either imprecise, exponential, or apply only to languages with statically-allocated processes and channels. We present a new polynomial-time analysis using abstract interpretation that addresses the general problem of determining the communication topology of programs in a subset of Concurrent ML with arbitrary data structures, recursive higher-order functions, dynamic processor allocation, dynamic channel creation, and synchronous message-passing operations transmitand receive. The analysis addresses the following question: Which occurrences of transmit can match which occurrences of receive? The notion of occurrence is formalized as a control path ...
AbstractCommunication mechanisms are introduced into the program schemes of Concurrent Dynamic Logic...
We propose an effect-based static analysis technique on communication for asynchronous concurrent pr...
Analyzing the running time of a concurrent algorithm can be as important as verifying its partial c...
Powerful concurrency primitives in recent concurrent languages and thread libraries provide the grea...
Introduction: We consider a set of "distant" concurrent processes, each sequentially executing a dis...
International audienceWe propose a general analysis method for recursive, concurrent programs that t...
Starting from the process algebra for Concurrent ML we develop two program analyses that facili...
Standard techniques for analysing sequential programs are severely constrained when applied to a con...
Concurrent programming is a useful technique for structuring many important classes of applications...
Concurrent ML (CML) is a statically-typed higher-order concurrent language that is embedded in Stand...
We define a language and a predicative semantics to model concurrent real-time programs. We consider...
this paper we study CML [11] that extends Standard ML with primitives for communication; other langu...
We extend the relational approach to interprocedural analysis of sequential programs to concurrent p...
In order to verify program correctness one needs an appropriate programming language, a specificatio...
Much has been learned in the last decade about concurrent programming. This paper identifies the ma...
AbstractCommunication mechanisms are introduced into the program schemes of Concurrent Dynamic Logic...
We propose an effect-based static analysis technique on communication for asynchronous concurrent pr...
Analyzing the running time of a concurrent algorithm can be as important as verifying its partial c...
Powerful concurrency primitives in recent concurrent languages and thread libraries provide the grea...
Introduction: We consider a set of "distant" concurrent processes, each sequentially executing a dis...
International audienceWe propose a general analysis method for recursive, concurrent programs that t...
Starting from the process algebra for Concurrent ML we develop two program analyses that facili...
Standard techniques for analysing sequential programs are severely constrained when applied to a con...
Concurrent programming is a useful technique for structuring many important classes of applications...
Concurrent ML (CML) is a statically-typed higher-order concurrent language that is embedded in Stand...
We define a language and a predicative semantics to model concurrent real-time programs. We consider...
this paper we study CML [11] that extends Standard ML with primitives for communication; other langu...
We extend the relational approach to interprocedural analysis of sequential programs to concurrent p...
In order to verify program correctness one needs an appropriate programming language, a specificatio...
Much has been learned in the last decade about concurrent programming. This paper identifies the ma...
AbstractCommunication mechanisms are introduced into the program schemes of Concurrent Dynamic Logic...
We propose an effect-based static analysis technique on communication for asynchronous concurrent pr...
Analyzing the running time of a concurrent algorithm can be as important as verifying its partial c...