Improving the Accuracy of Static Source Code Based Software Change Impact Analysis Through Hybrid Techniques: A Review
Loading...
Date
2021-05-21
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Penerbit UMP
Abstract
Change is an inevitable phenomenon of life. This inevitability of change in the real
world has made software change an indispensable characteristic of software systems and a
fundamental task of software maintenance and evolution. Changes to software may arise as a
result of feature enhancement requests, bug fixes, technological advancements amongst others.
The continuous evolution process of software systems can greatly affect the quality and reliability
of such systems, if proper mechanisms to manage them are not adequately provided.
Consequently, Software change Impact Analysis (CIA) has been identified as an approach to help
address the problem. CIA is an essential activity for comprehending and identifying the impacts of
potential software as a way of preventing the system from entering into an erroneous state. A good
CIA technique, is one which helps to reduce maintenance costs. Hybrid CIA technique is a blend
of multiple CIA techniques. A number of hybrid CIA techniques have been proposed by researchers
in the literature. However, there has been no study that reviewed Hybrid CIA techniques holistically.
The paper tries to fill this gap by presenting a summary of the methods and techniques so far
adopted in code based Hybrid CIA techniques with a view to suggesting possible future directions.
A number of literature including journal articles, conference proceedings, and workshop papers
published between 2009 and 2019 related to the topic were reviewed. The following themes were
employed in the analysis of the review based on their mention in most of the reviewed literature:
size and type of subject software systems; level of granularity; CIA techniques and methods; and
evaluation metrics. The results from the review, reveals that a combination of a minimum of two
CIA techniques is sufficient to gain improved performance. Likewise, hybrid CIA techniques have
always shown significant improvement in performance, over baseline technique. However,
comparison of existing hybrid CIA techniques, in terms of performance, is yet to be carried out. In
addition, findings from the paper, isolated Latent Semantic Indexing (LSI) as the main method
utilized for analyzing textual source code data despite advancement in the field of Information
Retrieval (IR). The paper further highlights areas for future research to include a performance
evaluation of existing hybrid CIA techniques. To achieve this, it is proposed to have a universal
benchmark source code dataset of different programming languages, size and scope. Furthermore,
it is necessary to try out other categories of IR models such as Latent Dirichlet Allocation (LDA)
topic model and those based on deep learning techniques like doc2vec. It would also be a good
way forward, if other possible CIA combinations can be implemented, particularly in the aspect of
utilizing the syntactic and semantic information inherent in source code to achieve a holistic source
code CIA.
Description
Keywords
Citation
3