Design and validation of computer protocols
Design and validation of computer protocols
Concurrent programming in ERLANG (2nd ed.)
Concurrent programming in ERLANG (2nd ed.)
Bandera: a source-level interface for model checking Java programs
Proceedings of the 22nd international conference on Software engineering
Global scheduler properties derived from local restrictions
Proceedings of the 2002 ACM SIGPLAN workshop on Erlang
On Combining Functional Verification and Performance Evaluation Using CADP
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
VoDKA: Developing a Video-on-Demand Server using Distributed Functional Programming
Journal of Functional Programming
Model checking erlang programs: the functional approach
Proceedings of the 2006 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
Implementing an LTL-to-Büchi translator in Erlang: a protest experience report
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
A Case Study on Verifying a Supervisor Component Using McErlang
Electronic Notes in Theoretical Computer Science (ENTCS)
Verification of timed erlang programs using mcerlang
FMOODS'12/FORTE'12 Proceedings of the 14th joint IFIP WG 6.1 international conference and Proceedings of the 32nd IFIP WG 6.1 international conference on Formal Techniques for Distributed Systems
Hi-index | 0.00 |
The article describes a method to obtain performance measurements from complex distributed systems using a model checking approach. We illustrate the approach by applying it to a Video-on-Demand application developed in Erlang. To obtain performance measurements concerning e.g. streaming capacity, and identify system bottlenecks, we used the McErlang model checker which implements a large part of the Erlang API. Answers to capacity queries are computed as measures over paths in the system state graph, and the combination of an on-the-fly model checker (not requiring the generation of the complete state graph) with a powerful language (Erlang itself) for expressing correctness claims, made it possible to analyse substantially sized systems.