Mostrar el registro sencillo del ítem
dc.contributor.author
Garrido, Alejandra
dc.contributor.author
Johnson, Ralph
dc.date.available
2017-08-31T21:17:07Z
dc.date.issued
2013-06
dc.identifier.citation
Garrido, Alejandra; Johnson, Ralph; Embracing the C preprocessor during refactoring
; Wiley; Journal of Software: Evolution and Process; 25; 12; 6-2013; 1285-1304
dc.identifier.issn
2047-7481
dc.identifier.uri
http://hdl.handle.net/11336/23403
dc.description.abstract
C preprocessor directives are heavily used in C programs because they provide useful and even necessary additions to the C language. However, they are usually executed and discarded before any analysis is applied on C programs. In refactoring, preprocessor directives must be preserved through the whole process of parsing, analysis and transformation to retain editable yet correct source code. We propose a new preprocessing approach and special program representations that allow a program to be analyzed and transformed without losing its preprocessor directives, but treating them as first-class program entities. These representations are essential for a correct refactoring tool. We also describe the challenges that preprocessor directives bring to refactoring and how the program representations that we propose solve those challenges. Finally, we give details of two refactorings and present some case studies with our successfully applied solution.
dc.format
application/pdf
dc.language.iso
eng
dc.publisher
Wiley
dc.rights
info:eu-repo/semantics/openAccess
dc.rights.uri
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
dc.subject
Refactoring
dc.subject
Preprocessor Directives
dc.subject
Code Analysis
dc.subject
Software Maintenance
dc.subject.classification
Otras Ciencias de la Computación e Información
dc.subject.classification
Ciencias de la Computación e Información
dc.subject.classification
CIENCIAS NATURALES Y EXACTAS
dc.title
Embracing the C preprocessor during refactoring
dc.type
info:eu-repo/semantics/article
dc.type
info:ar-repo/semantics/artículo
dc.type
info:eu-repo/semantics/publishedVersion
dc.date.updated
2017-08-30T13:33:53Z
dc.journal.volume
25
dc.journal.number
12
dc.journal.pagination
1285-1304
dc.journal.pais
Estados Unidos
dc.journal.ciudad
Hoboken
dc.description.fil
Fil: Garrido, Alejandra. Universidad Nacional de la Plata. Facultad de Informática. Laboratorio de Investigación y Formación en Informática Avanzada; Argentina. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
dc.description.fil
Fil: Johnson, Ralph. University Of Illinois At Urbana; Estados Unidos
dc.journal.title
Journal of Software: Evolution and Process
dc.relation.alternativeid
info:eu-repo/semantics/altIdentifier/url/http://onlinelibrary.wiley.com/doi/10.1002/smr.1603/abstract
dc.relation.alternativeid
info:eu-repo/semantics/altIdentifier/doi/http://dx.doi.org/10.1002/smr.1603
Archivos asociados