Software Change Impact Analysis

Author(s):  
Chetna Gupta ◽  
Varun Gupta

This paper presents an approach to prioritize program segments within the impact set computed using functional call graph to assist regression testing for test case prioritization. The presented technique will first categorize the type of impact propagation and then prioritize the impacted segments into higher and lower levels based on propagation categorization. This will help in saving maintenance cost and effort by allocating higher priority to those segments which are impacted more within the impacted set. Thus a software engineer can first run those test cases which cover segments with higher impacted priority to minimize regression test selection.

2016 ◽  
Vol 2016 ◽  
pp. 1-20 ◽  
Author(s):  
S. Panda ◽  
D. Munjal ◽  
D. P. Mohapatra

Test case prioritization focuses on finding a suitable order of execution of the test cases in a test suite to meet some performance goals like detecting faults early. It is likely that some test cases execute the program parts that are more prone to errors and will detect more errors if executed early during the testing process. Finding an optimal order of execution for the selected regression test cases saves time and cost of retesting. This paper presents a static approach to prioritizing the test cases by computing the affected component coupling (ACC) of the affected parts of object-oriented programs. We construct a graph named affected slice graph (ASG) to represent these affected program parts. We determine the fault-proneness of the nodes of ASG by computing their respective ACC values. We assign higher priority to those test cases that cover the nodes with higher ACC values. Our analysis with mutation faults shows that the test cases executing the fault-prone program parts have a higher chance to reveal faults earlier than other test cases in the test suite. The result obtained from seven case studies justifies that our approach is feasible and gives acceptable performance in comparison to some existing techniques.


Author(s):  
Chetna Gupta ◽  
Varun Gupta

Change is an integral part of any software system. Predicting the impact of making changes through techniques of change impact analysis helps engineers identify and analyze those parts of the system that will be potentially affected by requested change(s). This chapter presents a semi-automated approach to (a) compute likelihood of impacted functions in a system through identification and analysis of functional dependencies between them and (b) assist software engineers in selective regression testing. This technique first classifies the impact set data into two categories based on their type of impact propagation. Next it performs prioritization on classified data to rank functions into higher and lower levels according to the degree of impact they will make. This prediction will help in lowering maintenance cost and effort of software engineers. Thus, a software engineer can first run those test cases which cover segments with higher impacted priority to minimize regression test selection.


Author(s):  
Sha Ma ◽  
Bin Song ◽  
Wen Feng Lu ◽  
Cheng Feng Zhu

Engineering changes are inevitable in a product development life cycle. The requests for engineering changes can be due to new customer requirements, emergence of new technology, market feedback, or variations of components and raw materials. Each change generates a level of impact on costs, time to market, tasks and schedules of related processes, and product components. Change management tools available today focus on the management of document and process changes. Assessments of change impact are typically based on the “rule of thumb”. Our research has developed a methodology and related techniques to quantify and analyze the impact of engineering changes to enable faster and more accurate decision-making in engineering change management. Reported in this paper are investigations of industrial requirements and fundamental issues of change impact analysis as well as related research and techniques. A framework for a knowledge-supported change impact analysis system is proposed. Three critical issues of system implementation, namely integrated design information model, change plan generator and impact estimation algorithms, are addressed. Finally the benefits and future work are discussed.


2016 ◽  
Vol 13 (2) ◽  
pp. 74-101
Author(s):  
Gustavo Ansaldi Oliva ◽  
Marco Aurélio Gerosa ◽  
Fabio Kon ◽  
Virginia Smith ◽  
Dejan Milojicic

In ever-changing business environments, organizations continuously refine their processes to benefit from and meet the constraints of new technology, new business rules, and new market requirements. Workflow management systems (WFMSs) support organizations in evolving their processes by providing them with technological mechanisms to design, enact, and monitor workflows. However, workflows repositories often grow and start to encompass a variety of interdependent workflows. Without appropriate tool support, keeping track of such interdependencies and staying aware of the impact of a change in a workflow schema becomes hard. Workflow designers are often blindsided by changes that end up inducing side- and ripple-effects. This poses threats to the reliability of the workflows and ultimately hampers the evolvability of the workflow repository as a whole. In this paper, the authors introduce a change impact analysis approach based on metrics and visualizations to support the evolution of workflow repositories. They implemented the approach and later integrated it as a module in the HP Operations Orchestration (HP OO) WFMS. The authors conducted an exploratory study in which they thoroughly analyzed the workflow repositories of 8 HP OO customers. They characterized the customer repositories from a change impact perspective and compared them against each other. The authors were able to spot the workflows with high change impact among thousands of workflows in each repository. They also found that while the out-of-the-box repository included in HP OO had 10 workflows with high change impact, customer repositories included 11 (+10%) to 35 (+250%) workflows with this same characteristic. This result indicates the extent to which customers should put additional effort in evolving their repositories. The authors' approach contributes to the body of knowledge on static workflow evolution and complements existing dynamic workflow evolution approaches. Their techniques also aim to help organizations build more flexible and reliable workflow repositories.


Author(s):  
Nashat Mansour ◽  
Nabil Baba

The number of internet web applications is rapidly increasing in a variety of fields and not much work has been done for ensuring their quality, especially after modification. Modifying any part of a web application may affect other parts. If the stability of a web application is poor, then the impact of modification will be costly in terms of maintenance and testing. Ripple effect is a measure of the structural stability of source code upon changing a part of the code, which provides an assessment of how much a local modification in the web application may affect other parts. Limited work has been published on computing the ripple effect for web application. In this paper, the authors propose, a technique for computing ripple effect in web applications. This technique is based on direct-change impact analysis and dependence analysis for web applications developed in the .Net environment. Also, a complexity metric is proposed to be included in computing the ripple effect in web applications.


Author(s):  
Walid Ben Ahmed ◽  
Mounib Mekhilef ◽  
Michel Bigand ◽  
Yves Page

Due to the increasing complexity of the modern industrial context in an evolutionary environment, several changes (e.g. new technology, new system, human errors, etc.) may affect road safety. Analyzing the change impact on design requirements is a complex task especially when it deals with complex systems such as Vehicle Safety Systems (VSS). To handle a change impact analysis in road safety field, VSS designers require a specific knowledge stemmed from accidentology. In this paper, we develop a multi-view model of the road accident, which is crucial to extract the required knowledge. Indeed, this multi-view model allows the analysis of the impact of a given change on the Driver-Vehicle-Environment system from different viewpoints and on different grain of size. This allows an efficient approach to detect exhaustively the perturbations due to the change and thereby to anticipate and handle their effects. We use a Knowledge Engineering approach to implement the multi-view model in a Knowledge-Based System providing accidentologists and VSS designers with an efficient tool to carry out an analysis of change impact on analysis design requirements.


Sign in / Sign up

Export Citation Format

Share Document