Embracing the C preprocessor during refactoring | ||
| dc.conicet.organizacion | Universidad Nacional de la Plata. Facultad de Informática. Laboratorio de Investigación y Formación en Informática Avanzada | |
| dc.conicet.organizacion | Consejo Nacional de Investigaciones Científicas y Técnicas | |
| dc.conicet.organizacion | University Of Illinois At Urbana | |
| dc.conicet.paisOrganizacion | Argentina | |
| dc.conicet.paisOrganizacion | Argentina | |
| dc.conicet.paisOrganizacion | Estados Unidos | |
| dc.conicet.produccionid | 2782893 | |
| dc.contributor.author | Garrido, Alejandra | |
| dc.contributor.author | Johnson, Ralph | |
| dc.date.accessioned | 2017-08-31T21:17:07Z | |
| dc.date.available | 2017-08-31T21:17:07Z | |
| dc.date.issued | 2013-06 | |
| dc.date.updated | 2017-08-30T13:33:53Z | |
| 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. | es |
| 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.format | application/pdf | es |
| 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 | es |
| dc.identifier.institucional | CONICET | |
| dc.identifier.issn | 2047-7481 | es |
| dc.identifier.repo | CONICET Digital | |
| dc.identifier.uri | http://hdl.handle.net/11336/23403 | |
| dc.journal.ciudad | Hoboken | es |
| dc.journal.number | 12 | es |
| dc.journal.pagination | 1285-1304 | es |
| dc.journal.pais | Estados Unidos | es |
| dc.journal.title | Journal of Software: Evolution and Process | es |
| dc.journal.volume | 25 | es |
| dc.language.iso | eng | es |
| dc.publisher | Wiley | es |
| 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 | |
| dc.rights | info:eu-repo/semantics/openAccess | * |
| dc.rights.uri | https://creativecommons.org/licenses/by-nc-sa/2.5/ar/ | * |
| dc.subject | Refactoring | es |
| dc.subject | Preprocessor Directives | es |
| dc.subject | Code Analysis | es |
| dc.subject | Software Maintenance | es |
| dc.subject.classification | Otras Ciencias de la Computación e Información | es |
| dc.subject.classification | Ciencias de la Computación e Información | es |
| dc.subject.classification | CIENCIAS NATURALES Y EXACTAS | es |
| dc.title | Embracing the C preprocessor during refactoring | es |
| dc.type | info:eu-repo/semantics/article | |
| dc.type | info:ar-repo/semantics/artículo | |
| dc.type | info:eu-repo/semantics/publishedVersion | |
Archivos
Bloque original
Cargando...
- Nombre:
- CONICET_Digital_Nro.e56c0d47-77b2-4960-a71f-24ca730a62b5_A.pdf
- Tamaño:
- 4 MB
- Formato:
- Adobe Portable Document Format