Results 1  10
of
13
On the Structure of Inductive Reasoning: Circular and TreeShaped Proofs in the µCalculus
 IN PROCEEDINGS OF FOSSACS 2003
, 2003
"... In this paper we study induction in the context of the firstorder µcalculus with explicit approximations. We present and compare two Gentzenstyle proof systems each using a different type of induction. The first is ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
In this paper we study induction in the context of the firstorder µcalculus with explicit approximations. We present and compare two Gentzenstyle proof systems each using a different type of induction. The first is
Sequent Calculi for Process Verification: HennessyMilner Logic for an Arbitrary GSOS
, 2003
"... We argue that, by supporting a mixture of “compositional” and “structural” styles of proof, sequentbased proof systems provide a useful framework for the formal verification of processes. As a worked example, we present a sequent calculus for establishing that processes from a process algebra satis ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
We argue that, by supporting a mixture of “compositional” and “structural” styles of proof, sequentbased proof systems provide a useful framework for the formal verification of processes. As a worked example, we present a sequent calculus for establishing that processes from a process algebra satisfy assertions in HennessyMilner logic. The main novelty lies in the use of the operational semantics to derive introduction rules, on the left and right of sequents, for the operators of the process calculus. This gives a generic proof system applicable to any process algebra with an operational semantics specified in the GSOS format. Using a general algebraic notion of GSOS model, we prove a completeness theorem for the cutfree fragment of the proof system, thereby establishing the admissibility of the cut rule. Under mild (and necessary) conditions on the process algebra, an ωcompleteness result, relative to the “intended” model of closed process terms, follows.
McErlang: A Model Checker for a Distributed Functional Programming Language
 ICFP'07
, 2007
"... We present a model checker for verifying distributed programs written in the Erlang programming language. Providing a model checker for Erlang is especially rewarding since the language is by now being seen as a very capable platform for developing industrial strength distributed applications with e ..."
Abstract

Cited by 11 (1 self)
 Add to MetaCart
We present a model checker for verifying distributed programs written in the Erlang programming language. Providing a model checker for Erlang is especially rewarding since the language is by now being seen as a very capable platform for developing industrial strength distributed applications with excellent failure tolerance characteristics. In contrast to most other Erlang verification attempts, we provide support for a very substantial part of the language. The model checker has full Erlang data type support, support for general process communication, node semantics (interprocess behave subtly different from intraprocess communication), fault detection and fault tolerance through process linking, and can verify programs written using the OTP Erlang component library (used by most modern Erlang programs). As the model checking tool is itself implemented in Erlang we benefit from the advantages that a (dynamically typed) functional programming language offers: easy prototyping and experimentation with new verification algorithms, rich executable models that use complex data structures directly programmed in Erlang, the ability to treat executable models interchangeably as programs (to be executed directly by the Erlang interpreter) and data, and not least the possibility to cleanly structure and to cleanly combine various verification subtasks. In the paper we discuss the design of the tool and provide early indications on its performance.
A Note on Global Induction Mechanisms in a µCalculus with Explicit Approximations
, 1999
"... We investigate a Gentzenstyle proof system for the firstorder µcalculus based on cyclic proofs, produced by unfolding fixed point formulas and detecting repeated proof goals. Our system uses explicit ordinal variables and approximations to support a simple semantic induction discharge conditio ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
We investigate a Gentzenstyle proof system for the firstorder µcalculus based on cyclic proofs, produced by unfolding fixed point formulas and detecting repeated proof goals. Our system uses explicit ordinal variables and approximations to support a simple semantic induction discharge condition which ensures the wellfoundedness of inductive reasoning. As the main result of this paper we propose a new syntactic discharge condition based on traces and establish its equivalence with the semantical condition. We give an automatatheoretic reformulation of this condition which is more suitable for practical proofs. For a detailed
A semantics for distributed erlang
 In Proceedings of the ACM SIPGLAN 2005 Erlang Workshop
, 2005
"... We propose an extension to Fredlund’s formal semantics for Erlang that models the concept of nodes. The motivation is that there exist sequences of events that can occur in practice, but are impossible to describe using a singlenode semantics, such as Fredlund’s. The consequence is that some errors ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
We propose an extension to Fredlund’s formal semantics for Erlang that models the concept of nodes. The motivation is that there exist sequences of events that can occur in practice, but are impossible to describe using a singlenode semantics, such as Fredlund’s. The consequence is that some errors in distributed systems might not be detected by model checkers based on Fredlund’s original semantics, or by other singlenode verification techniques such as testing. Our extension is modest; it reuses most of Fredlund’s work but adds an extra layer at the toplevel.
SemiAutomated Verification of Erlang Code
, 2001
"... Erlang is a functional programming language with support for concurrency and message passing communication that is used at Ericsson for developing telecommunication applications. We consider the challenge of verifying temporal properties of systems programmed in Erlang with dynamically evolving proc ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
Erlang is a functional programming language with support for concurrency and message passing communication that is used at Ericsson for developing telecommunication applications. We consider the challenge of verifying temporal properties of systems programmed in Erlang with dynamically evolving process structures. To accomplish this a rich verification framework for goaldirected, proof system based verification is used. This paper investigates the problem of semiautomating the verification task by identifying the proof parameters crucial for successful proof search. I.
Formal Verification of Processes
, 2001
"... We consider the problem of formally verifying of processes given in a process algebra with respect to specifications in the modal calculus. For this problem, we present a Gentzenstyle sequent calculus which can be used for different process algebras, and which allows compositional reasoning. The k ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We consider the problem of formally verifying of processes given in a process algebra with respect to specifications in the modal calculus. For this problem, we present a Gentzenstyle sequent calculus which can be used for different process algebras, and which allows compositional reasoning. The key property of this calculus, due to Dam and Gurov, is the use of explicit ordinal approximations in order to deal with properties expressed by fixedpoint operators.
Verifying Temporal Properties Using Explicit Approximants: Completeness for Contextfree Processes
 In FOSSACS '02
, 2002
"... We present a sequent calculus for formally verifying modal calculus properties of concurrent processes. Building on work by Dam and Gurov, the proof system contains rules for the explicit manipulation of fixedpoint approximants. We develop a new syntax for approximants, incorporating, in particula ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We present a sequent calculus for formally verifying modal calculus properties of concurrent processes. Building on work by Dam and Gurov, the proof system contains rules for the explicit manipulation of fixedpoint approximants. We develop a new syntax for approximants, incorporating, in particular, a mechanism for approximant modification. We make essential use of this feature to prove our main result: the sequent calculus is complete for establishing arbitrary calculus properties of contextfree processes.
A more accurate semantics for distributed Erlang
 In Proceedings of the ACM SIPGLAN 2007 Erlang Workshop
, 2007
"... In order to formally reason about distributed Erlang systems, it is necessary to have a formal semantics. In a previous paper we have proposed such a semantics for distributed Erlang. However, recent work with a model checker for Erlang revealed that the previous attempt was not good enough. In this ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
In order to formally reason about distributed Erlang systems, it is necessary to have a formal semantics. In a previous paper we have proposed such a semantics for distributed Erlang. However, recent work with a model checker for Erlang revealed that the previous attempt was not good enough. In this paper we present a more accurate semantics for distributed Erlang. The more accurate semantics includes several modifications and additions to the semantics for distributed Erlang proposed by Claessen and Svensson in 2005, which in turn is an extension to Fredlund’s formal singlenode semantics for Erlang. The most distinct addition to the previous semantics is the possibility to correctly model disconnected nodes.
Extracting the processes structure of ERLANG applications
"... Erlang is a concurrent functional language, especially tailored for distributed and faulttolerant software. Its strength has been demonstrated by several successful commercial applications. An important part of Erlang is its support for fault tolerance by implementing failurerecovery, through orga ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Erlang is a concurrent functional language, especially tailored for distributed and faulttolerant software. Its strength has been demonstrated by several successful commercial applications. An important part of Erlang is its support for fault tolerance by implementing failurerecovery, through organising the processes of an Erlang system into trees of processes, in which parent nodes monitor the failure status of their children and are responsible for their restart. In this paper we present ongoing work on a tool that captures the static part of the global process structure of an application Erlang. The tool extracts the process structure from the applications source code, and presents it as a process creation graph. The extracted process structure provides a starting point for understanding and analysis of aspects such as fault handling in Erlang applications.