Program refactoring in the presence of preprocessor directives

The C preprocessor is heavily used in C programs because it provides useful and even necessary additions to the C language. Since preprocessor directives are not part of C, they are removed before parsing and program analysis take place, during the phase called preprocessing. In the context of refac...

Descripción completa

Detalles Bibliográficos
Autor principal: Garrido, Alejandra
Otros Autores: Johnson, Ralph
Formato: Tesis Tesis de doctorado
Lenguaje:Inglés
Publicado: 2005
Materias:
Acceso en línea:http://sedici.unlp.edu.ar/handle/10915/4167
https://doi.org/10.35537/10915/4167
https://www.researchgate.net/publication/32964532_Program_Refactoring_in_the_Presence_of_Preprocessor_Directives
Aporte de:
id I19-R120-10915-4167
record_format dspace
institution Universidad Nacional de La Plata
institution_str I-19
repository_str R-120
collection SEDICI (UNLP)
language Inglés
topic Ciencias Informáticas
Informática
Procesadores
Multiprocesamiento
spellingShingle Ciencias Informáticas
Informática
Procesadores
Multiprocesamiento
Garrido, Alejandra
Program refactoring in the presence of preprocessor directives
topic_facet Ciencias Informáticas
Informática
Procesadores
Multiprocesamiento
description The C preprocessor is heavily used in C programs because it provides useful and even necessary additions to the C language. Since preprocessor directives are not part of C, they are removed before parsing and program analysis take place, during the phase called preprocessing. In the context of refactoring, it is inappropriate to remove preprocessor directives: if changes are applied on the preprocessed version of a program, it may not be possible to recover the un-preprocessed version. This means that after refactoring, all the source code would be contained in a single unit, targeted to a single configuration and without preprocessor macros. This thesis describes a novel approach to preserve preprocessor directives during parsing and program analysis, and integrate them in the program representations. Furthermore, it illustrates how the program representations are used during refactor ing and how transformations preserve preprocessor directives. Additionally, the semantics of the C preprocessor are formally specified, and the results of implementing this approach in a refactoring tool for C, CRefactory, are presented.
author2 Johnson, Ralph
author_facet Johnson, Ralph
Garrido, Alejandra
format Tesis
Tesis de doctorado
author Garrido, Alejandra
author_sort Garrido, Alejandra
title Program refactoring in the presence of preprocessor directives
title_short Program refactoring in the presence of preprocessor directives
title_full Program refactoring in the presence of preprocessor directives
title_fullStr Program refactoring in the presence of preprocessor directives
title_full_unstemmed Program refactoring in the presence of preprocessor directives
title_sort program refactoring in the presence of preprocessor directives
publishDate 2005
url http://sedici.unlp.edu.ar/handle/10915/4167
https://doi.org/10.35537/10915/4167
https://www.researchgate.net/publication/32964532_Program_Refactoring_in_the_Presence_of_Preprocessor_Directives
work_keys_str_mv AT garridoalejandra programrefactoringinthepresenceofpreprocessordirectives
bdutipo_str Repositorios
_version_ 1764820472783962113