Algorithmic Analysis of the Impact of Changes to Object-Oriented Software

  • Authors:
  • Li Li;A. Jefferson Offutt

  • Affiliations:
  • -;-

  • Venue:
  • ICSM '96 Proceedings of the 1996 International Conference on Software Maintenance
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

As the software industry has matured, we have shifted our resources from being primarily devoted to developing new software systems to primarily making modifications in evolving software systems. A major problem for developers in an evolutionary environment is that seemingly small changes can ripple throughout the system to have major unintended impacts elsewhere. As a result, software developers need mechanisms to understand how a change to a software system will affect the rest of the system. Although the effects of changes in object-oriented are restricted, they are also more subtle and more difficult to detect. This paper presents algorithms to analyze the potential impacts of changes to object-oriented software, taking into account encapsulation, inheritance, and polymorphism. This technique allows software developers to perform "what if" analysis on the effect of proposed changes, and thereby choose the change that has the least influence on the rest of the system. The analysis also adds valuable information to regression testing, by suggesting what classes and methods need to be retested, and to project managers, who can use the results for cost estimation and schedule planning.