Title:
Analysis and Testing of Programs with Exception-Handling Constructs

Thumbnail Image
Author(s)
Sinha, Saurabh
Harrold, Mary Jean
Authors
Advisor(s)
Advisor(s)
Editor(s)
Associated Organization(s)
Organizational Unit
Supplementary to
Abstract
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 effect 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 impact on some analysis tasks.
Sponsor
Date Issued
2000
Extent
491838 bytes
Resource Type
Text
Resource Subtype
Technical Report
Rights Statement
Rights URI