A Change Impact Analysis Tool: Integration Between Static and Dynamic Analysis Techniques

Author(s):  
Nazri Kama ◽  
Saiful Adli Ismail ◽  
Kamilia Kamardin ◽  
Norziha Megat Zainuddin ◽  
Azri Azmi ◽  
...  
2015 ◽  
Vol 109 ◽  
pp. 137-149 ◽  
Author(s):  
Xiaobing Sun ◽  
Bixin Li ◽  
Hareton Leung ◽  
Bin Li ◽  
Junwu Zhu

2012 ◽  
Vol 23 (8) ◽  
pp. 613-646 ◽  
Author(s):  
Bixin Li ◽  
Xiaobing Sun ◽  
Hareton Leung ◽  
Sai Zhang

2020 ◽  
Vol 9 (1) ◽  
pp. 2232-2236

Software Applications needs to be changed constantly as per the requirements of the user or the client. This phase is known as the maintenance phase of a software application. On an average, the cost of software maintenance is more than 50% of all Software Development Life Cycle phases. The main purpose of software maintenance is to modify and update software application after delivery in order to correct faults, enhance the functionality or to improve performance. When the change request (CR) is received from the client the developers have to work upon the request. If the Change Request requires any modification, the application developers have to identify the risk of modifying the program or application before making the actual change. But there is a high chance of making errors in modifying the existing software. Change Impact analysis (CIA) is one of the error prevention technique. It is the process to find the effect of a change in a software application before the changes are made. By equipping developers with automated CIA tools to identify the risk of modifying the application we can minimize the errors. Impact analysis can be done based on the change request. This paper aims at developing a change impact analysis tool which can be used by the developer during the software maintenance phase. This proposed tool -Strategic Dependency Tracker (SDepTrac) helps the programmer/ developer to know “What part of the program (of a Java application) is impacted if a change is to be made to a particular variable / method / class?” with more accuracy compared to the existing tools. It displays the number of lines affected, classes and methods which are going to be affected, if we perform the requested change by considering the data dependency, control dependency and the semantic dependency. Thus the tool helps the developer to identify the impact set and minimizes the human errors and also saves time during the Maintenance phase.


Author(s):  
Karl Palmskog ◽  
Ahmet Celik ◽  
Milos Gligoric

Abstract Change impact analysis techniques determine the components affected by a change to a software system, and are used as part of many program analysis techniques and tools, e.g., in regression test selection, build systems, and compilers. The correctness of such analyses usually depends both on domain-specific properties and change impact analysis, and is rarely established formally, which is detrimental to trustworthiness. We present a formalization of change impact analysis with machine-checked proofs of correctness in the Coq proof assistant. Our formal model factors out domain-specific concerns and captures system components and their interrelations in terms of dependency graphs. Using compositionality, we also capture hierarchical impact analysis formally for the first time, which, e.g., can capture when impacted files are used to locate impacted tests inside those files. We refined our verified impact analysis for performance, extracted it to efficient executable OCaml code, and integrated it with a regression test selection tool, one regression proof selection tool, and one build system, replacing their existing impact analyses. We then evaluated the resulting toolchains on several open source projects, and our results show that the toolchains run with only small differences compared to the original running time. We believe our formalization can provide a basis for formally proving domain-specific techniques using change impact analysis correct, and our verified code can be integrated with additional tools to increase their reliability.


Sign in / Sign up

Export Citation Format

Share Document