Change Impact Analysis Methods: The Review of Contemporary Literature

Overview

Impact Analysis estimates the various sections of a program, which can be affected due to system modification. The status of class artefacts is essential to choose an appropriate technique to conduct Change Impact Analysis in the improvement and maintenance segment, though the static Change Impact Analysis method does not need completely developed class artefacts. This kind of approach aims to over-estimate the quantity of impacted classes in the program. Accordingly, the approach has limited utility in practice. In contrast, the dynamic approach estimates completely developed only class artefacts. This study aims to predict only if all these artefacts are undeveloped.

This chapter describes the capabilities of the current Change Impact Analysis approaches with significant intention to aid the execution process of the development phase. Based on this analysis, the primary requirements to evaluate a novel Change Impact Analysis method, particularly for the improvement phase, are then developed.

Contemporary Change Impact Analysis Approaches

Change Impact Analysis techniques are broadly classified into two categories [56]: static and dynamic Change Impact Analysis approaches. The static Change Impact Analysis techniques approach is engaged in developing a group of possible affected classes through evaluating the project’s static information that is developed from different artefacts. A few of software artefacts include requirement artefacts, design artefacts, class artefacts and test artefacts. In contrast, the dynamic approach is involved in developing a group of possible affected classes by assessing the dynamic information. The following sub-section describes each Change Impact Analysis category.

Static Analysis

The core techniques of static analysis which are employed for the novel proposed approach include [3,12,57]:

A. The UCM Static Technique [3]

This method employs the UCM (use case maps) method [58] to operate Change Impact Analysis on both functional requirements and the design method. A UCM technique estimates that all potential functional needs and design methods are fully developed.

UCM technique comprises tw'o limitations: (1) it lacks tracing approaches utilized from functional needs and design artefacts to the original code. Such approach presumes that the content of both artefacts depicted through the UCM model is represented in the artefacts. The impacted artefacts indirectly represent all impacted components of the model. (2) This technique does not include either dynamic or source code analysis. How'ever, a few consequences of a system change from one class to other are detected only by analyzing the behaviour of the modified class using behavioural analysis. Depending on this rule, this technique leads to the missing of a few' affected classes.

B. Need Interdependency Approach [57]

Both need interdependency method and horizontal tracing method are employed in this technique. The need interdependency approach uses the methods of need interdependency identification [59]. On the other hand, the horizontal tracing approach analysis employs the method of IR [60]. As such [3], this interdependency technique estimates that all the class artefacts and requirements are fully developed before executing the method.

The major benefit of this approach over the UCM is that it detects the relationships between requirement and class artefacts by using traceability methods. This detection procedure is significant because of the specific impacts caused by changes that efficiently traverse to the class artefacts. Like UCM, it has two limitations: (1) firstly, it excludes design artefacts. It’s a fact that few requirements can map with the class artefacts directly [61]. In contrast, few requirements utilize high-level design artefacts as a negotiator to reflect the artefacts. Hence, detecting all affected classes using impacted requirements is not always possible because few cases need design decision to effectively aid the detection process [13].

(2) Similar to UCM, this technique lacks both dynamic and source code approaches. However, a few consequences of a system change from one class to another are detected only through analyzing the behaviour of the modified class [29] using behavioural analysis. Depending on this rule, this technique leads to the missing of a few actually affected classes.

C. Estimating Class Interactions through Impact Prediction Filters (CIP-IPF) Approach [ 12]

CIP-IPF technique implements a class interaction estimation approach to identify the affected classes. The implementation process of CIP-IPF is almost the same as the need interdependency method [7], as modifications to a requirement reflect corresponding artefacts. However, the factors that differentiate these techniques include: (1) it generates its own need-interaction identification model, (2) employs rule-based approaches [62] for the horizontal tracing identification and (3) estimates which classes are incompletely developed and which of them are totally developed. CIP-IPF method is strong compared to the above two methods [3,57].

This approach includes tracing path identification among the need artefacts and class artefacts and enables the ease of detecting modification assessment at the need stage to class artefacts. Later, contrary to need interdependency approach, this method induces design artefact concept in the procedure to discover those class artefacts which are affected by the change.

Dynamic Analysis

Two approaches are proposed in [5,6], including the influence mechanism approach and path effect approach, respectively. Both of these approaches estimate the impact set on the basis of method-level observations.

In [5], the researchers induced an IG graph to detect the classes affected by the change. The graph utilizes class artefacts as the primary basis of observation and presumes that all these artefacts are fully developed. This ensures that only these impacted classes will be dynamically analyzed for further refining to identify the most affected classes. Accordingly, superior performance can be predicted through this approach. However, the model is not without shortcomings. No formal tracing procedure exists from requirement or design to class artefacts. The procedure is vital in the total Change Impact Analysis procedure as modification occurs from both class and design/need artefacts. As different design artefacts interrelate both vertically and horizontally, modifications to these artefacts can add to various impacted class artefacts. In certain conditions, solely relying on the source code can ignore such impacted class artefacts.

Evaluation Factors

For evaluating the efficiency of different Change Impact Analysis approaches concerning their assistance in the program development stage, this study designed four factors of review or evaluation [3,4].

These factors are chosen because of their role in assisting Impact Analysis in the development stage. The four factors include: (1) information source, (2) model design approach, (3) partly built class consideration and (4) analysis.

Information source factor: This factor plays a key role in building the Change Impact Analysis model. A few approaches rely on the class artefact, while a few of the strategies rely on either need artefact or design artefact as the information source. In strategies for the program development stage, the need and design artefacts are regarded as highly stable and developed and are most preferred in practice [3,4].

Model design approach factor: This factor depicts the approach incorporated for impact determination. Two approaches are employed for building the model - forward engineering and reverse engineering. As the class artefacts have strong limitations for being used as the information source for model building, the reverse engineering approach is not regarded as a practical model design approach [6].

Partly built class consideration factor: This factor determines the efficiency of any Change Impact Analysis approach to incorporate partly built class analysis. It plays a vital role in the analytical process as only specific classes in the improvement stage are completely developed [63].

Analysis factor: This factor establishes the role of an approach analysis in detecting the affected artefacts. This analysis is conducted in two ways - either static or dynamic. A few approaches incorporate the static method, and a few opt for the dynamic method. Specific approaches include a combination of both of these methods.

The hybrid technique combining both of these methods mostly prefer static methods as they have a strong advantage in cases of partly developed classes, and the dynamic analysis results in superior performance only in the case of fully developed classes. Nevertheless, dynamic methods are incorporated only if certain potential impacted classes identified in the static method are completely built.

Analysis Results

The following description denotes the existing approaches of Change Impact Analysis by comprising the factors of (i) critical objective of the analysis, (ii) analysis model, (iii) considering the incomplete classes and (iv) analysis mode.

Table 4.1 explains that the existing techniques of Change Impact Analysis are unable to support each significant element to execute the Change Impact Analysis technique in the improvement phase. For instance, the UCM techniques only aid the analysis element source by utilizing high-level software artefacts, whereas the model building approach factor is based on the estimation method. This approach, however, excludes partly developed classes and relies solely on static analysis. Accordingly, this approach cannot be efficiently implemented in the development stage. Therefore, we observe that the novel Change Impact Analysis methods are to be developed.

The novel Change Impact Analysis technique will demonstrate four significant characteristics:

  • • Utilizes high-level software artefacts (for instance, requirement artefacts and design artefacts) as the resource to generate a Change Impact Analysis approach
  • • Applies appropriate predictive techniques as the Change Impact Analysis method building techniques
  • • Comprises incompletely developed classes so as to execute dynamic Impact Analysis
  • • Merges both static and dynamic techniques in order to execute efficient Impact Analysis

TABLE 4.1

Current Impact Analysis Techniques' Strengths and Weaknesses

Method

Objective

Model

Analysis of Incomplete Classes

Analysis Mode

Prediction of interconnected classes

Analysis of application design and requirement artefacts

Predictive analysis

NO

Static

Assessment ofcoverage impact

Analysis of either source code or class-level artefacts

Reverse engineering

NO

Dynamic

Defining influence graph

Analysis of either source code or class-level artefacts

Reverse engineering

NO

Static and dynamic

Predicting path impact

Analysis of either source code or class-level artefacts

Reverse engineering

NO

Dynamic

Mapping interdependent requirements

Analysis of requirement artefacts

Predictive analysis

YES

Static

Mapping use-case diagrams

Analysis of application design and

Predictive analysis

NO

Static

requirement artefacts

30 Change Request Impacts in Software

Summary

This chapter represents a complete study of the existing methods of Change Impact Analysis, predominantly to aid the development phase of software execution. From the above work, we state that the novel Change Impact Analysis technique has to comprise four significant characteristics as depicted above. To support future research work, we focus on developing a new method of Change Impact Analysis depending on the four aforesaid features.

CHANGE IMPACT ANALYSIS

 
Source
< Prev   CONTENTS   Source   Next >