• Title of article

    High-fidelity C/C++ code transformation

  • Author/Authors

    Daniel Waddington، نويسنده , , Bin Yao ، نويسنده ,

  • Issue Information
    دوهفته نامه با شماره پیاپی سال 2007
  • Pages
    15
  • From page
    64
  • To page
    78
  • Abstract
    As software systems become increasingly massive, the advantages of automated transformation tools are clearly evident. These tools allow the machine to both reason about and manipulate high-level source code. They enable off-loading of mundane and laborious programming tasks from human developer to machine, thereby reducing cost and development time frames. Although there has been much work in software transformation, there still exist many hurdles in realizing this technology in a commercial domain. From our own experience, there are two significant problems that must be addressed before transformation technology can be usefully applied in a commercial setting. These are: (1) Avoiding disruption of the style (i.e., layout and commenting) of source code and the introduction of any undesired modifications that can occur as a side effect of the transformation process. (2) Correct automated handling of C preprocessing and the presentation of a semantically correct view of the program during transformation. Many existing automated transformation tools require source to be manually modified so that preprocessing constructs can be parsed. The real semantic of the program remains obscured resulting in the need for complicated analysis during transformation. Many systems also resort to pretty printing to generate transformed programs, which inherently disrupts coding style. In this paper we describe our own C/C++ transformation system, Proteus, that addresses both these issues. It has been tested on millions of lines of commercial C/C++ code and has been shown to meet the stringent criteria laid out by Lucent’s own software developers.
  • Keywords
    Source transformation , High-fidelity , Preprocessing
  • Journal title
    Science of Computer Programming
  • Serial Year
    2007
  • Journal title
    Science of Computer Programming
  • Record number

    1079981