|
Selected publications by date
Selected publications by category
|
|   |
Analysis and Testing of Programs with Exception-Handling Constructs
IEEE Transactions on Software Engineering
vol. 26, no. 9, pp. 849-871, September
2000
Saurabh Sinha and Mary Jean Harrold
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 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 effects on some analysis tasks.
|