Busca avançada
Ano de início
Entree
(Referência obtida automaticamente do Web of Science, por meio da informação sobre o financiamento pela FAPESP e o número do processo correspondente, incluída na publicação pelos autores.)

Automatically propagating changes from reference implementations to code generation templates

Texto completo
Autor(es):
Possatto, Marcos Antonio [1] ; Lucredio, Daniel [1]
Número total de Autores: 2
Afiliação do(s) autor(es):
[1] Univ Fed Sao Carlos, Dept Comp, BR-13565905 Sao Carlos, SP - Brazil
Número total de Afiliações: 1
Tipo de documento: Artigo Científico
Fonte: INFORMATION AND SOFTWARE TECHNOLOGY; v. 67, p. 65-78, NOV 2015.
Citações Web of Science: 2
Resumo

Context: Code generators can automatically perform some tedious and error-prone implementation tasks, increasing productivity and quality in the software development process. Most code generators are based on templates, which are fundamentally composed of text expansion statements. To build templates, the code of an existing, tested and validated implementation may serve as reference, in a process known as templatization. With the dynamics of software evolution/maintenance and the need for performing changes in the code generation templates, there is a loss of synchronism between the templates and this reference code. Additional effort is required to keep them synchronized. Objective: This paper proposes automation as a way to reduce the extra effort needed to keep templates and reference code synchronized. Method: A mechanism was developed to semi-automatically detect and propagate changes from reference code to templates, keeping them synchronized with less effort. The mechanism was also submitted to an empirical evaluation to analyze its effects in terms of effort reduction during maintenance/evolution templatization. Results: It was observed that the developed mechanism can lead to a 50% reduction in the effort needed to perform maintenance/evolution templatization, when compared to a manual approach. It was also observed that this effect depends on the nature of the evolution/maintenance task, since for one of the tasks there was no observable advantage in using the mechanism. However, further studies are needed to better characterize these tasks. Conclusion: Although there is still room for improvement, the results indicate that automation can be used to reduce effort and cost in the maintenance and evolution of a template-based code generation infrastructure. (C) 2015 Elsevier B.V. All rights reserved. (AU)

Processo FAPESP: 12/04549-4 - Estratégias para migração automática de código no contexto do desenvolvimento orientado a modelos
Beneficiário:Daniel Lucrédio
Modalidade de apoio: Auxílio à Pesquisa - Regular