The synthesis of loop predicates
Communications of the ACM
Synchronization of communicating processes
Communications of the ACM
Interference between communicating parallel processes
Communications of the ACM
Toward automatic program synthesis
Communications of the ACM
Concurrent control with “readers” and “writers”
Communications of the ACM
Procedural encapsulation: A linguistic protection technique
Proceeding of ACM SIGPLAN - SIGOPS interface meeting on Programming languages - operating systems
Communicating semaphores
A program verifier
Control structures for programming languages
Control structures for programming languages
Multiprocessors, semaphores, and a graph model of computation
Multiprocessors, semaphores, and a graph model of computation
On synchronization primitive systems
On synchronization primitive systems
Verifying formal specifications of synchronous processes
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Hi-index | 0.00 |
The automatic synthesis of systems of synchronized processes and the proof of the synchronization's correctness is discussed. A general system, SYNVER, is proposed. Its input is a problem description and its output is a set of communicating processes proven correct. A high-level assertion language is presented in which certain types of synchronization problems may be described in a natural but formal way. Heuristics are developed for SYNVER so that it may infer from the problem description what data structures and what operations are necessary to realize the described synchronization. From this information, the code pertaining to synchronization is synthesized. Finally, SYNVER applies verification techniques to prove that the assertions made about the synchronization of the processes are not only consistent, but are also realized by the code synthesized.