Advanced search
Start date
Betweenand
(Reference retrieved automatically from Web of Science through information on FAPESP grant and its corresponding number as mentioned in the publication by the authors.)

Automatically propagating changes from reference implementations to code generation templates

Full text
Author(s):
Possatto, Marcos Antonio [1] ; Lucredio, Daniel [1]
Total Authors: 2
Affiliation:
[1] Univ Fed Sao Carlos, Dept Comp, BR-13565905 Sao Carlos, SP - Brazil
Total Affiliations: 1
Document type: Journal article
Source: INFORMATION AND SOFTWARE TECHNOLOGY; v. 67, p. 65-78, NOV 2015.
Web of Science Citations: 2
Abstract

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)

FAPESP's process: 12/04549-4 - Strategies for automatic code migration in the context of model-driven engineering
Grantee:Daniel Lucrédio
Support Opportunities: Regular Research Grants