Supervised Learning For Orphan Adoption Problem In Software Architecture Recovery

Authors

  • Maryum Bibi Department of Computer Science and Information Technology, University of Azad Jammu and Kashmir
  • Onaiza Maqbool Department of Computer Science, Quaid-i-Azam University, Islamabad, Pakistan
  • Jaweria Kanwal Department of Computer Science, Quaid-i-Azam University, Islamabad, Pakistan

DOI:

https://doi.org/10.22452/mjcs.vol29no4.4

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

Published

2016-12-01

How to Cite

Supervised Learning For Orphan Adoption Problem In Software Architecture Recovery. (2016). Malaysian Journal of Computer Science, 29(4), 287-313. https://doi.org/10.22452/mjcs.vol29no4.4