DocumentCode
176176
Title
Refactoring Fat Interfaces Using a Genetic Algorithm
Author
Romano, Daniela ; Raemaekers, Steven ; Pinzger, Martin
Author_Institution
Software Eng. Res. Group, Delft Univ. of Technol., Delft, Netherlands
fYear
2014
fDate
Sept. 29 2014-Oct. 3 2014
Firstpage
351
Lastpage
360
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.
Keywords
Java; application program interfaces; genetic algorithms; pattern clustering; random processes; simulated annealing; software engineering; ISP; Maven repository; fat interfaces; genetic algorithm; interface segregation principle; multiobjective clustering problem; public Java API; random annealing; simulated annealing; software system; Biological cells; Genetic algorithms; Measurement; Simulated annealing; Sociology; Statistics; APIs; Interface Segregation Principle; genetic algorithms; refactoring; search-based software engineering;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance and Evolution (ICSME), 2014 IEEE International Conference on
Conference_Location
Victoria, BC
ISSN
1063-6773
Type
conf
DOI
10.1109/ICSME.2014.57
Filename
6976101
Link To Document