Assessing single-objective performance convergence and time complexity for refactoring detection

The automatic detection of refactoring recommendations has been tackled in prior optimization studies involving bad code smells, semantic coherence and importance of classes; however, such studies informally addressed formalisms to standardize and replicate refactoring models. We propose to assess t...

Full description

Autores:
Tipo de recurso:
Fecha de publicación:
2018
Institución:
Universidad del Rosario
Repositorio:
Repositorio EdocUR - U. Rosario
Idioma:
eng
OAI Identifier:
oai:repository.urosario.edu.co:10336/24121
Acceso en línea:
https://doi.org/10.1145/3205651.3208294
https://repository.urosario.edu.co/handle/10336/24121
Palabra clave:
Combinatorial optimization
Computer software maintenance
Information analysis
Semantics
Simulated annealing
Automatic Detection
Combinatorial techniques
Computational solutions
Empirical analysis
Mathematical software
Optimization studies
Refactorings
Time complexity analysis
Evolutionary algorithms
Combinatorial Optimization
Mathematical Software Performance
Refactoring
Software Maintenance
Rights
License
http://purl.org/coar/access_right/c_abf2
Description
Summary:The automatic detection of refactoring recommendations has been tackled in prior optimization studies involving bad code smells, semantic coherence and importance of classes; however, such studies informally addressed formalisms to standardize and replicate refactoring models. We propose to assess the refactoring detection by means of performance convergence and time complexity. Since the reported approaches are diicult to reproduce, we employ an Artiicial Refactoring Generation (ARGen) as a formal and naive computational solution for the Refactoring Detection Problem. ARGen is able to detect massive refactoring's sets in feasible areas of the search space. We used a refactoring formalization to adapt search techniques (Hill Climbing, Simulated Annealing and Hybrid Adaptive Evolutionary Algorithm) that assess the performance and complexity on three open software systems. Combinatorial techniques are limited in solving the Refactoring Detection Problem due to the relevance of developers' criteria (human factor) when designing reconstructions. Without performance convergence and time complexity analysis, a software empirical analysis that utilizes search techniques is incomplete. © 2018 Copyright held by the owner/author(s). Publication rights licensed to Association for Computing Machinery.