• DocumentCode
    2122465
  • Title

    Reverse engineering of the interaction diagrams from C++ code

  • Author

    Tonella, Paolo ; Potrich, Alessandra

  • Author_Institution
    Centro per la Ricerca Scientifica e Tecnologica, ITC-irst, Povo, Italy
  • fYear
    2003
  • fDate
    22-26 Sept. 2003
  • Firstpage
    159
  • Lastpage
    168
  • Abstract
    In object oriented programming, the functionalities of a system result from the interactions (message exchanges) among the objects allocated by the system. While designing object interactions is far more complex than designing the object structure in forward engineering, the problem of understanding object interactions during code evolution is even harder, because the related information is spread across the code. In this paper, a technique for the automatic extraction of UML interaction diagrams from C++ code is proposed. The algorithm is based on a static, conservative flow analysis that approximates the behavior of the system in any execution and for any possible input. Applicability of the approach to large software is achieved by means of two mechanisms: partial analysis and focusing. Usage of our method on a real world, large C++ system confirmed its viability.
  • Keywords
    C++ language; message passing; object-oriented programming; program diagnostics; reverse engineering; specification languages; C++ code; UML interaction diagrams; automatic extraction; code evolution; conservative flow analysis; focusing mechanism; message exchange; object interactions; object oriented programming; partial analysis; reverse engineering; static flow analysis; Algorithm design and analysis; Collaborative work; Data mining; Design engineering; Information analysis; Object oriented programming; Reverse engineering; Software maintenance; Systems engineering and theory; Unified modeling language;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 2003. ICSM 2003. Proceedings. International Conference on
  • ISSN
    1063-6773
  • Print_ISBN
    0-7695-1905-9
  • Type

    conf

  • DOI
    10.1109/ICSM.2003.1235418
  • Filename
    1235418