Verification of Timed Erlang Programs Using McErlang
Abstract
There is a large number of works that apply model checking to timed specifications, however, there are far fewer attempts at model checking concurrent programs for which correct timed behaviour is crucial. In this work we explore the formal verification of timed programs written in the Erlang concurrent programming language, in its full complexity, using the McErlang model checker.We have extended the McErlang model checker with a timed semantics, similar to the timed semantics Lamport has developed for TLA and TLC, but with a few notable differences. In the paper we present the resulting semantics, its implementation in McErlang, and evaluate it using a number of examples. Among the examples is a process supervision component for controlling the processes in an Erlang application, which provides fault-tolerance.
Origin | Files produced by the author(s) |
---|
Loading...