2000•Unpublished venueRequires access

Techniques of maintaining evolving component-based software

Ye Wu, Dai Pan, Mei-Hwa Chen

Open publisher page 29 citations

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. The authors 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.

About this research paper

What this paper is about

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. The authors 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.

Why it matters

OpenAlex reports 29 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available 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. The authors 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.

Key concepts: Computer science, Backporting, Component (thermodynamics), Software maintenance, Reliability engineering, Software sizing, Software construction, Component-based software engineering

Related papers

Back to paper searchBrowse research topicsOriginal source
Techniques of maintaining evolving component-based software — Research Paper | ScholarLens