A modular verifiable exception handling mechanism
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Interprocedural constant propagation
SIGPLAN '86 Proceedings of the 1986 SIGPLAN symposium on Compiler construction
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
The C++ programming language (2nd ed.)
The C++ programming language (2nd ed.)
Object-oriented type inference
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
Set based program analysis
Observations on program-wide Ada exception propagation
TRI-Ada '93 Proceedings of the conference on TRI-Ada '93
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
Precise concrete type inference for object-oriented languages
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
A behavioral notion of subtyping
ACM Transactions on Programming Languages and Systems (TOPLAS)
A systematic approach for implementing fault tolerant software designs in Ada
TRI-Ada '90 Proceedings of the conference on TRI-ADA '90
ACM Transactions on Programming Languages and Systems (TOPLAS)
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
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
Programming language pragmatics
Programming language pragmatics
Advanced Exception Handling Mechanisms
IEEE Transactions on Software Engineering
Analysis and Testing of Programs with Exception Handling Constructs
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
A study of exception handling and its dynamic optimization in Java
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
POPL '77 Proceedings of the 4th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Reference Manual for the ADA Programming Language
Reference Manual for the ADA Programming Language
A Theory of Objects
The Java Language Specification
The Java Language Specification
Except for exception handling …
ACM SIGAda Ada Letters - Exception handling for a 21st century programming language proceedings
Exception Handling in Ada-94: Initial Users' Requests and Final Features
ACM SIGAda Ada Letters
The Definition of Standard ML
Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis
ECOOP '95 Proceedings of the 9th European Conference on Object-Oriented Programming
Towards a Cost-Effective Estimation of Uncaught Exceptions in SML Programs
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
Visualization of Exception Propagation for Java Using Static Analysis
SCAM '02 Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation
Criteria for Testing Exception-Handling Constructs in Java Programs
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Exception Analysis for Multithreaded Java Programs
APAQS '01 Proceedings of the Second Asia-Pacific Conference on Quality Software
Fast and Effective Optimization of Statically Typed Object-Oriented
Fast and Effective Optimization of Statically Typed Object-Oriented
Tracking down Exceptions in Standard ML Programs
Tracking down Exceptions in Standard ML Programs
Testing of java web services for robustness
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Robustness Testing of Java Server Applications
IEEE Transactions on Software Engineering
A framework for analyzing exception flow in software architectures
WADS '05 Proceedings of the 2005 workshop on Architecting dependable systems
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Navigating error recovery code in Java applications
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Discovering faults in idiom-based exception handling
Proceedings of the 28th international conference on Software engineering
Context-aware exception handling in mobile agent systems: the MoCA case
Proceedings of the 2006 international workshop on Software engineering for large-scale multi-agent systems
Escape analysis for synchronization removal
Proceedings of the 2006 ACM symposium on Applied computing
An approach to analyzing recursive programs with exception handling constructs
ACM SIGPLAN Notices
Exception-Chain Analysis: Revealing Exception Handling Architecture in Java Server Applications
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Exceptional situations and program reliability
ACM Transactions on Programming Languages and Systems (TOPLAS)
EJFlow: taming exceptional control flows in aspect-oriented programming
Proceedings of the 7th international conference on Aspect-oriented software development
Automatic documentation inference for exceptions
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Visualization of exception handling constructs to support program understanding
Proceedings of the 4th ACM symposium on Software visualization
Assessing the Impact of Aspects on Exception Flows: An Exploratory Study
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Improving robustness of evolving exceptional behaviour in executable models
Proceedings of the 4th international workshop on Exception handling
Composing architectural aspects based on style semantics
Proceedings of the 8th ACM international conference on Aspect-oriented software development
Improving reliability of cooperative concurrent systems with exception flow analysis
Journal of Systems and Software
Exception analysis and points-to analysis: better together
Proceedings of the eighteenth international symposium on Software testing and analysis
Fault localization and repair for Java runtime exceptions
Proceedings of the eighteenth international symposium on Software testing and analysis
Finding bugs in exceptional situations of JNI programs
Proceedings of the 16th ACM conference on Computer and communications security
Automating exception-safety classification
Science of Computer Programming
API conformance verification for Java programs
ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
Are the classes that use exceptions defect prone?
Proceedings of the 12th International Workshop on Principles of Software Evolution and the 7th annual ERCIM Workshop on Software Evolution
Interprocedural exception analysis for C++
Proceedings of the 25th European conference on Object-oriented programming
JET: exception checking in the Java native interface
Proceedings of the 2011 ACM international conference on Object oriented programming systems languages and applications
Practical exception specifications
Advanced Topics in Exception Handling Techniques
Towards automatic exception safety verification
FM'06 Proceedings of the 14th international conference on Formal Methods
Reasoning about exception flow at the architectural level
Rigorous Development of Complex Fault-Tolerant Systems
Amplifying tests to validate exception handling code
Proceedings of the 34th International Conference on Software Engineering
Synthesizing API usage examples
Proceedings of the 34th International Conference on Software Engineering
On exceptions, events and observer chains
Proceedings of the 12th annual international conference on Aspect-oriented software development
Sound and precise malware analysis for android via pushdown reachability and entry-point saturation
Proceedings of the Third ACM workshop on Security and privacy in smartphones & mobile devices
Exception handlers for healing component-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
GUI testing assisted by human knowledge: Random vs. functional
Journal of Systems and Software
Hi-index | 0.00 |
Exception-handling mechanisms in modern programming languages provide a means to help software developers build robust applications by separating the normal control flow of a program from the control flow of the program under exceptional situations. Separating the exceptional structure from the code associated with normal operations bears some consequences. One consequence is that developers wishing to improve the robustness of a program must figure out which exceptions, if any, can flow to a point in the program. Unfortunately, in large programs, this exceptional control flow can be difficult, if not impossible, to determine.In this article, we present a model that encapsulates the minimal concepts necessary for a developer to determine exception flow for object-oriented languages that define exceptions as objects. Using these concepts, we describe why exception-flow information is needed to build and evolve robust programs. We then describe Jex, a static analysis tool we have developed to provide exception-flow information for Java systems based on this model. The Jex tool provides a view of the actual exception types that might arise at different program points and of the handlers that are present. Use of this tool on a collection of Java library and application source code demonstrates that the approach can be helpful to support both local and global improvements to the exception-handling structure of a system.