Verification of Erlang Processes by Dependency Pairs

  • Jürgen Giesl
  • Thomas Arts


Erlang is a functional programming language developed by Ericsson Telecom, which is particularly well suited for implementing concurrent processes. In this paper we show how methods from the area of term rewriting are presently used at Ericsson. To verify properties of processes, such a property is transformed into a termination problem of a conditional term rewriting system (CTRS). Subsequently, this termination proof can be performed automatically using dependency pairs.

The paper illustrates how the dependency pair technique can be applied for termination proofs of conditional TRSs. Secondly, we present three refinements of this technique, viz. narrowing, rewriting, and instantiating dependency pairs. These refinements are not only of use in the industrial applications sketched in this paper, but they are generally applicable to arbitrary (C)TRSs. Thus, in this way dependency pairs can be used to prove termination of even more (C)TRSs automatically.

Keywords: Verification, Distributed processes, Rewriting, Termination. 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Jürgen Giesl
    • 1
  • Thomas Arts
    • 2
  1. 1.LuFG Informatik II, RWTH Aachen, Ahornstrasse 55, 52074 Aachen, Germany (e-mail:
  2. 2.Computer Science Lab., Ericsson Utvecklings AB, Box 1505, 125 25 Älvsjö, Sweden (e-mail:

Personalised recommendations