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

A core calculus for Java exceptions

Published: 01 October 2001 Publication History

Abstract

In this paper we present a simple calculus (called CJE) in ourder to fully investigate the exception mechanism of Java, and in particular its interaction with inheritance, which turns out to be non trivial. Moreover, we show that the type system for the calculus directly dirven by the Java language specification (called FULL) uses too many types, in the sense that there are different types which rpovide exactly the same information. Hence, we obtain from FULL a simplified type system called MIN where equivalent types have been identified. We show that is useful both for type-checking optimization and for clarifying the static semantics of the language. The two type systems are proved to satisfy the subject reduction property

References

[1]
D. Ancona, G. Lagorio, and E. Zucca. A core calculus for Java exceptions (extended abstract), In 2th Intl. Workshop on Formal Techniques for java Programs 2000, June 2000.]]
[2]
D. Ancona, G. Lagorio, and E. Zucca. Jam: A smooth extension of Java with mixins. In E. Bertino, editor ECO OP'00 - European Conference on Object-Oriented Programming, number 1850 in Lecture Notes in Computer Science, pages 154-178, Berlin, 2000. Springer Verlag.]]
[3]
D. Ancona, G. Lagorio, and E. Zucca. Symplifying types for a calculus of Java exceptions. Technical report, Dipartimento di Informatica e Scienze dell'Informazione, Universita di Genova, July 2001.]]
[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 Verlag, Berlin, 1999.]]
[5]
S. Drossopoulou and T. Valkevych. Java exceptions throw no surprises. Technical report, Dept. of Computing- Imperial College of Science, Technology and Medicine, March 2000.]]
[6]
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.]]
[7]
J. Gosling, B. Joy, G. Steele, and G. Bracha. The JavaTM Language Specification, Second Edition. Addison-Wesley, 2000.]]
[8]
A. Igarashi, B. Pierce, and P. Wadler. Featherweight Java: A minimal core calculus for Java and GJ. In ACM Symp. on Object-Oriented Programming: Systems, Languages and Applications 1999, pages 132-146, November 1999.]]

Cited By

View all
  • (2018)JEff: objects for effectProceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3276954.3276955(111-124)Online publication date: 24-Oct-2018
  • (2016)Coupling catch clauses with local declarationsProceedings of the 18th Workshop on Formal Techniques for Java-like Programs10.1145/2955811.2955817(1-6)Online publication date: 17-Jul-2016
  • (2016)Initialize-and-catchProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851943(1819-1822)Online publication date: 4-Apr-2016
  • Show More Cited By

Recommendations

Reviews

Arthur Gittleman

The authors present a simple calculus, CJE, to be used to fully investigate the exception mechanism of Java and its interaction with inheritance. They show that the type system for the calculus derived from the Java Language Specification contains different types that provide exactly the same information. They obtain a simplified type system in which equivalent types have been identified. CJE includes all mechanisms for handling exceptions, except the finally clause, which makes no sense in a functional setting. CJE omits fields, constructors, super, and assignment. The calculus has four constructs: method invocation, object creation, and throw and try-catch expressions. A motivating example including an interface and two abstract classes illustrates the complexity of the rules for the compatibility checks of throw clauses and their impact on the type system. After an interesting analysis, the authors conclude that a slight change in the Java specification would noticeably simplify its semantics. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
OOPSLA '01: Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
October 2001
382 pages
ISBN:1581133359
DOI:10.1145/504282
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 2001

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

OOPSLA01
Sponsor:

Acceptance Rates

OOPSLA '01 Paper Acceptance Rate 27 of 145 submissions, 19%;
Overall Acceptance Rate 268 of 1,244 submissions, 22%

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)6
  • Downloads (Last 6 weeks)1
Reflects downloads up to 12 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2018)JEff: objects for effectProceedings of the 2018 ACM SIGPLAN International Symposium on New Ideas, New Paradigms, and Reflections on Programming and Software10.1145/3276954.3276955(111-124)Online publication date: 24-Oct-2018
  • (2016)Coupling catch clauses with local declarationsProceedings of the 18th Workshop on Formal Techniques for Java-like Programs10.1145/2955811.2955817(1-6)Online publication date: 17-Jul-2016
  • (2016)Initialize-and-catchProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851943(1819-1822)Online publication date: 4-Apr-2016
  • (2012)Mirror mirror on the ceilingACM SIGCOMM Computer Communication Review10.1145/2377677.237776142:4(443-454)Online publication date: 13-Aug-2012
  • (2012)Surviving failures in bandwidth-constrained datacentersACM SIGCOMM Computer Communication Review10.1145/2377677.237776042:4(431-442)Online publication date: 13-Aug-2012
  • (2012)NetPilotACM SIGCOMM Computer Communication Review10.1145/2377677.237775942:4(419-430)Online publication date: 13-Aug-2012
  • (2010)Strong exception-safety for Java-like languagesProceedings of the 12th Workshop on Formal Techniques for Java-Like Programs10.1145/1924520.1924523(1-7)Online publication date: 22-Jun-2010
  • (2009)Minimizing dependencies within generic classes for faster and smaller programsACM SIGPLAN Notices10.1145/1639949.164012144:10(425-444)Online publication date: 25-Oct-2009
  • (2009)Optimizing programs with intended semanticsACM SIGPLAN Notices10.1145/1639949.164012044:10(409-424)Online publication date: 25-Oct-2009
  • (2009)Translation and optimization for a core calculus with exceptionsProceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation10.1145/1480945.1480952(41-50)Online publication date: 19-Jan-2009
  • 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