Embracing the C preprocessor during refactoring

Detalles Bibliográficos
Autor Principal: Garrido, Alejandra
Otros autores o Colaboradores: Johnson, Ralph E.
Formato: Capítulo de libro
Lengua:inglés
Temas:
Acceso en línea:http://dx.doi.org/10.1002/smr.1603
Consultar en el Cátalogo
Resumen: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 pars- ing, 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.
Notas:Formato de archivo: PDF. -- Este documento es producción intelectual de la Facultad de Informática - UNLP (Colección BIPA/Biblioteca)
Descripción Física:1 archivo (3,2 MB)
DOI:10.1002/smr.1603

MARC

LEADER 00000naa a2200000 a 4500
003 AR-LpUFIB
005 20250423183150.0
008 230201s2013 xx o 000 0 eng d
024 8 |a DIF-M6567  |b 6706  |z DIF005995 
040 |a AR-LpUFIB  |b spa  |c AR-LpUFIB 
100 1 |a Garrido, Alejandra  |9 44868 
245 1 0 |a Embracing the C preprocessor during refactoring 
300 |a 1 archivo (3,2 MB) 
500 |a Formato de archivo: PDF. -- Este documento es producción intelectual de la Facultad de Informática - UNLP (Colección BIPA/Biblioteca) 
520 |a 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 pars- ing, 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. 
534 |a Journal of Software: Evolution and Process, 25(12), pp. 1285-1304 
650 4 |a DIAGNÓSTICO MÉDICO  |9 45479 
650 4 |a PREPROCESADORES  |9 46360 
700 1 |a Johnson, Ralph E.  |9 45545 
856 4 0 |u http://dx.doi.org/10.1002/smr.1603 
942 |c CP 
952 |0 0  |1 0  |4 0  |6 A0326  |7 3  |8 BD  |9 80951  |a DIF  |b DIF  |d 2025-03-11  |l 0  |o A0326  |r 2025-03-11 17:04:19  |u http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=592  |w 2025-03-11  |y CP 
999 |c 55777  |d 55777