Representing Object Code

In this paper, a logical representation of object code programs is presented. The coding is particularly well-suited for mechanization, and it enjoys interesting properties with respect to some relevant approaches to program synthesis, program derivation and formal verification [FD93, LO94, KLO96, FLO97a, LO98]. The paper describes both the representation with its properties, and a tool which permits to translate object programs for the MC68000 microprocessor into the formalism of the ISABELLE logical framework.

[1]  Natarajan Shankar,et al.  On Shostak's Decision Procedure for Combinations of Theories , 1996, CADE.

[2]  Kung-Kiu Lau,et al.  A Formal View of Specification, Deductive Synthesis and Transformation of Logic Programs , 1993, LOPSTR.

[3]  Helmut Schwichtenberg,et al.  Basic proof theory , 1996, Cambridge tracts in theoretical computer science.

[4]  Pierangelo Miglioli,et al.  Constructive Theories with Abstract Data Types for Program Synthesis , 1987 .

[5]  Yves Deville,et al.  Logic Program Synthesis from Incomplete Specifications , 1993, J. Symb. Comput..

[6]  Dirk Nowotka,et al.  Program Abstraction in a Higher-Order Logic Framework , 1998, TPHOLs.

[7]  M. Benini,et al.  Computer Arithmetic: Logic, Calculation, and Rewriting , 1998 .

[8]  Jim Alves-Foss,et al.  Higher Order Logic Theorem Proving and its Applications 8th International Workshop, Aspen Grove, Ut, Usa, September 11-14, 1995 : Proceedings , 1995 .

[9]  Pierre Flener,et al.  On Correct Program Schemas , 1997, LOPSTR.

[10]  Robert S. Boyer,et al.  Automated proofs of object code for a widely used microprocessor , 1996, JACM.

[11]  Christoph Kreitz,et al.  Formal Reasoning about Modules, Reuse and their Correctness , 1996, FAPR.

[12]  M. A. McRobbie,et al.  Automated Deduction — Cade-13 , 1996, Lecture Notes in Computer Science.

[13]  Giampaolo Bella Using Isabelle to Prove Properties of the Kerberos Authentication System , 1997 .

[14]  Corporate Motorola,et al.  MC 68000 16-Bit Microprocessor User's Manual , 1982 .

[15]  Lawrence C. Paulson,et al.  Generic Automatic Proof Tools , 1997, ArXiv.

[16]  G. Birtwistle,et al.  VERIFYING SECD IN HOL , 1991 .

[17]  Pierre Flener,et al.  Correct-schema-guided synthesis of steadfast programs , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[18]  Pierangelo Miglioli,et al.  Program Specification and Synthesis in Constructive Formal Systems , 1991, LOPSTR.

[19]  Kung-Kiu Lau,et al.  Isoinitial Models for Logic Programs: A Preliminary Study , 1998, APPIA-GULP-PRODE.

[20]  P. Miglioli,et al.  Extracting information from intermediate T-systems , 2000 .

[21]  Robert E. Shostak,et al.  A Practical Decision Procedure for Arithmetic with Function Symbols , 1979, JACM.

[22]  Albert John Camilleri Executing behavioural definitions in higher-order logic , 1988 .

[23]  Edsger W. Dijkstra,et al.  Guarded commands, non-determinacy and a calculus for the derivation of programs , 1975, Language Hierarchies and Interfaces.

[24]  Pierangelo Miglioli,et al.  Avoiding duplications in tableau systems for intuitionistic logic and Kuroda logic , 1997, Log. J. IGPL.

[25]  Robert S. Boyer,et al.  Program Verification , 1985, J. Autom. Reason..

[26]  Lawrence Charles Paulson,et al.  Isabelle: A Generic Theorem Prover , 1994 .

[27]  Ching-Tsun Chou,et al.  Mechanical Verification of Distributed Algorithms in Higher-Order Logic , 1994, Comput. J..

[28]  Pierangelo Miglioli,et al.  On maximal intermediate predicate constructive logics , 1996, Stud Logica.

[29]  Pierangelo Miglioli,et al.  A logically justified model of computation I , 1981, Fundam. Informaticae.

[30]  Pierangelo Miglioli,et al.  A logically justified model of computation II , 1981, Fundam. Informaticae.

[31]  Zohar Manna,et al.  Properties of Programs and the First-Order Predicate Calculus , 1969, JACM.