Program refactoring in the presence of preprocessor directives [recurso electrónico]

Detalles Bibliográficos
Autor Principal: Garrido, Alejandra
Formato: Tesis
Lengua:inglés
Datos de publicación: 2005
Series:^p Datos electrónicos (1 archivo : 823 KB)
Temas:
Acceso en línea:Consultar en el Cátalogo
Resumen: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 con¯guration 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 speci¯ed, and the results of implementing this approach in a refactoring tool for C, CRefactory, are presented.
Notas:Tesis (Doctor of Philosophy in Computer Science) - University of Illinois at Urbana-Champaign. Technical Report No. UIUCDCS-R-2005-2617. --

MARC

LEADER 00000nam a2200000 a 4500
003 AR-LpUFIB
005 20250311170247.0
008 230201s2005 xxu rm 000 0 eng d
024 8 |a DIF-M2654  |b 2746  |z DIF002560 
040 |a AR-LpUFIB  |b spa  |c AR-LpUFIB 
100 1 |a Garrido, Alejandra 
245 1 0 |a Program refactoring in the presence of preprocessor directives [recurso electrónico] 
260 |c 2005 
490 0 |a ^p Datos electrónicos (1 archivo : 823 KB) 
500 |a Tesis (Doctor of Philosophy in Computer Science) - University of Illinois at Urbana-Champaign. Technical Report No. UIUCDCS-R-2005-2617. -- 
505 0 |a  Introduction -- Related works- The C Preprocessor -- Pseudo-Preprocessing in CRefactory -- Program Representations that Integrate C and Cpp -- Applying Refactoring -- Quantitative Evaluation of CRefactory -- Conclusions -- Appendix A Maude Specification of Cpp -- Appendix B Maude Specification of P-Cpp -- Appendix C C Grammar with Cpp extensions -- Appendix D Source Code of Examples -- References -- Author's Biography. -- Formato de archivo: PDF. -- Disponible también en línea (Cons. 17/03/2009) 
520 |a 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 con¯guration 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 speci¯ed, and the results of implementing this approach in a refactoring tool for C, CRefactory, are presented. 
650 4 |a DIAGNÓSTICO MÉDICO 
650 4 |a PREPROCESADORES 
650 4 |a MULTIPROCESADORES 
942 |c TE 
952 |0 0  |1 0  |4 0  |7 0  |9 77002  |a DIF  |b DIF  |d 2009-03-17  |i DIF-L002  |l 0  |p DIF-L002  |r 2025-03-11 17:02:47  |w 2025-03-11  |y TE 
999 |c 52439  |d 52439