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

True separate compilation of Java classes

Published: 06 October 2002 Publication History
  • Get Citation Alerts
  • Abstract

    We define a type system modeling true separate compilation for a small but significant Java subset, in the sense that a single class declaration can be intra-checked (following the Cardelli's terminology) and compiled providing a minimal set of type requirements on missing classes. These requirements are specified by a local type environment associated with each single class, while in the existing formal definitions of the Java type system classes are typed in a global type environment containing all the type information on a closed program. We also provide formal rules for static inter-checking and relate our approach with compilation of closed programs, by proving that we get the same results.

    References

    [1]
    D. Ancona and G. Lagorio. Supporting true separate compilation in Java: A modular approach. Technical report, Dipartimento di Informatica e Scienze dell'Informazione, Università di Genova, 2002. Submitted for publication.]]
    [2]
    D. Ancona, G. Lagorio, and E. Zucca. A formal framework for Java separate compilation. In B. Magnusson, editor, ECOOP'02 - European Conference on Object-Oriented Programming, number 2374 in Lecture Notes in Computer Science, pages 609--635. Springer, 2002.]]
    [3]
    L. Cardelli. Program fragments, linking, and modularization. In ACM Symp. on Principles of Programming Languages 1997, pages 266--277. ACM Press, 1997.]]
    [4]
    S. Drossopoulou and S. Eisenbach. Describing the semantics of Java and proving type soundness. In J. Alves-Foss, editor, Formal Syntax and Semantics of Java, number 1523 in Lecture Notes in Computer Science, pages 41--82. Springer, 1999.]]
    [5]
    S. Drossopoulou, T. Valkevych, and S. Eisenbach. Java type soundness revisited. Technical report, Dept. of Computing - Imperial College of Science, Technology and Medicine, September 2000.]]
    [6]
    J. Gosling, B. Joy, G. Steele, and G. Bracha. The Java™ Language Specification, Second Edition. Addison-Wesley, 2000.J. Gosling, B. Joy, G. Steele, and G. Bracha. The Java™ Language Specification, Second Edition. Addison-Wesley, 2000.]]
    [7]
    P. H. Hartel and L. Moreau. Formalizing the safety of Java, the Java Virtual Machine and Java card. ACM Computing Surveys, 33(4):517--558, 2001.]]
    [8]
    T. Lindholm and F. Yellin. The Java Virtual Machine Specification. The Java Series. Addison-Wesley, Second edition, 1999.]]
    [9]
    S. McDirmid, M.Flatt, and W. Hsieh. Jiazzi: New age components for old fashioned java. In ACM Symp. on Object-Oriented Programming: Systems, Languages and Applications 2001. ACM Press, October 2001. SIGPLAN Notices.]]
    [10]
    Z. Shao and A. Appel. Smartest recompilation. In ACM Symp. on Principles of Programming Languages 1993, pages 439--450. ACM Press, 1993.]]

    Cited By

    View all
    • (2022)Incremental type-checking for free: using scope graphs to derive incremental type-checkersProceedings of the ACM on Programming Languages10.1145/35633036:OOPSLA2(424-448)Online publication date: 31-Oct-2022
    • (2009)Lifting transformational models of product lines: a case studySoftware & Systems Modeling10.1007/s10270-009-0131-69:3(359-373)Online publication date: 7-Oct-2009
    • (2009)Type Inference by Coinductive Logic ProgrammingTypes for Proofs and Programs10.1007/978-3-642-02444-3_1(1-18)Online publication date: 7-Jun-2009
    • Show More Cited By

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    PPDP '02: Proceedings of the 4th ACM SIGPLAN international conference on Principles and practice of declarative programming
    October 2002
    219 pages
    ISBN:1581135289
    DOI:10.1145/571157
    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: 06 October 2002

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. object-oriented programming
    2. separate compilation
    3. types

    Qualifiers

    • Article

    Conference

    PPDP02
    Sponsor:

    Acceptance Rates

    PPDP '02 Paper Acceptance Rate 18 of 36 submissions, 50%;
    Overall Acceptance Rate 230 of 486 submissions, 47%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

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

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Incremental type-checking for free: using scope graphs to derive incremental type-checkersProceedings of the ACM on Programming Languages10.1145/35633036:OOPSLA2(424-448)Online publication date: 31-Oct-2022
    • (2009)Lifting transformational models of product lines: a case studySoftware & Systems Modeling10.1007/s10270-009-0131-69:3(359-373)Online publication date: 7-Oct-2009
    • (2009)Type Inference by Coinductive Logic ProgrammingTypes for Proofs and Programs10.1007/978-3-642-02444-3_1(1-18)Online publication date: 7-Jun-2009
    • (2007)Safe composition of product linesProceedings of the 6th international conference on Generative programming and component engineering10.1145/1289971.1289989(95-104)Online publication date: 1-Oct-2007
    • (2006)Feature oriented refactoring of legacy applicationsProceedings of the 28th international conference on Software engineering10.1145/1134285.1134303(112-121)Online publication date: 28-May-2006
    • (2006)A disciplined approach to aspect compositionProceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation10.1145/1111542.1111554(68-77)Online publication date: 9-Jan-2006
    • (2005)Safe and flexible objectsProceedings of the 2005 ACM symposium on Applied computing10.1145/1066677.1066963(1258-1263)Online publication date: 13-Mar-2005
    • (2005)Polymorphic bytecodeACM SIGPLAN Notices10.1145/1047659.104030840:1(26-37)Online publication date: 12-Jan-2005
    • (2005)Polymorphic bytecodeProceedings of the 32nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages10.1145/1040305.1040308(26-37)Online publication date: 12-Jan-2005
    • (2004)Principal typings for Java-like languagesACM SIGPLAN Notices10.1145/982962.96402739:1(306-317)Online publication date: 1-Jan-2004
    • Show More Cited By

    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