MixedInteger Linear Programming Formulations for the Software Clustering Problem
 Viviane Köhler,
 Marcia Fampa,
 Olinto Araújo
 … show all 3 hide
Rent the article at a discount
Rent now* Final gross prices may vary according to local VAT.
Get AccessAbstract
The clustering problem has an important application in software engineering, which usually deals with large software systems with complex structures. To facilitate the work of software maintainers, components of the system are divided into groups in such a way that the groups formed contain highlyinterdependent modules and the independent modules are placed in different groups. The measure used to analyze the quality of the system partition is called Modularization Quality (MQ). Designers represent the software system as a graph where modules are represented by nodes and relationships between modules are represented by edges. This graph is referred in the literature as Module Dependency Graph (MDG). The Software Clustering Problem (SCP) consists in finding the partition of the MDG that maximizes the MQ.
In this paper we present three new mathematical programming formulations for the SCP. Firstly, we formulate the SCP as a sum of linear fractional functions problem and then we apply two different linearization procedures to reformulate the problem as MixedInteger Linear Programming (MILP) problems. We discuss a preprocessing technique that reduces the size of the original problem and develop valid inequalities that have been shown to be very effective in tightening the formulations. We present numerical results that compare the formulations proposed and compare our results with the solutions obtained by the exhaustive algorithm supported by the freely available Bunch clustering tool, for benchmark problems.
 Billionnet, A., Djebali, K. (2006) Résolution d’un problème combinatoire fractionnaire par la programmation linaire mixte. RAIRO. Rech. Opér. 40: pp. 97111 CrossRef
 Chen, D.Z., Daescu, O., Dai, Y., Katoh, N., Wu, X., Xu, J. (2005) Efficient algorithms and implementations for optimizing the sum of linear fractional functions, with applications. J. Comb. Optim. 9: pp. 6990 CrossRef
 Doval, D., Mancoridis, S., Mitchell, B.S. (1999) Automatic clustering of software systems using a genetic algorithm. Proceedings of 1999 IEEE International Conference on Software Tools and Engineering Practice (STEP’99). pp. 7381
 Garey, M.R., Johnson, D.S. (1979) Computers and Intractability: A Guide to the Theory of NPCompleteness. Freeman, New York
 Gay, D.M. (2009) IBM ILOG CPLEX, User’s Manual for CPLEX v12.1.
 Golden, B., Raghvan, S., Wasil, E. (2008) The Vehicle Routing Problem. Latest Advances and New Challenges. Springer, Berlin CrossRef
 Li, H. (1994) A global approach for general 0–1 fractional programming. Eur. J. Oper. Res. 73: pp. 590596 CrossRef
 Mamaghani, A.S., Meybodi, M.R. (2009) Clustering of software systems using new hybrid algorithms. Proceedings of 2009 IEEE International Conference on Computer and Information Technology (CIT 2009).
 Mancoridis, S., Mitchell, B.S., Chen, Y., Gansner, E.R. (1999) Bunch: A clustering tool for the recovery and maintenance of software system structures. Proceedings of 1999 IEEE of International Conference on Software Maintenance (ICSM’99). pp. 5059 CrossRef
 Margot, F. (2009) Symmetry in Integer Linear Programming, 50 Years of Integer Programming. Springer, Berlin
 Mitchell, B.S.: A heuristic search approach to solving the software clustering problem. Ph.D Thesis, Drexel University, Philadelphia (2002)
 Parsa, S., Bushehrian, O. (2005) A new encoding scheme and a framework to investigate genetic clustering algorithms. J. Res. Pract. Inf. Technol. 37: pp. 127143
 Praditwong, K., Harman, M., Yao, X. (2011) Software module clustering as a MultiObjective search problem. IEEE Trans. Softw. Eng. 37: pp. 264282 CrossRef
 Schaeffer, S.E. (2007) Graph clustering. Comput. Sci. Rev. 1: pp. 2764 CrossRef
 Síma, J., Schaeffer, S.E. On the NPcompleteness of Some Graph Cluster Measures. In: Wiedermann, J., Tel, G., Pokorný, J., Bieliková, M., Stuller, J. eds. (2006) Proceedings of the Thirtysecond International Conference on Current Trends in Theory and Practice of Computer Science, SOFSEM. Springer, Berlin
 Title
 MixedInteger Linear Programming Formulations for the Software Clustering Problem
 Journal

Computational Optimization and Applications
Volume 55, Issue 1 , pp 113135
 Cover Date
 20130501
 DOI
 10.1007/s1058901295129
 Print ISSN
 09266003
 Online ISSN
 15732894
 Publisher
 Springer US
 Additional Links
 Topics
 Keywords

 Mathematical programming formulation
 Automatic clustering
 Module dependency graph
 MILP formulation
 Software clustering problem
 Industry Sectors
 Authors

 Viviane Köhler ^{(1)}
 Marcia Fampa ^{(1)}
 Olinto Araújo ^{(2)}
 Author Affiliations

 1. COPPE, Federal University of Rio de Janeiro, C.P. 68530, 21945970, Rio de Janeiro, Brazil
 2. CTISM, Federal University of Santa Maria, Santa Maria, Rio Grande do Sul, Brazil