|
ABSTRACT
Owicki and Gries have developed a proof system for conditional critical regions. In their system, logically related variables accessed by more than one process are grouped together as resources, and processes are allowed access to a resource only in a critical region for that resource. Proofs of synchronization properties are constructed by devising predicates called resource invariants which describe relationships among the variables of a resource when no process is in a critical region for the resource. In constructing proofs using the system of Owicki and Gries, the programmer is required to supply the resource invariants.
Methods are developed in this paper for automatically synthesizing resource invariants. Specifically, the resource invariants of a concurrent program are characterized as least fixpoints of a functional which can be obtained from the text of the program. By the use of this fixpoint characterization and a widening operator based on convex closure, good approximations may be obtained for the resource invariants of many concurrent programs.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
1. AGERWALA, T. A complete model for representing the coordination of asynchronous processes. Computer Research Report 32, Johns Hopkins University, Baltimore, Md., 1974.
|
| |
2
|
|
 |
3
|
|
| |
4
|
4. CLARKE, E. M. Program invariants as fixed points. 18th Ann. IEEE Symp. on Foundations of Computer Science, Providence, R.I., Nov. 1977, pp. 18-28.
|
 |
5
|
|
| |
6
|
6. COUSOT, P., AND COUSOT, R. Static determination of dynamic properties of programs. Proc. 2nd Int. Symp. on Programming, B. Robinet, Ed., Dunod, Paris, April 1976.
|
 |
7
|
|
| |
8
|
8. DIJKSTRA, E. W. Cooperating sequential processes. In Programming Languages, G. Genuys, Ed., Academic Press, N.Y., 1968, pp. 43-112.
|
| |
9
|
9. FLON, L., AND SUZUKI, N. Nondeterminism and the correctness of parallel programs. Tech. Rep., Dep. of Computer Science, Carnegie-Mellon Univ., May 1977.
|
 |
10
|
|
| |
11
|
11. HABERMANN, A. N. Path expressions. Tech. Rep., Dep. of Computer Science, Carnegie-Mellon Univ., June 1975.
|
| |
12
|
12. HOARE, C. A. R. Towards a theory of parallel programming. In Operating Systems Techniques, C. A. R. Hoare and R. H. Perrot, Eds., Academic Press, N.Y., 1972, pp. 61-71.
|
| |
13
|
13. KELLER, R. M. Generalized petri nets as models for system verification. Tech. Rep., Computer Science Dep., Univ. of Utah, 1977.
|
| |
14
|
14. VAN LAMSVEERDE, A., AND SINTZOFF, M. Formal derivation of strongly correct parallel programs. MBLE Research Rep., Brussels, Belgium, 1976.
|
 |
15
|
|
| |
16
|
16. LAMPORT, L. Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. 3, 2 (1977), 125-143.
|
 |
17
|
|
| |
18
|
18. PNEULI, A. The temporal logic of programs. 18th Ann. IEEE Symp. on Foundations of Computer Science, Providence, R.I., Nov. 1977, pp. 46-57.
|
| |
19
|
19. ROSEN, B. K. Correctness of parallel programs: The Church-Rosser approach. Theor. Comput. Sci. 2 (1976), 183-207.
|
| |
20
|
20. SCHMID, H. A. On the efficient implementation of conditional critical regions and the construction of monitors. Acta Inf. 6, 3 (1976), 227-249.
|
|