A Seeded Search for the Modularisation of Sequential Software Versions

By: Mahir Arzoky, Stephen Swift, Allan Tucker, James Cain

Abstract

Software module clustering is the process of partitioning the structure of the software system using low-level dependencies in the source code in order to understand and improve the system's structure. A software clustering tool, Munch, was used to modularise sequential source code software check-ins to assess the degree of major changes. It uses a search-based software engineering technique. This paper employs a seeding technique, based on results from previous modularisations, to speed up the process and reduce the running time. In order to evaluate the efficiency of the modularisation we conducted a number of experiments on our uniquely large and comprehensive real-world dataset. The results of the experiments present strong evidence to support the seeding strategy.

Keywords

clustering, modularisation, refactoring, seeding, time-series, fitness function, EVM, EVMD

Cite as:

Mahir Arzoky, Stephen Swift, Allan Tucker, James Cain, “A Seeded Search for the Modularisation of Sequential Software Versions”, Journal of Object Technology, Volume 11, no. 2 (August 2012), pp. 6:1-27, doi:10.5381/jot.2012.11.2.a6.

PDF | DOI | BiBTeX | Tweet this | Post to CiteULike | Share on LinkedIn

The JOT Journal   |   ISSN 1660-1769   |   DOI 10.5381/jot   |   AITO   |   Open Access   |    Contact