Embracing the C preprocessor during refactoring (Record no. 55777)

MARC details
000 -CABECERA
campo de control de longitud fija 01764naa a2200229 a 4500
003 - IDENTIFICADOR DEL NÚMERO DE CONTROL
campo de control AR-LpUFIB
005 - FECHA Y HORA DE LA ÚLTIMA TRANSACCIÓN
campo de control 20250311170419.0
008 - DATOS DE LONGITUD FIJA--INFORMACIÓN GENERAL
campo de control de longitud fija 230201s2013 xx o 000 0 eng d
024 8# - Otro identificador estandar
Número estándar o código DIF-M6567
-- 6706
-- DIF005995
040 ## - FUENTE DE LA CATALOGACIÓN
Centro catalogador/agencia de origen AR-LpUFIB
Lengua de catalogación spa
Centro/agencia transcriptor AR-LpUFIB
100 1# - ENTRADA PRINCIPAL--NOMBRE DE PERSONA
Nombre de persona Garrido, Alejandra
245 10 - MENCIÓN DE TÍTULO
Título Embracing the C preprocessor during refactoring
300 ## - DESCRIPCIÓN FÍSICA
Extensión 1 archivo (3,2 MB)
500 ## - NOTA GENERAL
Nota general Formato de archivo: PDF. -- Este documento es producción intelectual de la Facultad de Informática - UNLP (Colección BIPA/Biblioteca)
520 ## - SUMARIO, ETC.
Sumario, etc. 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 ## - NOTA SOBRE LA VERSIÓN ORIGINAL
Encabezamiento principal del original Journal of Software: Evolution and Process, 25(12), pp. 1285-1304
650 #4 - PUNTO DE ACCESO ADICIONAL DE MATERIA--TÉRMINO DE MATERIA
Término de materia o nombre geográfico como elemento de entrada DIAGNÓSTICO MÉDICO
650 #4 - PUNTO DE ACCESO ADICIONAL DE MATERIA--TÉRMINO DE MATERIA
Término de materia o nombre geográfico como elemento de entrada PREPROCESADORES
700 1# - PUNTO DE ACCESO ADICIONAL--NOMBRE DE PERSONA
Nombre de persona Johnson, Ralph E.
856 40 - LOCALIZACIÓN Y ACCESO ELECTRÓNICOS
Identificador Uniforme del Recurso <a href="http://dx.doi.org/10.1002/smr.1603">http://dx.doi.org/10.1002/smr.1603</a>
942 ## - ELEMENTOS DE PUNTO DE ACCESO ADICIONAL (KOHA)
Tipo de ítem Koha Capítulo de libro
Holdings
Estado de retiro Estado de pérdida Estado dañado Disponibilidad Colección Biblioteca permanente Biblioteca actual Fecha de adquisición Total de préstamos Signatura topográfica completa Fecha visto por última vez Identificador Uniforme del Recurso Precio válido a partir de Tipo de ítem Koha
      Recurso en Línea Biblioteca digital Biblioteca de la Facultad de Informática Biblioteca de la Facultad de Informática 11/03/2025   A0326 11/03/2025 http://catalogo.info.unlp.edu.ar/meran/getDocument.pl?id=592 11/03/2025 Capítulo de libro