DOI: 10.4018/IJAMC.2019010103
International Journal of Applied Metaheuristic Computing
Volume 10 • Issue 1 • January-March 2019
Copyright © 2019, IGI Global. Copying or distributing in print or electronic forms without written permission of IGI Global is prohibited.
43
Cross-Project Change Prediction
Using Meta-Heuristic Techniques
Ankita Bansal, Netaji Subhas Institute of Technology, Delhi, India
Sourabh Jajoria, Netaji Subhas Institute of Technology, Delhi, India
ABSTRACT
Changes in software systems are inevitable. Identification of change-prone modules can help
developers to focus efforts and resources on them. In this article, the authors conduct various
intra-project and cross-project change predictions. The authors use distributional characteristics of
dataset to generate rules which can be used for successful change prediction. The authors analyze the
effectiveness of meta-heuristic decision trees in generating rules for successful cross-project change
prediction. The employed meta-heuristic algorithms are hybrid decision tree genetic algorithms and
oblique decision trees with evolutionary learning. The authors compare the performance of these
meta-heuristic algorithms with C4.5 decision tree model. The authors observe that the accuracy of
C4.5 decision tree is 73.33%, whereas the accuracy of the hybrid decision tree genetic algorithm and
oblique decision tree are 75.00% and 75.56%, respectively. These values indicate that distributional
characteristics are helpful in identifying suitable training set for cross-project change prediction.
KeywoRdS
Change-Prone, Cross-Validation, Decision Tree, Distribution Characteristics, Ensemble Learners, Evolutionary
Algorithms, Open Source, Receiver Operating Characteristics
1. INTRodUCTIoN
Change-proneness is the likelihood that a particular class will be changed in future versions of
software (Tsantalis, 2005). Due to the increasing size, complexity, changing demands of customer
etc., the changes in software are unavoidable. Incorporating these changes is essential but at the same
time, requires huge amount of resources. Additionally, changes in one class may also further lead
to changes in the other classes. The largest percentage of the software development effort is spent
on rework and maintenance (Brooks, 1974). Due the availability of limited resources, it is useful to
identify some classes which may be more prone to changes in future as compared to the other classes.
During the initial phases of software development life cycle, we identify the change prone classes
with the help of software metrics. Identification of such classes will allow the developers and testers
to pay focused attention on them, thus, leading to judicious allocation of limited resources in terms
of time, money and manpower.
Building a prediction model requires training data. In case of change prediction, the training
data is the large amount of historical data of the project. Intra-project change prediction models use
historical data of the same project to predict change-prone classes. But sometimes, the historical data
might not be available like in the case of first version of software. Cross-project change prediction
refers to predicting change-prone classes from training data of other projects. It is important to find