Actors: a model of concurrent computation in distributed systems
Actors: a model of concurrent computation in distributed systems
Practical type inference based on success typings
Proceedings of the 8th ACM SIGPLAN international conference on Principles and practice of declarative programming
McErlang: a model checker for a distributed functional programming language
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Verification of timed erlang/OTP components using the process algebra μcrl
ERLANG '07 Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
ERLANG Programming
Communications of the ACM
Detection of asynchronous message passing errors using static analysis
PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
Efficient coverability analysis by proof minimization
CONCUR'12 Proceedings of the 23rd international conference on Concurrency Theory
Safety verification of asynchronous pushdown systems with shaped stacks
CONCUR'13 Proceedings of the 24th international conference on Concurrency Theory
Hi-index | 0.00 |
This paper presents Soter, a fully-automatic program analyser and verifier for Erlang modules. The fragment of Erlang accepted by Soter includes the higher-order functional constructs and all the key features of actor concurrency, namely, dynamic and possibly unbounded spawning of processes and asynchronous message passing. Soter uses a combination of static analysis and infinite-state model checking to verify safety properties specified by the user. Given an Erlang module and a set of properties, Soter first extracts an abstract (approximate but sound) model in the form of an actor communicating system (ACS), and then checks if the properties are satisfied using a Petri net coverability checker, BFC. To our knowledge, Soter is the first fully-automatic, infinite-state model checker for a large fragment of Erlang. We find that in practice our abstraction technique is accurate enough to verify an interesting range of safety properties such as mutual-exclusion and boundedness of mailboxes. Though the ACS coverability problem is Expspace-complete, Soter can analyse these problems surprisingly efficiently.