Techniques of Maintaining Evolving Component-Based Software

  • Authors:
  • Ye Wu;Dai Pan;Mei-Hwa Chen

  • Affiliations:
  • -;-;-

  • Venue:
  • ICSM '00 Proceedings of the International Conference on Software Maintenance (ICSM'00)
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Component-based software engineering has been increasingly adopted for software development. Such an approach using reusable components as the building blocks for constructing software, on one hand, embellishes the likelihood of improving software quality and productivity; on the other hand, it consequently involves frequent maintenance activities, such as upgrading third party components or adding new features. The cost of maintenance for conventional software can account for as much as two-thirds of the total cost, and it can likely be even more for maintaining component-based software. Thus, an effective maintenance technique for component-based software is strongly desired. In this paper, we present a technique that can be applied on various maintenance activities over component-based software systems. The technique proposed utilizes a static analysis to identify the interfaces, events and dependence relationships that would be affected by the modification in the maintenance activity. The results obtained from the static analysis along with the information of component interactions recorded during the execution of each test case are used to guide test selection in the maintenance phase. The empirical results show that with 19% effort our technique detected 71% of the faults in an industrial component-based system, which demonstrates the great potential effectiveness of the technique.