A modular verifiable exception handling mechanism
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
INFO: a simple document annotation facility
SIGDOC '91 Proceedings of the 9th annual international conference on Systems documentation
Dealing with disaster: surviving misbehaved kernel extensions
OSDI '96 Proceedings of the second USENIX symposium on Operating systems design and implementation
Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
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
API documentation from source code comments: a case study of Javadoc
SIGDOC '99 Proceedings of the 17th annual international conference on Computer documentation
Exception handling: issues and a proposed notation
Communications of the ACM
Path analysis and renaming for predicted instruction scheduling
International Journal of Parallel Programming - Special issue on parallel architectures and compilation techniques
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
Pointer analysis: haven't we solved this problem yet?
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Documentation for software engineers: what is needed to aid system understanding?
SIGDOC '01 Proceedings of the 19th annual international conference on Computer documentation
Bugs as deviant behavior: a general approach to inferring errors in systems code
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
ESP: path-sensitive program verification in polynomial time
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Software Engineering: Theory and Practice
Software Engineering: Theory and Practice
Practical Software Maintenance: Best Practices for Managing Your Software Investment
Practical Software Maintenance: Best Practices for Managing Your Software Investment
Efficient path conditions in dependence graphs
Proceedings of the 24th International Conference on Software Engineering
The relevance of software documentation, tools and technologies: a survey
Proceedings of the 2002 ACM symposium on Document engineering
Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices
Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices
Enhancing the Fault Tolerance of Workflow Management Systems
IEEE Concurrency
Criteria for Testing Exception-Handling Constructs in Java Programs
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Regaining Control of Exception Handling
Regaining Control of Exception Handling
Static analysis to support the evolution of exception structure in object-oriented systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Towards a documentation maturity model
Proceedings of the 21st annual international conference on Documentation
Automated Support for Development, Maintenance, and Testing in the Presence of Implicit Control Flow
Proceedings of the 26th International Conference on Software Engineering
Finding and preventing run-time error handling mistakes
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
A study of the documentation essential to software maintenance
Proceedings of the 23rd annual international conference on Design of communication: documenting & designing for pervasive information
Discovering faults in idiom-based exception handling
Proceedings of the 28th international conference on Software engineering
What users say they want in documentation
SIGDOC '06 Proceedings of the 24th annual ACM international conference on Design of communication
Exception-Chain Analysis: Revealing Exception Handling Architecture in Java Server Applications
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Scaling Java points-to analysis using SPARK
CC'03 Proceedings of the 12th international conference on Compiler construction
Practical exception specifications
Advanced Topics in Exception Handling Techniques
Applications of craig interpolants in model checking
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
Specification Mining with Few False Positives
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
Exception analysis and points-to analysis: better together
Proceedings of the eighteenth international symposium on Software testing and analysis
Demystifying model transformations: an approach based on automated rule inference
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Expect the unexpected: error code mismatches between documentation and the real world
Proceedings of the 9th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Automatically documenting program changes
Proceedings of the IEEE/ACM international conference on Automated software engineering
Towards automatically generating summary comments for Java methods
Proceedings of the IEEE/ACM international conference on Automated software engineering
Automatically detecting and describing high level actions within methods
Proceedings of the 33rd International Conference on Software Engineering
Static extraction of program configuration options
Proceedings of the 33rd International Conference on Software Engineering
An empirical study on evolution of API documentation
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
Interprocedural exception analysis for C++
Proceedings of the 25th European conference on Object-oriented programming
Inferring specifications for resources from natural language API documentation
Automated Software Engineering
Automated documentation inference to explain failed tests
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
A human study of patch maintainability
Proceedings of the 2012 International Symposium on Software Testing and Analysis
Amplifying tests to validate exception handling code
Proceedings of the 34th International Conference on Software Engineering
Semi-automatically extracting FAQs to improve accessibility of software development knowledge
Proceedings of the 34th International Conference on Software Engineering
Inferring method specifications from natural language API descriptions
Proceedings of the 34th International Conference on Software Engineering
Detecting API documentation errors
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Hi-index | 0.00 |
Exception handling is a powerful and widely-used programming language abstraction for constructing robust software systems. Unfortunately, it introduces an inter-procedural flow of control that can be difficult to reason about. Failure to do so correctly can lead to security vulnerabilities, breaches of API encapsulation, and any number of safety policy violations. We present a fully automated tool that statically infers and characterizes exception-causing conditions in Java programs. Our tool is based on an inter-procedural, context-sensitive analysis. The output of this tool is well-suited for use as human-readable documentation of exceptional conditions. We evaluate the output of our tool by comparing it to over 900 instances of existing exception documentation in almost two million lines of code. We find that the output of our tool is at least as good as existing documentation 85% of the time and is better 25% of the time.