A modular verifiable exception handling mechanism
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Abstraction and specification in program development
Abstraction and specification in program development
An axiomatic treatment of exception handling in an expression-oriented language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Contracts: specifying behavioral compositions in object-oriented systems
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Exception handling and object-oriented programming: towards a synthesis
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
An introduction to formal specification and Z
An introduction to formal specification and Z
Typing the specialization interface
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Static analysis of exception handling in Ada
Software—Practice & Experience
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Reuse contracts: managing the evolution of reusable assets
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Type-based analysis of uncaught exceptions
Proceedings of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
An abstract interpretation for estimating uncaught exceptions in standard ML programs
Science of Computer Programming
A semantics for imprecise exceptions
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Efficient and precise modeling of exceptions for the analysis of Java programs
Proceedings of the 1999 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Analyzing exception flow in Java programs
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Advanced Exception Handling Mechanisms
IEEE Transactions on Software Engineering
Designing robust Java programs with exceptions
SIGSOFT '00/FSE-8 Proceedings of the 8th ACM SIGSOFT international symposium on Foundations of software engineering: twenty-first century applications
Exception handling: issues and a proposed notation
Communications of the ACM
Interprocedural exception analysis for Java
Proceedings of the 2001 ACM symposium on Applied computing
Complexity of Points-To Analysis of Java in the Presence of Exceptions
IEEE Transactions on Software Engineering
Featherweight Java: a minimal core calculus for Java and GJ
ACM Transactions on Programming Languages and Systems (TOPLAS)
Journal of Systems and Software
Java Language Specification, Second Edition: The Java Series
Java Language Specification, Second Edition: The Java Series
Except for exception handling …
ACM SIGAda Ada Letters - Exception handling for a 21st century programming language proceedings
Exception analysis for non-strict languages
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Supporting evolution of interface exceptions
Advances in exception handling techniques
Towards a Cost-Effective Estimation of Uncaught Exceptions in SML Programs
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Program Analysis Using Mixed Term and Set Constraints
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Slicing java programs that throw and catch exceptions
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Analysis of Programs with Exception-Handling Constructs
ICSM '98 Proceedings of the International Conference on Software Maintenance
Python reference manual
Exception Analysis for Multithreaded Java Programs
APAQS '01 Proceedings of the Second Asia-Pacific Conference on Quality Software
FAMILY VALUES: A BEHAVIORAL NOTION OF SUBTYPING
FAMILY VALUES: A BEHAVIORAL NOTION OF SUBTYPING
Tracking down Exceptions in Standard ML Programs
Tracking down Exceptions in Standard ML Programs
Static analysis to support the evolution of exception structure in object-oriented systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
On the criteria to be used in decomposing systems into modules
Software pioneers
An uncaught exception analysis for Java
Journal of Systems and Software
SEFM '04 Proceedings of the Software Engineering and Formal Methods, Second International Conference
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
Language constructs for improving reusability in object-oriented software
OOPSLA '05 Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Exceptions and aspects: the devil is in the details
Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering
EJFlow: taming exceptional control flows in aspect-oriented programming
Proceedings of the 7th international conference on Aspect-oriented software development
Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Error propagation analysis for file systems
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
On the modularization and reuse of exception handling with aspects
Software—Practice & Experience
Lightweight polymorphic effects
ECOOP'12 Proceedings of the 26th European conference on Object-Oriented Programming
A higher abstraction level using first-class inheritance relations
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
The crosscutting impact of the AOSD Brazilian research community
Journal of Systems and Software
On exceptions, events and observer chains
Proceedings of the 12th annual international conference on Aspect-oriented software development
New exception interfaces for Java-like languages
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
Ever since their invention 30 years ago, checked exceptions have been a point of much discussion. On the one hand, they increase the robustness of software by preventing the manifestation of unanticipated checked exceptions at run-time. On the other hand, they decrease the adaptability of software because they must be propagated explicitly, and must often be handled even if they cannot be signalled.We show that the problems with checked exceptions are caused by a lack of expressiveness of the exceptional return type of a method, which currently dictates a copy & paste style. We add the required expressiveness by introducing anchored exception declarations, which allow the exceptional behavior of a method to be declared relative to that of others. We present the formal semantics of anchored exception declarations, along with the necessary rules for ensuring compile-time safety, and give a proof of soundness. We show that anchored exception declarations do not violate the principle of information hiding when used properly, and provide a guideline for when to use them.We have implemented anchored exception declarations in Cappuccino, which is an extension to the ClassicJava programming language.