ACM Computing Surveys (CSUR)
Verifying properties of parallel programs: an axiomatic approach
Communications of the ACM
Synchronization of communicating processes
Communications of the ACM
Automatic discovery of linear restraints among variables of a program
POPL '78 Proceedings of the 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Reduction: a new method of proving properties of systems of processes
POPL '75 Proceedings of the 2nd ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Operating system principles
Synthesis of resource invariants for concurrent programs
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
The geometry of semaphore programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
The computational metaphor and quantum physics
Communications of the ACM
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
SPECIFICATION AND VERIFICATION OF CONURRENT SYSTEMS IN CESAR
25 Years of Model Checking
Thread Quantification for Concurrent Shape Analysis
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Synthesis of distributed control through knowledge accumulation
CAV'11 Proceedings of the 23rd international conference on Computer aided verification
Testing atomicity of composed concurrent operations
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
On the strength of owicki-gries for resources
APLAS'11 Proceedings of the 9th Asian conference on Programming Languages and Systems
Hi-index | 0.02 |
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.