Abstract
In this paper we target the verification of fault tolerant aspects of distributed applications written in the Erlang programming language. Erlang programmers mostly work with ready-made language components. Our approach to verification of fault tolerance is to verify systems built using a central component of most Erlang software, a generic server component with fault tolerance handling.
To verify such Erlang programs we automatically translate them into processes of the μCRL process algebra, generate their state spaces, and use a model checker to determine whether they satisfy correctness properties specified in the μ-calculus.
The key observation of this paper is that, due to the usage of these higher-level design patterns, the state space generated from a Erlang program, even with failures occurring, is relatively small, and can be generated automatically.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Armstrong, J.L., Virding, S.R., Williams, M.C., Wikström, C.: Concurrent Programming in Erlang, 2nd edn. Prentice Hall International, Englewood Cliffs (1996)
Arts, T., Benac Earle, C., Sànchez-Penas, J.J.: Translating Erlang to μCRL. Application of Concurrency to System Design. In: Proceedings of Fourth International Conference on ACSD 2004, June 2004, vol. 16(18), pp. 135–144 (2004)
Benac Earle, C.: Model Checking the Interaction of Erlang Components. PhD thesis, University of Kent, UK (February 2005)
Fernandez, J.-C., Garavel, H., Kerbrat, A., Mateescu, R., Mounier, L., Sighireau, M.: CADP (CÆSAR/ALDÈBARAN development package): A protocol validation and verification toolbox. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 437–440. Springer, Heidelberg (1996)
Groote, J.F.: The syntax and semantics of timed mCRL. Technical report SEN-R9709, CWI, Amsterdam (1997)
Janowski, T., Joseph, M.: Dynamic Scheduling and Fault-tolerance: Specification and Verification. In: Real-Time Systems, vol. 20(1). Kluwer Academic Publishers, Dordrecht (2001)
Kozen, D.: Results on the propositional μ-calculus. TCS 27, 333–354 (1983)
Mateescu, R.: Local Model-Checking of an Alternation-free Value-Based Modal Mu- Calculus. In: Proceedings of the International Workshop on Software Tools for Technology Transfer STTT 1998, Aalborg, Denmark (July 1998)
Rushby, J.: Systematic Formal Verification for Fault-Tolerant Time-Triggered Algorithms. IEEE Transactions on Software Engineering 25(5) (1999)
Schneider, F., Easterbrook, S.M., Callahan, J.R., Holzmann, G.H.: Validating Requirements for Fault Tolerant Systems using Model Checking. In: Proceedings, 3rd International Conference on Requirements Engineering, Colorado, Springs, April 1998, pp. 4–13 (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Earle, C.B., Fredlund, LÅ. (2005). Verification of Language Based Fault-Tolerance. In: Moreno Díaz, R., Pichler, F., Quesada Arencibia, A. (eds) Computer Aided Systems Theory – EUROCAST 2005. EUROCAST 2005. Lecture Notes in Computer Science, vol 3643. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11556985_19
Download citation
DOI: https://doi.org/10.1007/11556985_19
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29002-5
Online ISBN: 978-3-540-31829-3
eBook Packages: Computer ScienceComputer Science (R0)