[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/1924520.1924523acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Strong exception-safety for Java-like languages

Published: 22 June 2010 Publication History

Abstract

"Exception-safety strong guarantee: The operation has either completed successfully or thrown an exception, leaving the program state exactly as it was before the operation started." David Abrahams [1] The above definition of strong exception-safety comes from the world of C++, but it can be applied to any language.
Because the exception-safety strong guarantee plays a central role in easing the development of robust software, we have designed a type-system able to capture its essence.
We present a lightweight type system for Java-like languages that, by introducing a simple modifier to types, enforces programs to satisfy the strong guarantee.

References

[1]
D. Abrahams. Exception-safety in generic components. In M. Jazayeri, R. Loos, and D. R. Musser, editors, International Seminar on Generic Programming, Selected Papers, volume 1766 of Lecture Notes in Computer Science, pages 69--79. Springer, 2000.
[2]
D. Ancona, G. Lagorio, and E. Zucca. A core calculus for Java exceptions. In ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 2001), SIGPLAN Notices. ACM Press, October 2001.
[3]
J. Boyland. Why we should not add readonly to java (yet). Journal of Object Technology, 5(5):5--29, 2006.
[4]
C. Haack and E. Poll. Type--based Object Immutability with Flexible Initialization. In ECOOP 2009 - Object-Oriented Programming, Lecture Notes in Computer Science. Springer, 2009.
[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]
B. Jacobs and F. Piessens. Failboxes: Provably safe exception handling. In S. Drossopoulou, editor, ECOOP 2009 - Object-Oriented Programming, 23rd European Conference, Genoa, Italy, July 6--10, 2009. Proceedings, volume 5653 of Lecture Notes in Computer Science, pages 470--494. Springer, 2009.
[7]
K. R. M. Leino and W. Schulte. Exception safety for C#. In 2nd International Conference on Software Engineering and Formal Methods, pages 218--227. IEEE Computer Society, 2004.
[8]
X. Li, H. J. Hoover, and P. Rudnicki. Towards automatic exception safety verification. In J. Misra, T. Nipkow, and E. Sekerinski, editors, FM 2006: Formal Methods, 14th International Symposium on Formal Methods, Hamilton, Canada, August 21--27, 2006, Proceedings, volume 4085 of Lecture Notes in Computer Science, pages 396--411. Springer, 2006.
[9]
B. Stroustrup. The C++ Programming Language: Third Edition. Addison-Wesley Publishing Co., Reading, Mass., 1997.
[10]
B. Stroustrup. Exception safety: Concepts and techniques. In Advances in Exception Handling Techniques, Lecture Notes in Computer Science, pages 60--76. Springer, 2001.
[11]
M. S. Tschantz and M. D. Ernst. Javari: adding reference immutability to Java. ACM SIGPLAN Notices, 40(10):211--230, Oct. 2005.

Cited By

View all
  • (2011)Execution Constraint Verification of Exception Handling on UML Sequence DiagramsProceedings of the 2011 Fifth International Conference on Secure Software Integration and Reliability Improvement10.1109/SSIRI.2011.13(31-40)Online publication date: 27-Jun-2011

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
FTFJP '10: Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
June 2010
66 pages
ISBN:9781450305402
DOI:10.1145/1924520
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

  • CEKTRA
  • University of Maribor
  • AITO: Assoc Internationale por les Technologies Objects

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 June 2010

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Java
  2. exception handling
  3. type systems

Qualifiers

  • Research-article

Conference

ECOOP '10
Sponsor:
  • AITO

Acceptance Rates

Overall Acceptance Rate 51 of 75 submissions, 68%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2011)Execution Constraint Verification of Exception Handling on UML Sequence DiagramsProceedings of the 2011 Fifth International Conference on Secure Software Integration and Reliability Improvement10.1109/SSIRI.2011.13(31-40)Online publication date: 27-Jun-2011

View Options

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