Abstract
Software testing attempts to reveal software faults by
executing the program on input values and comparing
the outputs from the execution with expected outputs.
Testing software is easier when testability is high, so increasing testability allows faults to be detected more efciently. component-based software is often constructed
from third party software components. When this is
done, the reused components must be retested in the new
environment to ensure that they integrate correctly into
the new context. However, the "black box" nature of
reused components, although offering great benefits otherwise, implicitly reduces their testability. Therefore, it
helps to increase a component's testability before it is
reused. To increase a component's testability, we need
information that can be gained through program analysis. A crucial property of reused software components is
that the source is not available, making program analysis
signi?cantly more difficult. This research addresses this
problem by performing program analysis at the bytecode
level.
This bytecode analysis technique increases component testability without requiring access to the source.
A component's bytecode is analyzed to gather control
and data flow information, which is then used to obtain
definition and use information of method and class variables. Then, the definition and use information is used
to increase component testability during component integration testing. We have implemented the technique and
present empirical results for some components, demonstrating that the method is feasible and practical.
|