Abstract

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.

Highlights

  • IntroductionA majority of modern day software systems are models of the real world which is continually changing

  • Change is inevitable in software engineering and maintenance [1][2]

  • While this has revealed the strength of combining multiple Change Impact analysis (CIA) techniques, it fails to evaluate the performance of the techniques against other hybrid techniques

Read more

Summary

Introduction

A majority of modern day software systems are models of the real world which is continually changing. Software systems must continuously evolve with the changing reality being modeled or risk becoming less useful and obsolete [3]. Software systems evolve to adapt to new user requirements, enhance functionality and performance, changing technology and business models, fix existing faults amongst others [4]. Software change has been identified as an indispensable characteristic and a fundamental element of software maintenance and evolution [5] The task of implementing changes in evolving software systems is non-trivial due to the size and complexity of software systems [6]. Software Change Impact analysis (CIA) is the approach used to address this problem of change implementation [7]. A number of definitions for CIA has been given in

Methods
Results
Discussion
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call