Abstract
We describe a case-study in which formal methods were used to verify an important responsiveness property of a distributed database system which is used heavily at Ericsson in a number of recent products. One of the aims of the project was to verify the actual running code which is written in the distributed functional language Erlang. In a joint project between SICS and Ericsson we have over the past few years been developing a tableau-based verification tool for Erlang of considerable scope. In particular, we are capable of addressing — on the level of running program code — systems with unbounded behaviour along the many dimensions in which this happens in “real” programs, involving datatypes, recursive control structures, error handling and recovery, initialisation, and dynamic process creation. The database lookup manager considered here contains most of these features, giving rise to infinite state behaviour which is not very adequately handled using model checking or other approaches based purely on state space traversal. In the paper we introduce the case study, our approach to formalisation and verification, and discuss our experiences using the Erlang verification tool. Industrial Applications, experience report
Chapter PDF
Similar content being viewed by others
Keywords
References
J. Armstrong, R. Verding, C. Wikstrüm and M. Wiliams, Concurrent Programming in Erlang. 2:nd edition, Prentice-Hall, 1996.
T. Arts, M. Dam, L-Å. Fredlund, and D. Gurov, System Description: Verification of Distributed Erlang Programs. In Proceedings 15th Conference on Automated Deduction, LNAI 1421, p. 38–42, July 1998.
T. Arts and J. Giesl, Applying Rewriting Techniques to the Verification of Erlang Processes. In Proceedings of the annual conference of the Euro-pean Association of Computer Science Logic, September 20-25, 1999. To appear in LNCS.
R. Cridlig, Semantic Analysis of Shared-Memory Concurrent Languages Using Abstract Model Checking. In Proc. PEPM’95.
M. Dam, Proving Properties of Dynamic Process Networks. Information and Computation, 140, p. 95–114, 1998.
M. Dam, L.-Å. Fredlund and D. Gurov, Toward Parametric Verification of Open Distributed Systems. H. Langmaack, A. Pnueli, W.-P. De Roever (eds.), Compositionality: The Significant Difference, Springer Verlag, 1998.
G. Dowek, A. Felty, H. Herbelin, G. Huet, C. Murthy, C. Parent, C. Paulin-Mohring, and B. Werner. The Coq proof assistant user guide, Technical report, INRIA-Rocquencourt, May 1993.
M. Frühlich and M. Werner. The graph visualization system daVinci-a user interface for applications. Technical Report 5/94, Department of Computer Science, Bremen University, 1994.
D. Kozen, Results on the propositional µ-calculus. Theoretical Computer Science, 27:333–354, 1983.
The Lego Proof Assistant, http://www.dcs.ed.ac.uk/home/lego/.
C. Wikström, Hans Nilsson and Håkan Mattson, Mnesia Database Management System, In Open Telecom Platform users manual, Open Systems, Ericsson Utvecklings AB, Stockholm, Sweden, 1997.
H. Nilsson, Patent application, 1999.
Open Source Erlang, http://www.erlang.org, 1998.
D. Park, Finiteness is mu-ineffable. Theoretical Computer Science, 3:173–181, 1976.
L. C. Paulson. Isabelle: A Generic Theorem Prover, LNCS 828, 1994
J. Rushby, S. Owre and N. Shankar. PVS: A prototype verification system. In Proceedings 11th Conference on Automated Deduction, LNAI 607, pp. 748–752, 1992.
N. Shankar.PVS: Combining specification, proof checking, and model checking. In Proceedings of Formal Methods in Computer-Aided Design, LNCS 1166, pp. 257–264, November 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Arts, T., Dam, M. (1999). Verifying a Distributed Database Lookup Manager Written in Erlang. In: Wing, J.M., Woodcock, J., Davies, J. (eds) FM’99 — Formal Methods. FM 1999. Lecture Notes in Computer Science, vol 1708. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48119-2_38
Download citation
DOI: https://doi.org/10.1007/3-540-48119-2_38
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66587-8
Online ISBN: 978-3-540-48119-5
eBook Packages: Springer Book Archive