Comput Optim Appl (2013) 55:113–135
DOI 10.1007/s10589-012-9512-9
Mixed-Integer Linear Programming Formulations
for the Software Clustering Problem
Viviane Köhler · Marcia Fampa · Olinto Araújo
Received: 8 February 2012 / Published online: 4 October 2012
© Springer Science+Business Media New York 2012
Abstract The clustering problem has an important application in software engineer-
ing, which usually deals with large software systems with complex structures. To fa-
cilitate the work of software maintainers, components of the system are divided into
groups in such a way that the groups formed contain highly-interdependent 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 Clus-
tering 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 Mixed-Integer 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 avail-
able Bunch clustering tool, for benchmark problems.
V. Köhler · M. Fampa ( )
COPPE, Federal University of Rio de Janeiro, C.P. 68530, 21945-970, Rio de Janeiro, Brazil
e-mail: fampa@cos.ufrj.br
V. Köhler
e-mail: vivianeck@gmail.com
O. Araújo
CTISM, Federal University of Santa Maria, Santa Maria, Rio Grande do Sul, Brazil
e-mail: olinto@ctism.ufsm.br