• DocumentCode
    1664116
  • Title

    Folding: an approach to enable program understanding of preprocessed languages

  • Author

    Kullbach, Bernt ; Riediger, Volker

  • Author_Institution
    Inst. for Software Technol., Univ. of Koblenz-Landau, Koblenz, Germany
  • fYear
    2001
  • fDate
    6/23/1905 12:00:00 AM
  • Firstpage
    3
  • Lastpage
    12
  • Abstract
    Since the early days of programming, preprocessors have been used to increase the expressiveness of programming languages. As a prominent example, the C Preprocessor cpp even allows low level configuration management through conditional compilation. But preprocessors significantly complicate the task of program understanding because "what the user sees is not what the compiler gets". There is a need for bridging the gap between preprocessor input and preprocessor output. The authors propose the use of folding for explicitly representing preprocessor replacements within a program understanding environment. The approach presented has been implemented as part of the GUPRO program understanding workbench. The user is enabled to individually choose the level of detail from the programmer\´s view to the compiler\´s view on the source code
  • Keywords
    C language; configuration management; program processors; reverse engineering; C Preprocessor; Folding; GUPRO program understanding workbench; compiler view; conditional compilation; cpp; low level configuration management; preprocessed languages; preprocessor input; preprocessor output; preprocessor replacements; program understanding; program understanding environment; programming language expressiveness; source code; Bidirectional control; Computer languages; Data preprocessing; Databases; Lattices; Program processors; Reverse engineering; Visualization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering, 2001. Proceedings. Eighth Working Conference on
  • Conference_Location
    Stuttgart
  • ISSN
    1095-1350
  • Print_ISBN
    0-7695-1303-4
  • Type

    conf

  • DOI
    10.1109/WCRE.2001.957805
  • Filename
    957805