Deductive Verification of Pipelined Machines Using First-Order Quantification
We outline a theorem-proving approach to verify pipelined machines. Pipelined machines are complicated to reason about since they involve simultaneous overlapped execution of different instructions. Nevertheless, we show that if the logic used is sufficiently expressive, then it is possible to relate the executions of the pipelined machine with the corresponding Instruction Set Architecture using (stuttering) simulation. Our methodology uses first-order quantification to define a predicate that relates pipeline states with ISA states and uses its Skolem witness for correspondence proofs. Our methodology can be used to reason about generic pipelines with interrupts, stalls, and exceptions, and we demonstrate its use in verifying pipelines mechanically in the ACL2 theorem prover.
KeywordsSymbolic Execution Program Counter Visible Behavior Proof Rule Program Order
Unable to display preview. Download preview PDF.
- 2.Manolios, P.: Mechanical Verification of Reactive Systems. PhD thesis, Department of Computer Sciences, The University of Texas at Austin (2001)Google Scholar
- 4.Burch, J.R., Dill, D.L.: Automatic Verification of Pipelined Microprocessor Control. In: Dill, D.L. (ed.) CAV 1994. LNCS, vol. 818, pp. 68–80. Springer, Heidelberg (1994)Google Scholar
- 5.Srivas, M., Bickford, M.: Formal Verification of a Pipelined Microprocessor. IEEE Software, 52–64 (1990)Google Scholar
- 6.Bronstein, A., Talcott, T.L.: Formal Verification of Pipelines based on Stringfunctional Semantics. In: Claesen, L.J.M. (ed.) Formal VLSI Correctness Verification, VLSI Design Methods II, pp. 349–366 (1990)Google Scholar
- 7.Sawada, J., Hunt Jr, W.A.: Trace Table Based Approach for Pipelined Microprocessor Verification. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 364–375. Springer, Heidelberg (1997)Google Scholar
- 15.Sumners, R.: An Incremental Stuttering Refinement Proof of a Concurrent Program in ACL2. In: Kaufmann, M., Moore, J.S. (eds.) Second InternationalWorkshop on ACL2 Theorem Prover and Its Applications, Austin, TX (2000)Google Scholar
- 16.Kaufmann, M., Manolios, P., Moore, J.S.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
- 17.Kaufmann, M., Manolios, P., Moore, J.S. (eds.): Computer-Aided Reasoning: ACL2 Case Studies. Kluwer Academic Publishers, Dordrecht (2000)Google Scholar
- 18.Moore, J.S.: Proving Theorems about Java and the JVM with ACL2. Models, Algebras, and Logic of Engineering Software, 227–290 (2003)Google Scholar