Evolution Strategy Based Automated Software Clustering Approach

  • Authors:
  • Bilal Khan;Shaleeza Sohail;M. Younus Javed

  • Affiliations:
  • -;-;-

  • Venue:
  • ASEA '08 Proceedings of the 2008 Advanced Software Engineering and Its Applications
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the software development life cycle, maintenance is a key phase that determines long term and effective use of any software. Maintenance can become very lengthy and costly for large software systems when structure of the system is complicated. One of the factors complicating the structure of the software system is subsystem boundaries becoming ambiguous due to system evolution, lack of up to date documentation and high turn over rate of software professionals (leading to non availability of original designers of the software systems). Software module clustering helps software professionals to recover high-level structure of the system by decomposing the system into smaller manageable subsystems, containing interdependent modules. Automated approaches simplify the software clustering process, which otherwise is quite a tedious task for medium and large software systems. We treat software clustering as an optimization problem and propose an automated technique to get near optimal decompositions of relatively independent subsystems, containing interdependent modules. We propose the use of self adaptive Evolution Strategies to search a large solution space consisting of modules and their relationships. We compare our proposed approach with a widely used genetic algorithm based approach on a number of test systems. Our proposed approach shows considerable improvement in terms of quality and effectiveness of the solutions for all tests cases.