• DocumentCode
    2708754
  • Title

    Reverse engineering of object oriented code

  • Author

    Tonella, Paolo

  • Author_Institution
    Centro per la Ricerca Scientifica e Tecnologica, ITC-IRST, Trento, Italy
  • fYear
    2005
  • fDate
    15-21 May 2005
  • Firstpage
    724
  • Lastpage
    725
  • Abstract
    During software evolution, programmers devote most of their effort to the understanding of the structure and behavior of the system. For object oriented code, this might be particularly hard, when multiple, scattered objects contribute to the same function. Design views offer an invaluable help, but they are often not aligned with the code, when they are not missing at all. This tutorial describes some of the most advanced techniques that can be employed to reverse engineer several design views from the source code. The recovered diagrams, represented in UML (Unified Modeling Language), include class, object, interaction (collaboration and sequence), state and package diagrams. A unifying static code analysis framework used by most of the involved algorithms is presented at the beginning of the tutorial. A single running example is referred all over the presentation. Trade-offs (e.g., static vs. dynamic analysis), limitations and expected benefits are also discussed.
  • Keywords
    object-oriented programming; program diagnostics; reverse engineering; diagram recovery; object oriented code; object oriented programming; reverse engineering; static code analysis; Algorithm design and analysis; Collaboration; Object oriented programming; Packaging; Programming profession; Reverse engineering; Scattering; Software engineering; Software maintenance; Unified modeling language;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2005. ICSE 2005. Proceedings. 27th International Conference on
  • Print_ISBN
    1-59593-963-2
  • Type

    conf

  • DOI
    10.1109/ICSE.2005.1553682
  • Filename
    1553682