Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/512927.512941acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Advice on structuring compilers and proving them correct

Published: 01 October 1973 Publication History
  • Get Citation Alerts
  • Abstract

    The purpose of this paper is to advise an approach (and to support that advice by discussion of an example) towards achieving a goal first announced by John McCarthy: that compilers for higher-level programming languages should be made completely trustworthy by proving their correctness. The author believes that the compiler-correctness problem can be made much less general and better-structured than the unrestricted program-correctness problem; to do so will of course entail restricting what a compiler may be.

    References

    [1]
    G. Birkhoff and J. D. Lipson, "Heterogeneous Algebras", J. Combinatorial Theory 8, pp. 115-133 (1970).
    [2]
    R. M. Burstall and P. J. Landin, "Programs and Their Proofs: an Algebraic Approach", Machine Intelligence 4 (1969).
    [3]
    D. Scott and C. Strachey, "Towards a Mathematical Semantics for Computer Languages", Programming Research Group Monograph PRG-6, Oxford Computing Laboratory (1971).
    [4]
    P. J. Landin, "A Program-Machine Symmetric Automata Theory", Machine Intelligence 5 (1970).
    [5]
    F. L. Morris, "Correctness of Translations of Programming Languages", Stanford Computer Science Memo CS 72-303 (1972).
    [6]
    R. Milner and R. Weyhrauch, "Proving Compiler Correctness in a Mechanized Logic", Machine Intelligence 7 (1972).
    [7]
    P. Hitchcock and D. Park, "Induction Rules and Proofs of Termination", Proc. Colloques IRIA Theorie des automates des langages et de la Programmation. Rocquencourt, France, July 1972.

    Cited By

    View all
    • (2023)Formalized High Level Synthesis with Applications to Cryptographic HardwareNASA Formal Methods10.1007/978-3-031-33170-1_20(332-352)Online publication date: 3-Jun-2023
    • (2021)A Mechanized Semantic Metalanguage for High Level SynthesisProceedings of the 23rd International Symposium on Principles and Practice of Declarative Programming10.1145/3479394.3479417(1-14)Online publication date: 6-Sep-2021
    • (2021)An Extended Account of Trace-relating Compiler Correctness and Secure CompilationACM Transactions on Programming Languages and Systems10.1145/346086043:4(1-48)Online publication date: 10-Nov-2021
    • Show More Cited By
    1. Advice on structuring compilers and proving them correct

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      POPL '73: Proceedings of the 1st annual ACM SIGACT-SIGPLAN symposium on Principles of programming languages
      October 1973
      242 pages
      ISBN:9781450373494
      DOI:10.1145/512927
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 01 October 1973

      Permissions

      Request permissions for this article.

      Check for updates

      Qualifiers

      • Article

      Acceptance Rates

      POPL '73 Paper Acceptance Rate 22 of 100 submissions, 22%;
      Overall Acceptance Rate 824 of 4,130 submissions, 20%

      Upcoming Conference

      POPL '25

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)44
      • Downloads (Last 6 weeks)5

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)Formalized High Level Synthesis with Applications to Cryptographic HardwareNASA Formal Methods10.1007/978-3-031-33170-1_20(332-352)Online publication date: 3-Jun-2023
      • (2021)A Mechanized Semantic Metalanguage for High Level SynthesisProceedings of the 23rd International Symposium on Principles and Practice of Declarative Programming10.1145/3479394.3479417(1-14)Online publication date: 6-Sep-2021
      • (2021)An Extended Account of Trace-relating Compiler Correctness and Secure CompilationACM Transactions on Programming Languages and Systems10.1145/346086043:4(1-48)Online publication date: 10-Nov-2021
      • (2021)Modeling Data Flow Constraints for Design-Time Confidentiality Analyses2021 IEEE 18th International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C52384.2021.00009(15-21)Online publication date: Mar-2021
      • (2021)Fully Abstract and Robust CompilationProgramming Languages and Systems10.1007/978-3-030-89051-3_6(83-101)Online publication date: 12-Oct-2021
      • (2020)Trace-Relating Compiler Correctness and Secure CompilationProgramming Languages and Systems10.1007/978-3-030-44914-8_1(1-28)Online publication date: 27-Apr-2020
      • (2019)The next 700 compiler correctness theorems (functional pearl)Proceedings of the ACM on Programming Languages10.1145/33416893:ICFP(1-29)Online publication date: 26-Jul-2019
      • (2018)An Internalist Approach to Correct-by-Construction CompilersProceedings of the 20th International Symposium on Principles and Practice of Declarative Programming10.1145/3236950.3236965(1-12)Online publication date: 3-Sep-2018
      • (2016)Proving Correctness of a Compiler Using Step-indexed Logical RelationsElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2016.06.013323:C(197-214)Online publication date: 11-Jul-2016
      • (2007)A Denotational Semantic Model for Validating JVML/CLDC Optimizations under Isabelle/HOLSeventh International Conference on Quality Software (QSIC 2007)10.1109/QSIC.2007.4385519(348-355)Online publication date: Oct-2007
      • Show More Cited By

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media