Selecting Software Test Data Using Data Flow Information
IEEE Transactions on Software Engineering
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
The program dependence graph and its use in optimization
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Applicable Family of Data Flow Testing Criteria
IEEE Transactions on Software Engineering
Interprocedual data flow testing
TAV3 Proceedings of the ACM SIGSOFT '89 third symposium on Software testing, analysis, and verification
Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compact representations for control dependence
PLDI '90 Proceedings of the ACM SIGPLAN 1990 conference on Programming language design and implementation
Automated Software Test Data Generation
IEEE Transactions on Software Engineering
Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented type inference
OOPSLA '91 Conference proceedings on Object-oriented programming systems, languages, and applications
A safe approximate algorithm for interprocedural aliasing
PLDI '92 Proceedings of the ACM SIGPLAN 1992 conference on Programming language design and implementation
Static analysis of exception handling in Ada
Software—Practice & Experience
On slicing programs with jump statements
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Static slicing in the presence of goto statements
ACM Transactions on Programming Languages and Systems (TOPLAS)
Precise concrete type inference for object-oriented languages
OOPSLA '94 Proceedings of the ninth annual conference on Object-oriented programming systems, language, and applications
APT: a data structure for optimal control dependence computation
PLDI '95 Proceedings of the ACM SIGPLAN 1995 conference on Programming language design and implementation
Slicing object-oriented software
Proceedings of the 18th international conference on Software engineering
A framework for generalized control dependence
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Lightweight lexical source model extraction
ACM Transactions on Software Engineering and Methodology (TOSEM)
Simple and effective analysis of statically-typed object-oriented programs
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Fast static analysis of C++ virtual function calls
Proceedings of the 11th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A safe, efficient regression test selection technique
ACM Transactions on Software Engineering and Methodology (TOSEM)
Computation of interprocedural control dependence
Proceedings of the 1998 ACM SIGSOFT international symposium on Software testing and analysis
Reuse-driven interprocedural slicing
Proceedings of the 20th international conference on Software engineering
System-dependence-graph-based slicing of programs with arbitrary interprocedural control flow
Proceedings of the 21st international conference on Software engineering
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
An Approach to Program Testing
ACM Computing Surveys (CSUR)
The Java Language Specification
The Java Language Specification
Selecting and Using Data for Integration Testing
IEEE Software
A Comparison of Some Structural Testing Strategies
IEEE Transactions on Software Engineering
An Experimental Comparison of the Effectiveness of Branch Testing and Data Flow Testing
IEEE Transactions on Software Engineering
Provable Improvements on Branch Testing
IEEE Transactions on Software Engineering
Complexity of Concrete Type-Inference in the Presence of Exceptions
ESOP '98 Proceedings of the 7th European Symposium on Programming: Programming Languages and Systems
Using Dependence Analysis to Support the Software Maintenance Process
ICSM '93 Proceedings of the Conference on Software Maintenance
Slicing Programs with Arbitrary Control-flow
AADEBUG '93 Proceedings of the First International Workshop on Automated and Algorithmic Debugging
Interprocedural Path Profiling
CC '99 Proceedings of the 8th International Conference on Compiler Construction, Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS'99
Analysis of Programs with Exception-Handling Constructs
ICSM '98 Proceedings of the International Conference on Software Maintenance
Slicing Objects Using System Dependence Graphs
ICSM '98 Proceedings of the International Conference on Software Maintenance
Criteria for Testing Exception-Handling Constructs in Java Programs
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Interprocedural control dependence
ACM Transactions on Software Engineering and Methodology (TOSEM)
Extending and evaluating flow-insenstitive and context-insensitive points-to analyses for Java
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
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
Regression test selection for Java software
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Modeling Programs with Unstructured Control Flow for Debugging
AI '02 Proceedings of the 15th Australian Joint Conference on Artificial Intelligence: Advances in Artificial Intelligence
Slicing java programs that throw and catch exceptions
Proceedings of the 2003 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation
Static analysis to support the evolution of exception structure in object-oriented systems
ACM Transactions on Software Engineering and Methodology (TOSEM)
Automated Support for Development, Maintenance, and Testing in the Presence of Implicit Control Flow
Proceedings of the 26th International Conference on Software Engineering
An uncaught exception analysis for Java
Journal of Systems and Software
Static and dynamic analysis of call chains in java
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Testing of java web services for robustness
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
A Differencing Algorithm for Object-Oriented Programs
Proceedings of the 19th IEEE international conference on Automated software engineering
Robustness Testing of Java Server Applications
IEEE Transactions on Software Engineering
An approach to automatic testing exception handling
ACM SIGPLAN Notices
Static control-flow analysis for reverse engineering of UML sequence diagrams
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
EDO: Exception-directed optimization in java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Navigating error recovery code in Java applications
eclipse '05 Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
Escape analysis for synchronization removal
Proceedings of the 2006 ACM symposium on Applied computing
Towards regression test selection for AspectJ programs
Proceedings of the 2nd workshop on Testing aspect-oriented programs
Establishing structural testing criteria for Java bytecode
Software—Practice & Experience
Architecting Fault-tolerant Component-based Systems: from requirements to testing
Electronic Notes in Theoretical Computer Science (ENTCS)
JDiff: A differencing technique and tool for object-oriented programs
Automated Software Engineering
An analysis approach for testing exception handling programs
ACM SIGPLAN Notices
Exceptional situations and program reliability
ACM Transactions on Programming Languages and Systems (TOPLAS)
Dynamic slicing on Java bytecode traces
ACM Transactions on Programming Languages and Systems (TOPLAS)
Towards verification and testing of Java programs
Proceedings of the 2008 ACM symposium on Applied computing
Secure slices of insecure programs
Proceedings of the 2008 ACM symposium on Information, computer and communications security
Visualization of exception handling constructs to support program understanding
Proceedings of the 4th ACM symposium on Software visualization
Translation and optimization for a core calculus with exceptions
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
A model-based regression test selection approach for embedded applications
ACM SIGSOFT Software Engineering Notes
Code based analysis for object-oriented systems
Journal of Computer Science and Technology
Mining exception-handling rules as sequence association rules
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Exception analysis and points-to analysis: better together
Proceedings of the eighteenth international symposium on Software testing and analysis
Using a model-based test generator to test for standard conformance
IBM Systems Journal
Program Transformations under Dynamic Security Policies
Electronic Notes in Theoretical Computer Science (ENTCS)
An efficient optimization algorithm of java bytecode to reduce network traffic
ICCSA'03 Proceedings of the 2003 international conference on Computational science and its applications: PartII
Contextual integration testing of classes
FASE'08/ETAPS'08 Proceedings of the Theory and practice of software, 11th international conference on Fundamental approaches to software engineering
Interprocedural exception analysis for C++
Proceedings of the 25th European conference on Object-oriented programming
Bauhaus: a tool suite for program analysis and reverse engineering
Ada-Europe'06 Proceedings of the 11th Ada-Europe international conference on Reliable Software Technologies
A model of exception propagation in distributed applications
PPAM'05 Proceedings of the 6th international conference on Parallel Processing and Applied Mathematics
Modeling and analysis of exception handling by using UML statecharts
FIDJI'04 Proceedings of the 4th international conference on Scientific Engineering of Distributed Java Applications
An exception monitoring system for java
RISE'04 Proceedings of the First international conference on Rapid Integration of Software Engineering Techniques
A method for modeling and testing exceptions in component-based software development
LADC'05 Proceedings of the Second Latin-American conference on Dependable Computing
Amplifying tests to validate exception handling code
Proceedings of the 34th International Conference on Software Engineering
Exception handling: a field study in Java and .NET
ECOOP'07 Proceedings of the 21st European conference on Object-Oriented Programming
Sound control-flow graph extraction for java programs with exceptions
SEFM'12 Proceedings of the 10th international conference on Software Engineering and Formal Methods
Efficient and effective handling of exceptions in java points-to analysis
CC'13 Proceedings of the 22nd international conference on Compiler Construction
Hi-index | 0.00 |
Analysis techniques, such as control flow, data flow, and control dependence, are used for a variety of software engineering tasks, including structural and regression testing, dynamic execution profiling, static and dynamic slicing, and program understanding. To be applicable to programs in languages such as Java and C++, these analysis techniques must account for the effects of exception occurrences and exception handling constructs; failure to do so can cause the analysis techniques to compute incorrect results and, thus, limit the usefulness of the applications that use them. This paper discusses the effects of exception handling constructs on several analysis techniques. The paper presents techniques to construct representations for programs with explicit exception occurrences驴exceptions that are raised explicitly through throw statements驴and exception handling constructs. The paper presents algorithms that use these representations to perform the desired analyses. The paper also discusses several software engineering applications that use these analyses. Finally, the paper describes empirical results pertaining to the occurrence of exception handling constructs in Java programs and their effect on some analysis tasks.