• DocumentCode
    2035224
  • Title

    Reverse engineering of the UML class diagram from c++ code in presence of weakly typed containers

  • Author

    Tonella, Paolo ; Potrich, Alessandra

  • Author_Institution
    Centro per la Ricerca Scientifica e Tecnologica, ITC-irst, Trento, Italy
  • fYear
    2001
  • fDate
    2001
  • Firstpage
    376
  • Lastpage
    385
  • Abstract
    UML diagrams, and in particular the most frequently used one, the class diagram, represent a valuable source of information even after the delivery of the system, when it enters the maintenance phase. Several tools provide a reverse engineering engine to recover it from the code. In this paper an algorithm is proposed for the improvement of the accuracy of the UML class diagram extracted from the code. Specifically, important information about inter-class relations may be missed in a reverse engineered class diagram, when weakly typed containers, i.e., containers collecting objects whose type is the top of the inheritance hierarchy, are employed. In fact, the class of the contained objects is not directly known, and therefore no relation with it is apparent from the container declaration. The proposed approach was applied to several software components developed at CERN. Experimental results highlight that a substantial improvement is achieved when the container type information is refined with the inferred data. The number of relations otherwise missed is relevant and the connectivity of the associated class diagrams is radically different when containers are considered
  • Keywords
    C++ language; reverse engineering; software maintenance; specification languages; C++ code; UML class diagram; inter-class relations; reverse engineering; weakly typed containers; Collaborative work; Computer languages; Containers; Data mining; Engines; Information resources; Java; Libraries; Reverse engineering; Unified modeling language;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance, 2001. Proceedings. IEEE International Conference on
  • Conference_Location
    Florence
  • ISSN
    1063-6773
  • Print_ISBN
    0-7695-1189-9
  • Type

    conf

  • DOI
    10.1109/ICSM.2001.972750
  • Filename
    972750