A syntactic theory of sequential control
Theoretical Computer Science
Proceedings of the international workshop on Automatic verification methods for finite state systems
Abstract interpretation: a semantics-based tool for program analysis
Handbook of logic in computer science (vol. 4)
An automata-theoretic approach to linear temporal logic
Proceedings of the VIII Banff Higher order workshop conference on Logics for concurrency : structure versus automata: structure versus automata
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Filter-based model checking of partial systems
SIGSOFT '98/FSE-6 Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
Checking that finite state concurrent programs satisfy their linear specification
POPL '85 Proceedings of the 12th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
On the verification of open distributed systems
SAC '98 Proceedings of the 1998 ACM symposium on Applied Computing
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
ERLANG for Concurrent Programming
ERLANG for Concurrent Programming
Staging Static Analyses Using Abstraction-Based Program Specialization
PLILP '98/ALP '98 Proceedings of the 10th International Symposium on Principles of Declarative Programming
Combining Partial Order Reductions with On-the-fly Model-Checking
CAV '94 Proceedings of the 6th International Conference on Computer Aided Verification
Bandera: extracting finite-state models from Java source code
Proceedings of the 22nd international conference on Software engineering
Concurrent Execution Semantics of DAML-S with Subtypes
ISWC '02 Proceedings of the First International Semantic Web Conference on The Semantic Web
Concurrent Semantics for the Web Services Specification Language DAML-S
COORDINATION '02 Proceedings of the 5th International Conference on Coordination Models and Languages
Verifying Erlang Code: A Resource Locker Case-Study
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
Verifying Generic Erlang Client-Server Implementations
IFL '00 Selected Papers from the 12th International Workshop on Implementation of Functional Languages
Evaluating distributed functional languages for telecommunications software
Proceedings of the 2003 ACM SIGPLAN workshop on Erlang
A soft-typing system for Erlang
Proceedings of the 2003 ACM SIGPLAN workshop on Erlang
A semantics for distributed Erlang
Proceedings of the 2005 ACM SIGPLAN workshop on Erlang
McErlang: a model checker for a distributed functional programming language
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
A more accurate semantics for distributed erlang
ERLANG '07 Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
Verification of timed erlang/OTP components using the process algebra μcrl
ERLANG '07 Proceedings of the 2007 SIGPLAN workshop on ERLANG Workshop
Verifying Erlang/OTP Components in μCRL
FORTE '07 Proceedings of the 27th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Verifying Erlang Telecommunication Systems with the Process Algebra μCRL
FORTE '08 Proceedings of the 28th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Automatic assessment of failure recovery in Erlang applications
Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
Recent improvements to the McErlang model checker
Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
Equational Abstractions for Model Checking Erlang Programs
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
We present an approach for the verification of Erlang programs using abstract interpretation and model checking. In general model checking for temporal logics like LTL and Erlang programs is undecidable. Therefore we define a frame-work for abstract interpretations for a core fragment of Erlang. In this framework it is guaranteed, that the abstract operational semantics preserves all paths of the standard operational semantics. We consider properties that have to hold on all paths of a system, like properties in LTL. If these properties can be proved for the abstract operational semantics, they also hold for the Erlang program. They can be proved with model checking if the abstract operational semantics is a finite transition system. Therefore we introduce a example abstract interpretation, which has this property. We have implemented this approach as a prototype and were able to prove properties like mutual exclusion or the absence of deadlocks and lifelocks for some Erlang programs.