Static Slicing of Reactive Programs ∗ (Extended Abstract)

This paper extends the well-known technique of program slicing to synchronous reactive programs like Esterel. Reactive programs are event-oriented and maintain continuous interaction with the environment. The traditional definition of slicing that preserves the values of a program variable at a particular program point is not natural for reactive programs. We have given a new notion of slicing that preserves the ongoing behaviour of a program with respect to one or more events. The classical definition of control dependency is inadequate for correctly capturing all the control dependencies in reactive programs. Two such dependenciesare interference control dependencyand time dependency. A slicing algorithm, based upon the proposed definition of slicing, is also presented.

[1]  Nicolas Halbwachs,et al.  Synchronous Programming of Reactive Systems , 1992, CAV.

[2]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[3]  Jianjun Zhao,et al.  Slicing concurrent Java programs , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[4]  Thomas W. Reps,et al.  Speeding up slicing , 1994, SIGSOFT '94.

[5]  Thomas Ball,et al.  Slicing Programs with Arbitrary Control-flow , 1993, AADEBUG.

[6]  Frank Tip,et al.  A survey of program slicing techniques , 1994, J. Program. Lang..

[7]  Joe D. Warren,et al.  The program dependence graph and its use in optimization , 1987, TOPL.

[8]  S. Ramesh,et al.  Slicing Synchronous Reactive Programs , 2002, SLAP@ETAPS.

[9]  Hiralal Agrawal On slicing programs with jump statements , 1994, PLDI '94.

[10]  Jens Krinke,et al.  Static slicing of threaded programs , 1998, PASTE '98.

[11]  Lynette I. Millett,et al.  Slicing Promela and its Applications to Model Checking, Simulation, and Protocol Understanding , 2002 .

[12]  Mangala Gowri Nanda,et al.  Slicing concurrent programs , 2000, ISSTA '00.

[13]  Vivek Sarkar,et al.  Compact representations for control dependence , 1990, PLDI '90.

[14]  Stephen Edwards,et al.  ESUIF: An Open Esterel Compiler , 2002, SLAP@ETAPS.

[15]  Mark Weiser,et al.  Program Slicing , 1981, IEEE Transactions on Software Engineering.