|dc.description.abstract||Interest in component-based software continues to grow with the recognition
of its potential in managing the increasing complexity of software systems.
However, the use of externally-provided components has serious drawbacks, in
most cases due to the lack of information about the components, for a wide
range of activities in the engineering of component-based applications.
Consider the activity of regression testing, whose high cost has been, and
continues to be, a problem. In the case of component-based applications,
regression testing can be even more expensive. When a new version of one or
more components is integrated into an application, the lack of information
about such externally-developed components makes it difficult to effectively
determine the test cases that should be rerun on the resulting application.
In previous work, we proposed the use of metadata, which are additional data
provided with a component, to support software engineering tasks. In this
paper, we present two new metadata-based techniques that address the problem
of regression test selection for component-based applications: a code-based
approach and a specification-based approach. First, using an example, we
illustrate the two techniques. Then, we present a case study that applies
the code-based technique to a real component-based system. The results of
the study indicate that, on average, 26% of the overall testing effort can
be saved over seven releases of the component-based system studied, with a
maximum savings of 99% of the testing effort for one version. This
reduction demonstrates that metadata can produce benefits in regression
testing by reducing the costs related to this activity.||en_US