Skip to main content

Verification of Language Based Fault-Tolerance

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3643))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Armstrong, J.L., Virding, S.R., Williams, M.C., Wikström, C.: Concurrent Programming in Erlang, 2nd edn. Prentice Hall International, Englewood Cliffs (1996)

    Google Scholar 

  2. 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)

    Google Scholar 

  3. Benac Earle, C.: Model Checking the Interaction of Erlang Components. PhD thesis, University of Kent, UK (February 2005)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Groote, J.F.: The syntax and semantics of timed mCRL. Technical report SEN-R9709, CWI, Amsterdam (1997)

    Google Scholar 

  6. Janowski, T., Joseph, M.: Dynamic Scheduling and Fault-tolerance: Specification and Verification. In: Real-Time Systems, vol. 20(1). Kluwer Academic Publishers, Dordrecht (2001)

    Google Scholar 

  7. Kozen, D.: Results on the propositional μ-calculus. TCS 27, 333–354 (1983)

    Article  MATH  MathSciNet  Google Scholar 

  8. 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)

    Google Scholar 

  9. Rushby, J.: Systematic Formal Verification for Fault-Tolerant Time-Triggered Algorithms. IEEE Transactions on Software Engineering 25(5) (1999)

    Google Scholar 

  10. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics