Software change impact analysis: an approach to differentiate type of change to minimise regression test selection

Author(s):  
Chetna Gupta ◽  
Maneesha Srivastav ◽  
Varun Gupta
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.


Author(s):  
YUSUFF SHAKIRAT ◽  
◽  
AMOS BAJEH ◽  
T.O Aro ◽  
KAYODE ADEWOLE ◽  
...  

Change is an inevitable phenomenon of life. This inevitability of change in the real world has made a software change an indispensable characteristic of software systems and a fundamental task of software maintenance and evolution. The continuous evolution process of software systems can greatly affect the systems’ quality and reliability if proper mechanisms to manage them are not adequately provided. Therefore, there is a need for automated techniques to effectively make an assessment of proposed software changes that may arise due to bug fixes, technological advancements, changing user requirements etc., before their implementation. Software Change Impact Analysis (CIA) is an essential activity for comprehending and identifying potential change impacts of software changes that can help prevent the system from entering into an erroneous state. Despite the emergence of different CIA techniques, they are yet to reach an optimal level of accuracy desired by software engineers. Consequently, researchers in recent years have come up with hybrid CIA techniques which are a blend of multiple CIA approaches, as a way of improving the accuracy of change impacts analysis techniques. This study presents these hybrid CIA techniques and how they improve accuracy. They are also compared and areas for further research are identified.


2018 ◽  
Vol 2018 ◽  
pp. 1-16
Author(s):  
Yun He ◽  
Tong Li ◽  
Wei Wang ◽  
Wei Lan ◽  
Xiang Li

An important application of information retrieval technology is software change impact analysis. Existing information retrieval-based change impact analysis methods select a single method to transform the source code corpus into vectors in a process known as indexing. The single method is chosen from two primary methods, known as the bag-of-words and word embedding models, each having their specific advantages and disadvantages. The bag-of-words model records every word in the source code but ignores contextual information in the corpus. The word embedding model records the contextual information but loses detail for individual words. To address this problem, we propose a structure-driven method for information retrieval-based change impact analysis (named SDM-CIA). SDM-CIA integrates the bag-of-words and word embedding models based on the software’s structure. Our experiments using a standard benchmark shows that when compared with the existing methods, SDM-CIA improves on precision performance, recall performance, F-score performance, and MRR performance by an average of 3.65%, 3.82%, 3.6%, and 10.28%, respectively. Our experiments confirm the effectiveness of SDM-CIA.


Sign in / Sign up

Export Citation Format

Share Document