Supervised Learning For Orphan Adoption Problem In Software Architecture Recovery

Main Article Content

Maryum Bibi
Onaiza Maqbool
Jaweria Kanwal

Abstract

Maintenance of architectural documentation is a prime requirement for evolving software systems. New versions of software systems are launched after making the changes that take place in a software system over time. The orphan adoption problem, which deals with the issue of accommodation of newly introduced resources (orphan resources) in appropriate subsystems in successive versions of a software system, is a significant problem. The orphan adoption algorithm has been developed to address this problem. For evolving software systems, it would be useful to recover the architecture of subsequent versions of a software system by using existing architectural information. In this paper, we explore supervised learning techniques (classifiers) for recovering the architecture of subsequent versions of a software system by taking benefit of existing architectural information. We use three classifiers, i.e., Bayesian classifier, k-Nearest Neighbor classifier and Neural Network for orphan adoption. We conduct experiments to compare the performance of the classifiers using various dependencies between entities in a software system. Our experiments highlight correspondence between the orphan adoption algorithm and the classifiers, and also reveal their strengths and weaknesses. To combine strengths of individual classifiers, we propose using a multiclassifier approach in which classifiers work cooperatively to improve classification accuracy. Experiments show that there is significant improvement in results when our proposed multiclassifier approach is used.

Downloads

Download data is not yet available.

Article Details

How to Cite
Bibi, M., Maqbool, O., & Kanwal, J. (2016). Supervised Learning For Orphan Adoption Problem In Software Architecture Recovery. Malaysian Journal of Computer Science, 29(4), 287–313. https://doi.org/10.22452/mjcs.vol29no4.4
Section
Articles