Automatically closing open reactive programs

  • Authors:
  • Christopher Colby;Patrice Godefroid;Lalita Jategaonkar Jagadeesan

  • Affiliations:
  • Loyola University Chicago, Dept. of Math. and Comp. Sciences, 6525 N. Sheridan Rd., Chicago, IL;Bell Laboratories, Lucent Technologies, 1000 E. Warrenville Road, Naperville, IL;Bell Laboratories, Lucent Technologies, 1000 E. Warrenville Road, Naperville, IL

  • Venue:
  • PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
  • Year:
  • 1998

Quantified Score

Hi-index 0.00

Visualization

Abstract

We study in this paper the problem of analyzing implementations of open systems --- systems in which only some of the components are present. We present an algorithm for automatically closing an open concurrent reactive system with its most general environment, i.e., the environment that can provide any input at any time to the system. The result is a nondeterministic closed (i.e., self-executable) system which can exhibit all the possible reactive behaviors of the original open system. These behaviors can then be analyzed using VeriSoft, an existing tool for systematically exploring the state spaces of closed systems composed of multiple (possibly nondeterministic) processes executing arbitrary code. We have implemented the techniques introduced in this paper in a prototype tool for automatically closing open programs written in the C programming language. We discuss preliminary experimental results obtained with a large telephone-switching software application developed at Lucent Technologies.