Advertisement

Representing Object Code

  • Marco Benini
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1861)

Abstract

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.

Keywords

Compression Algorithm Compression Technique Logical Representation Sequential Block Correctness Proof 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. AFMM96.
    A. Avellone, C. Fiorentini, P. Mantovani, and P. Miglioli. On maximal intermediate predicate constructive logics. Studia Logica, 57:373–408, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  2. Ben00.
    M. Benini. Verification and Analysis of Programs in a Constructive Environment. PhD thesis, Dipartimento di Scienze dell’Informazione, Università degli Studi di Milano, January 2000.Google Scholar
  3. BG90.
    G. Birtwistle and B. Graham. Verifying SECD in HOL. In J. Staunstrup, editor, Proceedings of the IFIP TC10/WG10.5 Summer School on Formal Methods for VLSI Design. North Holland, 1990.Google Scholar
  4. BKN98.
    M. Benini, S. Kalvala, and D. Nowotka. Program abstraction in a higher-order logic framework. In J. Grundy and M. Newey, editors, Proceedings of Theorem Proving in Higher-Order Logic’ 98 International Conference, volume 1479 of Lecture Notes in Computer Science, pages 33–48. Springer Verlag, 1998.CrossRefGoogle Scholar
  5. BM85.
    R.S. Boyer and J.S. Moore. Program verification. Journal of Automated Reasoning, 1(1):17–23, 1985.MathSciNetGoogle Scholar
  6. BNP98.
    M. Benini, D. Nowotka, and C. Pulley. Computer arithmetic: Logic, calculation and rewriting. In D.M. Gabbay and M. De Rijke, editors, Frontiers of Combining Systems 2, Series in Logic and Computation, pages 77–93. Research Studies Press, 1998.Google Scholar
  7. BP97.
    G. Bella and L.C. Paulson. Using Isabelle to prove properties of the Kerberos authentication system. In H. Orman and C. Meadows, editors, Workshop on Design and Formal Verification of Security Protocols. DIMACS, September 1997.Google Scholar
  8. Cam88.
    A.J. Camilleri. Executing Behavioural Definitions in Higher-Order Logic. PhD thesis, Cambridge University, February 1988. Technical Report No 140, Computer Laboratory, Cambridge University.Google Scholar
  9. Cho94.
    C.T. Chou. Mechanical verification of distributed algorithms in higher-order logic. In T.F. Melham and J. Camilleri, editors, Higher-Order Logic Theorem Proving and Its Applications, volume 859 of Lecture Notes in Computer Science, pages 158–176. Springer Verlag, September 1994.Google Scholar
  10. CLS96.
    D. Cyrluk, P. Lincoln, and N. Shankar. On Shostak’s decision procedure for combinations of theories. In M.A. McRobbie and J.K. Slaney, editors, Automated Deduction — CADE-13, volume 1104 of Lecture Notes in Computer Science, pages 463–477. Springer Verlag, 1996.Google Scholar
  11. Dij75.
    E.W. Dijkstra. Guarded commands, non determinacy and formal derivation of programs. Communications of the ACM, 18(8):453–458, 1975.zbMATHCrossRefMathSciNetGoogle Scholar
  12. FD93.
    P. Flener and Y. Deville. Logic program synthesis from incomplete specifications. Journal of Symbolic Computation, 15(5–6):775–806, 1993.zbMATHCrossRefMathSciNetGoogle Scholar
  13. Fer97.
    M. Ferrari. Strongly Constructive Formal Systems. PhD thesis, Dipartimento di Scienze dell’Informazione, Università degli Studi di Milano, 1997.Google Scholar
  14. FFM99.
    M. Ferrari, C. Fiorentini, and P. Miglioli. Extracting information from intermediate T-systems. In Intuitionistic Modal Logics and Applications, Trento, Italy, 1999. Federated Logic Conference.Google Scholar
  15. FLO97a.
    P. Flener, K.K. Lau, and M. Ornaghi. Correct-schema-guided synthesis of steadfast programs. In Proceedings XIIth IEEE International Automated Software Engineering Conference, pages 153–160, 1997.Google Scholar
  16. FLO97b.
    P. Flener, K.K. Lau, and M. Ornaghi. On correct program schemas. In N.E. Fuchs, editor, Proceedings of the 7th International Workshop on Logic-Based Program Synthesis and Transformation, Lecture Notes in Computer Science. Springer Verlag, 1997.Google Scholar
  17. Gab81.
    D.M. Gabbay. Semantical Investigations in Heyting Intuitionistic Logic. D. Reidel Publishing Company, Dordrecht, 1981.zbMATHGoogle Scholar
  18. KLO96.
    C. Kreitz, K.K. Lau, and M. Ornaghi. Formal reasoning about modules, reuse and their correctness. volume 1085 of Lecture Notes in Artificial Intelligence. Springer Verlag, 1996.Google Scholar
  19. LO94.
    K.K. Lau and M. Ornaghi. A formal view of specification, deductive synthesis and transformation of logic programs. In Y. Deville, editor, Logic Program Synthesis and Transformation. Proceedings of LOPSTR’93, Workshops in Computing, pages 10–31. Springer Verlag, 1994.Google Scholar
  20. LO98.
    K.K. Lau and M. Ornaghi. Isoinitial models for logic programs: A preliminary study. In J.L. Freire-Nistal, M. Falaschi, and M. Vilares-Ferro, editors, Proceedings of the 1998 Joint Conference on Declarative Programming, pages 443–455, 1998.Google Scholar
  21. Man69.
    Z. Manna. Properties of programs and the first order predicate calculus. Journal of the Association for Computing Machinery, 16(2), 1969.Google Scholar
  22. MMO88.
    P. Miglioli, U. Moscato, and M. Ornaghi. Constructive theories with abstract data types for program synthesis. In D. Skordev, editor, Mathematical Logic and its Applications, pages 293–302. Plenum Press, 1988.Google Scholar
  23. MMO91.
    P. Miglioli, U. Moscato, and M. Ornaghi. Program specification and synthesis in constructive formal systems. In K.K. Lau and T.P. Clement, editors, Logic Program Synthesis and Transformation, Manchester 1991, pages 13–26. Springer Verlag, 1991.Google Scholar
  24. MMO97.
    P. Miglioli, U. Moscato, and M. Ornaghi. Avoiding duplications in tableau systems for intuitionistic and Kuroda logics. Logical Journal of the IGPL, 1(5):145–167, 1997.CrossRefMathSciNetGoogle Scholar
  25. MO81.
    P. Miglioli and M. Ornaghi. A logically justified model of computation. Fundamenta Informatica, IV(1,2), 1981.Google Scholar
  26. Mot89.
    MotorolaInc., editor. MC68020 32-bit Microprocessor User’s Manual. Prentice Hall, New Jersey, 1989.Google Scholar
  27. Pau94.
    L.C. Paulson. Isabelle: A Generic Theorem Prover, volume 828 of Lecture Notes in Computer Science. Springer Verlag, 1994.zbMATHGoogle Scholar
  28. Pau97.
    L.C. Paulson. Generic automatic proof tools. In R. Veroff, editor, Automated Reasoning and its Applications, chapter 3. The MIT Press, 1997. Also, Report No 396, Computer Laboratory, Cambridge University.Google Scholar
  29. Sho79.
    R.E. Shostak. A practical decision procedure for arithmetic with function symbols. Journal of the Association for Computing Machinery, 26(2):351–360, 1979.zbMATHMathSciNetGoogle Scholar
  30. ST96.
    H. Schwichtenberg and A.S. Troelstra. Basic Proof Theory, volume 43 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1996.Google Scholar
  31. Yu93.
    Y. Yu. Automated proofs of object code for a widely used microprocessor. Technical Report 114, Digital Equipment Corporation, Systems Research Center, October 1993.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Marco Benini
    • 1
  1. 1.Dipartimento di Scienze dell’InformazioneUniversità degli Studi di MilanoMilanoItaly

Personalised recommendations