Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2635631.2635846acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
tutorial

How to prove type soundness of Java-like languages without forgoing big-step semantics

Published: 28 July 2014 Publication History
  • Get Citation Alerts
  • Abstract

    Small-step operational semantics is the most commonly employed formalism for proving type soundness of statically typed programming languages, because of its ability to distinguish stuck from non-terminating computations, as opposed to big-step operational semantics.
    Despite this, big-step operational semantics is more abstract, and more useful for specifying interpreters.
    In previous work we have proposed a new proof technique to prove type soundness of a Java-like language expressed in terms of its big-step operational semantics. However the presented proof is rather involved, since it requires showing that the set of proof trees defining the semantic judgment forms a complete metric space when equipped with a specific distance function.
    In this paper we propose a more direct and abstract approach that exploits a standard and general compactness property of the metric space of values, that allows approximation of the coinductive big-step semantics in terms of the small-step one; in this way type soundness can be proved by standard mathematical induction.

    References

    [1]
    D. Ancona. Soundness of Object-Oriented Languages with Coinductive Big-Step Semantics. In J. Noble, editor, ECOOP 2012 - Object-Oriented Programming, volume 7313, pages 459--483. Springer, 2012.
    [2]
    D. Ancona and A. Corradi. Sound and complete subtyping between coinductive types for object-oriented languages. In ECOOP 2014 - Object-Oriented Programming, 2014. To appear.
    [3]
    A. Arnold and M. Nivat. The metric space of infinite trees. Algebraic and topological properties. Fundamenta Informaticae, 3:445--476, 1980.
    [4]
    B. Courcelle. Fundamental properties of infinite trees. Theoretical Computer Science, 25:95--169, 1983.
    [5]
    A. Igarashi, B. C. Pierce, and P. Wadler. Featherweight Java: a minimal core calculus for Java and GJ. ACM Transactions on Programming Languages and Systems, 23(3):396--450, 2001.
    [6]
    X. Leroy and H. Grall. Coinductive big-step operational semantics. Information and Computation, 207:284--304, 2009.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    FTfJP'14: Proceedings of 16th Workshop on Formal Techniques for Java-like Programs
    July 2014
    33 pages
    ISBN:9781450328661
    DOI:10.1145/2635631
    • Program Chair:
    • David J. Pearce
    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 the author(s) 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].

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 28 July 2014

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Java
    2. coinduction
    3. operational semantics
    4. type soundness

    Qualifiers

    • Tutorial
    • Research
    • Refereed limited

    Conference

    ECOOP '14

    Acceptance Rates

    FTfJP'14 Paper Acceptance Rate 5 of 8 submissions, 63%;
    Overall Acceptance Rate 51 of 75 submissions, 68%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 10 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)A Meta-theory for Big-step SemanticsACM Transactions on Computational Logic10.1145/352272923:3(1-50)Online publication date: 6-Apr-2022
    • (2020)A Big Step from Finite to Infinite ComputationsScience of Computer Programming10.1016/j.scico.2020.102492(102492)Online publication date: Jun-2020
    • (2020)Soundness Conditions for Big-Step SemanticsProgramming Languages and Systems10.1007/978-3-030-44914-8_7(169-196)Online publication date: 18-Apr-2020
    • (2017)Reasoning on divergent computations with coaxiomsProceedings of the ACM on Programming Languages10.1145/31339051:OOPSLA(1-26)Online publication date: 12-Oct-2017
    • (2017)Generalizing Inference Systems by CoaxiomsProgramming Languages and Systems10.1007/978-3-662-54434-1_2(29-55)Online publication date: 19-Mar-2017
    • (2015)A three-valued type system for true positives detection in Java-like languagesProceedings of the 17th Workshop on Formal Techniques for Java-like Programs10.1145/2786536.2786539(1-7)Online publication date: 7-Jul-2015

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media