A Problem-Reduction Approach to Proving Simulation Between Programs

System correctness often presents itself as the problem of showing that two programs, the "specification" and the "implementation," are in some sense equivalent. Such a concept of equivalence is supplied by Milner's definition of simulation between programs. This paper presents a problem-reduction approach to proving simulation, and describes an interactive system designed for this purpose.

[1]  Alexander Birman,et al.  Some Techniques for Microprogram Validation , 1974, IFIP Congress.

[2]  Terrence W. Pratt Kernel Equivalence of Programs and Proving Kernel Equivalence and Correctness by Test Cases , 1971, IJCAI.

[3]  Norihisa Suzuki,et al.  Verifying programs by algebraic and logical reduction , 1975, Reliable Software.

[4]  David R. Musser,et al.  The application of a symbolic mathematical system to program verification , 1974, ACM '74.

[5]  James C. King A new approach to program testing , 1975 .

[6]  Karl N. Levitt,et al.  Reasoning about programs , 1973, Artif. Intell..

[7]  Lawrence Yelowitz,et al.  Derivation of a Path-Connectivity Matrix for Tagged Flowcharts , 1975, JACM.

[8]  Alexander Birman On Proving Correctness of Microprograms , 1974, IBM J. Res. Dev..

[9]  Rod M. Burstall,et al.  An algebraic description of programs with assertions, verification and simulation , 1972, Proving Assertions About Programs.

[10]  James C. King,et al.  A Program Verifier , 1971, IFIP Congress.

[11]  Peter Naur Proof of Algorithms by General Snapshots , 1966 .

[12]  Richard M. Karp,et al.  Parallel Program Schemata , 1969, J. Comput. Syst. Sci..

[13]  D. I. Good,et al.  An interactive program verification system , 1975, IEEE Transactions on Software Engineering.

[14]  Robin Milner,et al.  Implementation and applications of Scott's logic for computable functions , 1972, Proving Assertions About Programs.

[15]  L. Peter Deutsch An interactive program verifier , 1973 .

[16]  Joseph A. Goguen,et al.  On Homomorphisms, Correctness, Termination, Unfoldments, and Equivalence of Flow Diagram Programs , 1974, J. Comput. Syst. Sci..

[17]  Robin Milner,et al.  An Algebraic Definition of Simulation Between Programs , 1971, IJCAI.

[18]  Richard J. Waldinger,et al.  QA4: A Procedural Calculus for Intuitive Reasoning. , 1972 .

[19]  James C. King,et al.  A new approach to program testing , 1974, Programming Methodology.

[20]  George B. Leeman Some Problems in Certifying Microprograms , 1975, IEEE Transactions on Computers.

[21]  D. C. Luckham,et al.  A methodology for verifying programs , 1975, Reliable Software.

[22]  Nils J. Nilsson,et al.  Problem-solving methods in artificial intelligence , 1971, McGraw-Hill computer science series.