• DocumentCode
    2360063
  • Title

    Qualifying reusable functions using symbolic execution

  • Author

    Cimitile, Aniello ; De Lucia, Andrea ; Munro, Malcolm

  • Author_Institution
    Dipartimento di Ingegneria dell´´Inf. ed Ingegneria Elettrica, Salerno Univ., Italy
  • fYear
    1995
  • fDate
    1995
  • Firstpage
    178
  • Lastpage
    187
  • Abstract
    We present an approach to reverse engineering source code modules to abstract their interface and functional specifications. A fine-grained program representation for C programs, the Combined C Graph (CGG), is used to perform dynamic analysis of a module by means of symbolic execution techniques. We focus on problems like pointer variables and expressions containing embedded side-effects and control flows. The role of the user interaction to understand the module behaviour and to deal with invariant assertions is also discussed. The functional specifications are produced in the form of first order logic formulas called preconditions and postconditions.
  • Keywords
    C language; algebraic specification; formal logic; formal specification; program control structures; reverse engineering; software reusability; C programs; Combined C Graph; control flows; dynamic analysis; embedded side-effects; fine-grained program; first order logic formula; functional specifications; pointer variables; postconditions; preconditions; program module behaviour; reusable functions; reverse engineering source code modules; symbolic execution; user interaction; Cost function; Logic; Nominations and elections; Performance analysis; Qualifications; Reverse engineering; Software engineering; Software maintenance; Software reusability; Software systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Reverse Engineering, 1995., Proceedings of 2nd Working Conference on
  • Conference_Location
    Toronto, Ont., Canada
  • Print_ISBN
    0-8186-711-43
  • Type

    conf

  • DOI
    10.1109/WCRE.1995.514706
  • Filename
    514706