Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation 2006
DOI: 10.1145/1143997.1144315
|View full text |Cite
|
Sign up to set email alerts
|

Search-based determination of refactorings for improving the class structure of object-oriented systems

Abstract: A software system's structure degrades over time, a phenomenon that is known as software decay or design drift. Since the quality of the structure has major impact on the maintainability of a system, the structure has to be reconditioned from time to time. Even if recent advances in the fields of automated detection of bad smells and refactorings have made life easier for software engineers, this is still a very complex and resource consuming task.Search-based approaches have turned out to be helpful in aiding… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
194
0
1

Year Published

2010
2010
2017
2017

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 193 publications
(196 citation statements)
references
References 15 publications
1
194
0
1
Order By: Relevance
“…If a desired architecture is given, and there are several violations, this approach attempts to determine another decomposition that complies with the given architecture by moving classes around. Seng et al (2006) have continued their work by searching for a list of refactorings, which deal with the placement of methods and attributes and inheritance hierarchy.…”
Section: Related Workmentioning
confidence: 99%
“…If a desired architecture is given, and there are several violations, this approach attempts to determine another decomposition that complies with the given architecture by moving classes around. Seng et al (2006) have continued their work by searching for a list of refactorings, which deal with the placement of methods and attributes and inheritance hierarchy.…”
Section: Related Workmentioning
confidence: 99%
“…If a strong MemberGroup pattern is found and all previous preconditions are fulfilled, we can relocate the MemberGroup MG strong (m) to the target class T ∈ M tar using the relocation function moveStrongMG: Similar to the relocation algorithm for the common MemberGroup the function moveStrongMG resolves overlapping identifier names and moves the members and dependent constructor statements (lines [3][4][5][6][7][8]. After the relocation of the strong MemberGroup the formerly used variable of type T , passed to the method m as parameter, is unnecessary.…”
Section: Moving Strong Membergroupsmentioning
confidence: 99%
“…They present transformation operations and discuss the behaviour preservation including the consistency of unit test results. In [5] an approach with evolutionary algorithm usage is described. By simulating refactorings with its pre-and postconditions classifications are done.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…As already mentioned, there are a number of approaches in the literature that treat the design of an object-oriented system as a multi-objective optimization problem in which the goal is to reassign methods and attributes to classes (either from scratch or by employing stepwise modifications in the form of refactorings) in order to optimize the value of selected metrics, typically coupling and cohesion (O'Keeffe and O'Cinneide 2006; Seng et al 2006;Bowman et al 2007). The common denominator of these approaches is that the ''independent'' variables of a software design are its behavior, expressed by the methods that provide the functionality and its state, expressed by the attributes holding the system's information.…”
Section: Input Variablesmentioning
confidence: 99%