Home Computer Science
Change Impact Analysis in Software Versioning
Table of Contents:
Issues and Challenges
Most software modifications involve massive complexity as the effect of such modifications cannot be accurately predicted in advance. However, with shifts in consumption patterns, evolving technologies force frequent alterations in the code. Instead of these changes, the need for an accurate evaluation of the impact of such modifications over the current functioning is strongly observed. Change Impact Analysis is described as the detection of the possible impact due to the code modification on the single section or more sections of an application. In the case of safety-critical domains with large applications, code modifications can expose the code to attacks, causing a system bug down. In such an environment, the pace of accurately predicting the impact on individual components or the whole system plays a vital role. Detecting the components susceptible to changes remains the key functioning of a Change Impact Analysis.
Areas of Change Impact Analysis Implementation
When any modification request is initiated, the change monitoring board allocates an evaluator to analyse the requested modification. The evaluator evaluates the importance of the proposed modification in the business aspect. Business Impact Analysis (BIA) (see Figure 3.1) is initially performed to ensure whether the proposed modification can add additional business value or enhance efficiency
Figure 3.1 Change Impact Analysis process.
or project quality or a combination of these outcomes. In the next stage, the evaluator conducts Change Impact Analysis to detect the ripple impact of the proposed modification .
In addition, Change Impact Analysis is used to detect change factors, areas highly impacted by the modification, which is often based on the knowledge gained from the history of requirements. It also observes the outcomes of Change Impact Analysis and extends the analysis to further requirements including safety, size, economics, adaptability and robustness, along with human factors. Considering all the derived factors and their possible impacts, decision over implementing the change or denying it is made.
Alternatively, Change Impact Analysis is implemented when the evaluator attempts to understand the ripple effects and cost analysis of the proposed change. This process enables the strategy formulation team to understand delivery times and to promote possible additions in the releases over the stipulated time period .
Analysing different models and primary software modification activities, we can conclude that they are focused on reviewing programs before and after the proposed change, incorporating modifications within the available framework and ensuring proper functioning of the system after the change implementation. All these functions of the change monitoring board enable it to understand the project in the context of change . Further, as  suggests, the change implementation process should estimate the ripple effects of change and ensure nothing is overlooked.
Following the successful incorporation of the proposed change, rigorous testing has to be performed. Test cases which require further examination or cases requiring design changes are identified in the process .
The Approach of Change Impact Analysis
This method has many benefits. Primarily, this method assists the change control board (CCB) and managers and is projected for detecting the impacted artefact components. It comprises associations amid components in software procedure and detects impacted components in the path at the time of traverse. Moreover, it could be performed automatically, enabling project managers to lessen the effort in detecting change or varying impacts.
When a change request is submitted by an originator towards an ongoing project, the control board of change allocates an assessor for variation. Here, the assessor performs Impact Analysis of business for detecting change value for the business and the project. Further, the assessor also verifies whether the projected request for change is completed formally and understood; this stage might occur within less time. Here, the assessor might then detect the change value towards business in the following ways:
Even though the assessor might always decide before consulting with CCB in an instance of a positive solution to the query, the requested change might be submitted to attain the objectives of the project in a more effective way and might enable faster cooperation. Figure 3.2 signifies the procedure of Impact Analysis of business.
Figure 3.2 Business Impact Analysis process.
After completing the Impact Analysis of business, the assessor performs Impact Analysis of change for specifying the elements influenced by the change request. Here, in this phase, the assessor is required to:
Critical Issues of Change Impact Analysis
A significant limitation of Change Impact Analysis observed in recent years is the data source volume. Despite the Change Impact Analysis being implemented in multiple forms by several studies, no standard definition exists. For instance, IEEE has no mention of Change Impact Analysis in its glossary and regards it as a conceptbased analysis.
Furthermore, ripple effect and predicting modification and its effectiveness of Change Impact Analysis implementation remain tough challenges. In addition, identifying the suitable method of Change Impact Analysis remains the most dangerous stage of the entire implementation process. Other problems in executing Change Impact Analysis include the need to obtain and organize all the possible consequences of change and manage these consequences appropriately . On the other hand, in small decisions, Change Impact Analysis can be implemented as a simple desk work , and these organizations rarely attempt to understand Change Impact Analysis.
Apart from these limitations, unavailability of dimensions for evaluating Change Impact Analysis approach performance with other approaches is also one of the shortcomings. Further, it is difficult to understand if the existing information is adequate to compare Change Impact Analysis approach . Accordingly, it remains challenging to detect those works contributing to Change Impact Analysis. Further, identifying the most suitable analysis approach for the specific software is related to software modifications.
Observing modification consequences by relationship analysis is also a complex task. Two strategies are used for Change Impact Analysis: inductive and deductive. The inductive approach iteratively navigates program life-cycle object relation data from storage and detects parameters with considerable effects. On the other hand, the deductive strategy is engaged in deciding if the life-cycle object has been impacted by the modification .
Role of Relationships in Change Impact Analysis
Change Impact Analysis remains the essential technique for handling modifications. The concept aims to detect the relationships among components. On the basis of dependence or independence, Change
Impact Analysis attempts to observe the effect of the proposed change to the remaining artefacts. As discussed earlier, the requirement framework comprises artefacts and associated relationships between these artefacts. Typically, the relationships in Change Impact Analysis are categorized into four kinds - aggregation relationship, composition relationship, necessary impact and supplementary impact.
Of the four types of relationships, aggregation refers to an artefact within another artefact. The aggregation relationship depicts the time period in which one artefact is independent of the entire artefact .
Impact relationships depict if the source artefact is a compulsory feeding parameter to generate the target artefact. Existing impact relationship value entails that the target is compulsorily impacted to any modifications made to the source .
Supplementary impact relationships depict if the source acts as a supplementary parameter for generating the target. Existing relationship value implies that any changes in the source may not impact the target. Accordingly, these relationships enable us to understand the effect of proposed modification accurately so as to decide whether to implement the modification or not.
Factors to Consider for Evaluating Change Impact Analysis Impact
Change Impact Analysis
As discussed in the section 3, Change Impact Analysis involves iterative sequences. In particular, handling modifications is based on modifying decisions on the basis of requirements. Modification decision varies with outcomes of Change Impact Analysis. As the factors affecting the change are interrelated, any modifications in the project re-impact these interlinked factors.