Issues in slicing PROMELA and its applications to model checking, protocol understanding, and simulation

  • Lynette I. Millett
  • Tim Teitelbaum
Special section on SPIN

Abstract.

A program slice consists of the parts of a program that may affect or are affected by the value being computed at the point of interest. Recent work in slicing concurrent programs examines how synchronization, communication, and non-determinism (along with traditional control and data dependence) affect values at certain program points. We are extending this work to slice the Promela programming language, used to specify protocols for the Spin model checker. An application of slicing may be its usefulness in paring down protocol descriptions to just the pieces that affect particular points of interest. Model checking and simulation of the pared-down protocol may, in some cases, be much more efficient. We present program slicing as a tool that, along with model checking and simulation techniques, can facilitate understanding and debugging of protocols.

Key words: Program slicing – Model checking – Static analysis – Concurrent languages 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Lynette I. Millett
    • 1
  • Tim Teitelbaum
    • 1
  1. 1.Department of Computer Science, Cornell University, USA; E-mail: {millett,tt}@cs.cornell.eduUS

Personalised recommendations