Print Email Facebook Twitter Refactoring Fat Interfaces Using a Genetic Algorithm Title Refactoring Fat Interfaces Using a Genetic Algorithm Author Romano, D. Raemaekers, S. Pinzger, M. Faculty Electrical Engineering, Mathematics and Computer Science Department Software Technology Date 2014-07-31 Abstract Recent studies have shown that the violation of the Interface Segregation Principle (ISP) is critical for maintaining and evolving software systems. Fat interfaces (i.e., interfaces violating the ISP) change more frequently and degrade the quality of the components coupled to them. According to the ISP the interfaces’ design should force no client to depend on methods it does not invoke. Fat interfaces should be split into smaller interfaces exposing only the methods invoked by groups of clients. However, applying the ISP is a challenging task when fat interfaces are invoked differently by many clients. In this paper, we formulate the problem of applying the ISP as a multi-objective clustering problem and we propose a genetic algorithm to solve it. We evaluate the capability of the proposed genetic algorithm with 42,318 public Java APIs whose clients’ usage has been mined from the Maven repository. The results of this study show that the genetic algorithm outperforms other search based approaches (i.e., random and simulated annealing approaches) in splitting the APIs according to the ISP Subject Interface Segregation PrincipleAPIsrefactoringsearch-based software engineeringgenetic algorithms To reference this document use: http://resolver.tudelft.nl/uuid:59f48430-b5c5-48b4-83fc-ba722de12820 Publisher Delft University of Technology, Software Engineering Research Group ISSN 1872-5392 Source ICSME 2014; 30th International Conference on Software Maintenance and Evolution, Victoria (Canada), Sept. 28- Oct. 3, 2014; preprint Technical Report Series TUD-SERG-2014-007 Part of collection Institutional Repository Document type report Rights © 2014 The Author(s) . Software Engineering Research Group, Department of Software Technology, Faculty of Electrical Engineering, Mathematics and Computer Science, Delft University of Technology Files PDF TUD-SERG-2014-007.pdf 326.29 KB Close viewer /islandora/object/uuid:59f48430-b5c5-48b4-83fc-ba722de12820/datastream/OBJ/view