# Ignoring nonessential interleavings in assertional reasoning on concurrent programs

## Abstract

An approach allowing one to simplify assertional reasoning on concurrent programs is presented. In the adopted assertional framework, to verify such properties as partial correctness, mutual exclusion, or deadlock freedom, the inductive assertions method is applied to a labelled transition systems representing a program, where concurrency is modelled by action interleavings. In order to tackle the problem of state explosion a notion of reduction of the transition system representing a verified program is introduced, where some transitions and configurations that arise from nonessential interleavings of actions are ignored. To isolate nonessential interleavings, the trace equivalence, in the sense of Mazurkiewicz, is exploited. Decidability of verifying whether a given labelled transition system is a reduction is investigated.

## Preview

Unable to display preview. Download preview PDF.

## References

- [Aalbersberg Hoogeboom 87]I.J. Aalbersberg, H.J. Hoogeboom,
*Decision problems for regular trace languages*, in: Proceedings ICALP 87, pp. 250–259, LNCS 267, 1987.Google Scholar - [Aalbersberg Rozenberg 88]I.J. Aalbersberg, G. Rozenberg,
*Theory of traces*, Theoretical Computer Science 60, pp. 1–82 (1988).Google Scholar - [Apt et al. 80]K.R. Apt, N. Francez, W.P. de Roever,
*A proof system for communicating sequential processes*, ACM TOPLAS 2(3), pp. 359–384 (1980).Google Scholar - [Bertoni et al. 82]A. Bertoni, G. Mauri, N. Sabadini, Equivalence and membership problems for regular trace languages, in: LNCS 140, pp. 61–71, 1982.Google Scholar
- [Dijkstra 82]E.W. Dijkstra,
*A correctness proof for communicating processes — A small exercise*, in: Selected writings on Computing: A Personal Perspective. Springer-Verlag, 1982.Google Scholar - [Floyd 67]R. W. Floyd,
*Assigning meanings to programs*, in: Mathematical Aspects of Computer Science. (J.T. Schwartz, Ed.), pp. 19–32, Proceedings Symposium in Applied Mathematics, vol. 19, American Math. Soc., Providence, 1967.Google Scholar - [Godefroid 90]P. Godefroid,
*Using partial orders to improve automatic verification methods*, in: Proc. Workshop on Computer Aided Verification, Rutgers, 1990.Google Scholar - [Godefroid Wolper 91a]P. Godefroid, P. Wolper,
*A partial approach to model checking*in: Proceedings of the 6th LICS, pp. 406–415, 1991.Google Scholar - [Godefroid Wolper 91b]P. Godefroid, P. Wolper,
*Using partial orders for the efficient verification of deadlock freedom and safety properties*, in: Proc. Workshop on Computer Aided Verification, 1991.Google Scholar - [Mazurkiewicz 88]A. Mazurkiewicz,
*Trace semantics*, in: Advances in Petri Nets 1986, Part II, pp. 279–324, LNCS 255, 1987.Google Scholar - [Pączkowski 90]P. Pączkowski,
*Proving termination of communicating programs*, in: Proceedings CONCUR'90, pp. 416–426, LNCS 458, 1990.Google Scholar - [Pączkowski 91]P. Pączkowski, Annotated Transition Systems for Verifying Concurrent Programs, PhD Thesis, CST-78–91 University of Edinburgh, 1991.Google Scholar
- [Pączkowski 93]P. Pączkowski, Ignoring Nonessential Interleavings in Assertional Reasoning on Concurrent Programs, Preprint No. 90, Institute of Mathematics, University of Gdańsk, 1993.Google Scholar
- [Valmari Clegg 91]A. Valmari, M. Clegg,
*Reduced labelled transition systems save verification effort*, in: Proceedings of CONCUR'91, 1991.Google Scholar