skip to main content
10.1145/1159789.1159798acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

Towards automatic verification of Erlang programs by π-calculus translation

Published: 16 September 2006 Publication History

Abstract

ERLANG is a concurrent, dynamically typed, distributed, purely functional programming language with non-purely functional libraries that is mainly employed in telecommunication systems. This paper provides a contribution to the formal modeling and verificationn of programs written in Erlang. It presents a mapping of Erlang programs to the π-calculus, a process algebra whose name-passing feature allows representation of the mobile aspects of software written in Erlang in a natural way.

References

[1]
J. Armstrong, S. Virding, M. Williams, and C.Wikström. Concurrent Programming in Erlang. Prentice Hall International, 2nd edition, 1996.
[2]
T. Arts, C. Earle, and J. Derrick. Development of a verified Erlang program for resource locking. International Journal on Software Tools for Technology Transfer, 5:205--220, 2004.
[3]
R. Carlsson. An introduction to Core Erlang. In Proceedings of the PLI '01 Erlang Workshop, 2001. http://www.it.uu.se/research/group/hipe/corerl/doc/cerl_intro.ps.
[4]
R. Carlsson, B. Gustavsson, E. Johansson, T. Lindgren, S. O. Nystörm, M. Pettersson, and R. Virding. Core Erlang 1.0.3 language specification. Technical report, Uppsala University, Sweden, 2004. http://www.it.uu.se/research/group/hipe/corerl/doc/core_erlang-1.0.3.pdf.
[5]
E. Clarke, O. Grumberg, and D. Peled. Model Checking. TheMIT Press, 1999.
[6]
L. Fredlund, D. Gurov, and T. Noll. Semi-automated verification of Erlang code. In 16th IEEE International Conference on Automated Software Engineering (ASE'01), pages 319--323. IEEE Computer Society Press, 2001.
[7]
L. Å. Fredlund, D. Gurov, T. Noll, M. Dam, T. Arts, and G. Chugunov. A verification tool for Erlang. International Journal on Software Tools for Technology Transfer, 4(4):405--420, 2002.
[8]
The HD-Automata Laboratory (HAL). http://fmt.isti.cnr.it:8080/hal/.
[9]
M. Lange, M. Leucker, T. Noll, and S. Tobies. Truth - a verification platform for concurrent systems. In Tool Support for System Specification, Development, and Verification, Advances in Computing Science, pages 150--159. Springer-Verlag Wien, 1999.
[10]
R. Milner. Communication and Concurrency. International Series in Computer Science. Prentice-Hall, 1989.
[11]
R. Milner, J. Parrow, and D. Walker. A calculus of mobileprocesses. Information and Computation, 100(1):1--77, 1992.
[12]
The Mobility Workbench (MWB). http://www.it.uu.se/research/group/mobility/mwb/.
[13]
T. Noll. A rewriting logic implementation of Erlang. In Proceedings of First Workshop on Language Descriptions, Tools and Applications (ETAPS/LDTA'01), volume 44(2) of Electronic Notes in Theoretical Computer Science. Elsevier Science Publishers, 2001.
[14]
T. Noll. Equational abstractions for model checking erlang programs. In Proceedings of the International Workshop on Software Verification and Validation (SVV 2003), Volume 118 of Electronic Notes in Theoretical Computer Science. Elsevier, 2005.
[15]
Pi2Promela. http://lcs.ios.ac.cn/~wp/pi2pro.html.
[16]
C. K. Roy. Modelling programming languages for concurrent and distributed systems in specification languages. Master's thesis, RWTH Aachen University, Germany, 2004. http://wwwi2.informatik.rwth-aachen.de/Staff/Current/noll/Teaching/Roy/.
[17]
C. Wiklander. Verification of Erlang programs using SPIN. Technical report, Department of Teleinformatics, Royal Institute of Technology, Stockholm, Sweden, 1999.
[18]
T. Noll and C. K. Roy. Modeling Erlang in the Pi-Calculus. In Proceedings of the 2005 ACM SIGPLAN workshop on Erlang, Tallinn, Estonia, 2005.
[19]
Spatial LogicModel Checker (SLMC). http://www-ctp.di.fct.unl.pt/SLMC/
[20]
T. Arts, C. Earle, and J. Penas. Translating Erlang to ?CRL. In Proceedings of the International Conference on Application of Concurrency to System Design (ACSD2004). IEEE Computer Society Press, June 2004.
[21]
M. Castro. Erlang in Real Time. RMIT University, 2001.
[22]
The SPIN Model Checker. http://spinroot.com/spin/whatispin.html
[23]
The μCRL Language. http://homepages.cwi.nl/~mcrl/
[24]
Construction and Analysis of Distributed Processes(CADP) Tool. http://www.inrialpes.fr/vasy/cadp/
[25]
The Behave Project. http://research.microsoft.com/behave/
[26]
M. Leucker and T. Noll. A Distributed Model Checking Tool Tailored to Erlang. In Proc. of Erlang Workshop at PLI'01, 2001.

Cited By

View all
  • (2014)Towards Erlang Verification by Term RewritingLogic-Based Program Synthesis and Transformation10.1007/978-3-319-14125-1_7(109-126)Online publication date: 11-Dec-2014
  • (2013)The Buffered π-Calculus: A Model for Concurrent LanguagesLanguage and Automata Theory and Applications10.1007/978-3-642-37064-9_23(250-261)Online publication date: 2013
  • (2009)Development of a distributed system applied to teaching and learningProceedings of the 8th ACM SIGPLAN workshop on ERLANG10.1145/1596600.1596607(41-50)Online publication date: 5-Sep-2009
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ERLANG '06: Proceedings of the 2006 ACM SIGPLAN workshop on Erlang
September 2006
74 pages
ISBN:1595934901
DOI:10.1145/1159789
  • General Chair:
  • Marc Feeley,
  • Program Chair:
  • Phil Trinder
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 September 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. π-calculus
  2. functional programming languages
  3. mobile systems
  4. translation mapping

Qualifiers

  • Article

Conference

ICFP06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 51 of 68 submissions, 75%

Upcoming Conference

ICFP '25
ACM SIGPLAN International Conference on Functional Programming
October 12 - 18, 2025
Singapore , Singapore

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2014)Towards Erlang Verification by Term RewritingLogic-Based Program Synthesis and Transformation10.1007/978-3-319-14125-1_7(109-126)Online publication date: 11-Dec-2014
  • (2013)The Buffered π-Calculus: A Model for Concurrent LanguagesLanguage and Automata Theory and Applications10.1007/978-3-642-37064-9_23(250-261)Online publication date: 2013
  • (2009)Development of a distributed system applied to teaching and learningProceedings of the 8th ACM SIGPLAN workshop on ERLANG10.1145/1596600.1596607(41-50)Online publication date: 5-Sep-2009
  • (2009)Automatic assessment of failure recovery in Erlang applicationsProceedings of the 8th ACM SIGPLAN workshop on ERLANG10.1145/1596600.1596604(23-32)Online publication date: 5-Sep-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media