Abstract
Software systems evolve over time due to changes in user requirements. As evolution takes place, it is often the case that documentation is not updated to reflect these changes. It thus becomes difficult to understand the systems. Higher level understanding of software systems is provided by architectural documentation, which needs to be updated through architecture recovery. For architecture recovery, unsupervised learning techniques such as clustering have been used. When recovering the architecture for a certain version, architectural information of the previous version provides useful information. However, when clustering is employed for architecture recovery, this information is typically not used. In this paper, we explore supervised learning techniques to recover the architecture of a version of a software system using architectural information of past versions. For this purpose we use Bayesian and k-Nearest-Neighbor classification techniques. We perform experiments on two open source software systems. Our results show that both techniques may be used for architecture recovery when version information is available. Moreover, the performance of Bayesian classifier is better than that of the k-Nearest-Neighbor classifier.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.