Design and validation of computer protocols
Design and validation of computer protocols
Process algebra
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Formal Analysis of a Space-Craft Controller Using SPIN
IEEE Transactions on Software Engineering
ACSD '04 Proceedings of the Fourth International Conference on Application of Concurrency to System Design
Verifying fault-tolerant Erlang programs
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
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
Implementing an LTL-to-Büchi translator in Erlang: a protest experience report
Proceedings of the 8th ACM SIGPLAN workshop on ERLANG
ERLANG Programming
Formally based tool support for model checking Erlang applications
International Journal on Software Tools for Technology Transfer (STTT)
Verification of language based fault-tolerance
EUROCAST'05 Proceedings of the 10th international conference on Computer Aided Systems Theory
Hi-index | 0.00 |
Model-checking programs is important in the development of a reliable software system. Two approaches might be applied to model-check a system at a source code level. One is to directly apply model-checking algorithm to the programming language; the other to abstract the program source codes into a formal specification, upon which some standard model-checkers can be used to verify system's properties. Both methods have recently been investigated for model-checking the functional programming language Erlang. Correspondingly, two Erlang model-checkers McErlang and Etomcrl2 are developed. This paper evaluates the two model-checkers by applying them to verify a a distributed and concurrent example - telecoms implemented in Erlang/OTP. A number of system's key properties are model-checked with both tool-sets. Advantages and disadvantages upon the uses of Etomcrl2 and McErlang are compared and summarized. Through such a case study, we intend to evaluate the two model-checkers on their effectiveness when verifying distributed and concurrent systems, and propose suggestions for their future work.