Monitors: an operating system structuring concept
Communications of the ACM
Operating system principles
A methodology for verifying programs
Proceedings of the international conference on Reliable software
A structured specification of a hierarchical operating system
Proceedings of the international conference on Reliable software
Automatic program verification II: verifying programs by algebraic and logical reduction.
Automatic program verification II: verifying programs by algebraic and logical reduction.
Automatic program verification IV: proof of termination within a weak logic of programs.
Automatic program verification IV: proof of termination within a weak logic of programs.
Automatic program verification V: verification-oriented proof rules for arrays, records and pointers
Automatic program verification V: verification-oriented proof rules for arrays, records and pointers
Structured programming
ACM Computing Surveys (CSUR)
Verification of Array, Record, and Pointer Operations in Pascal
ACM Transactions on Programming Languages and Systems (TOPLAS)
Survey of recent operating systems research, designs and implementations
ACM SIGOPS Operating Systems Review
A brief account: Implementation and applications of a Pascal program verifier (Position Statement)
ACM '78 Proceedings of the 1978 annual conference - Volume 2
Hi-index | 0.00 |
An implementation in Pascal by Saxena and Bredt of the Monitor construct is studied. Techniques are given for using a program verifer to analyse the conditions under which the implementation is fair (i.e. once a process is delayed it eventually will be continued). By use of a virtual data structure, fairness is represented in terms of simple properties which can be verified automatically. Examples are given illustrating how the verification can force unstated assumptions upon which the implementation depends to be made explicit, and how it can be used to study whether the implementation makes adequate use of resources. The development of techniques for analysis of such implementations is required before the correctness of high-level language operating systems such as Brinch Hansen's SOLO can be completely established.