Codice-Unio: uma abordagem integrada de métodos para detecção e inserção de padrões de projeto em código-fonte usando agentes
Ano de defesa: | 2020 |
---|---|
Autor(a) principal: | |
Orientador(a): | |
Banca de defesa: | |
Tipo de documento: | Dissertação |
Tipo de acesso: | Acesso aberto |
Idioma: | por |
Instituição de defesa: |
Universidade Tecnológica Federal do Paraná
Ponta Grossa Brasil Programa de Pós-Graduação em Ciência da Computação UTFPR |
Programa de Pós-Graduação: |
Não Informado pela instituição
|
Departamento: |
Não Informado pela instituição
|
País: |
Não Informado pela instituição
|
Palavras-chave em Português: | |
Link de acesso: | http://repositorio.utfpr.edu.br/jspui/handle/1/5229 |
Resumo: | The refactoring process guarantees a higher quality in the source code, increasing its maintainability, readability and flexibility. According to the literature about 70% of the cost of the software is for maintenance and this can be reduced using techniques that allow to increase the quality of the source code such as refactoring based on design standards. It was found through a systematic mapping that the works in the literature for the detection and insertion of design patterns are not carried out autonomously. This work created the Codice-Unio approach to detect insertion points and apply design patterns with agents using the Belief-Desire-Intention (BDI) architecture. The approach contemplates in the same environment three methods from the literature capable of detecting and applying design patterns in source code written in Java language. In order to compare the refactoring process before and after the application of the design standard, the assessment of metrics related to quality attributes such as maintainability, reusability and readability was contemplated in the approach. CodiceUnio was implemented in an agent framework that supports the BDI architecture and used specific tools for reading code and evaluating quality attributes. The approach was evaluated using test scenarios provided by the literature methods and later by open-source projects found on the web via GitHub. As a result, Codice-Unio is able to automatically identify and apply design patterns in candidate classes in approximately 97% of the projects that have undergone the experiment. |