Extraction of state machines of legacy C code with Cpp2XMI

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademic

    444 Downloads (Pure)


    Analysis of legacy code is often focussed on extracting either metrics or relations, e.g. call relations or structure relations. For object-oriented programs, e.g. Java or C++ code, such relations are commonly represented as UML diagrams: e.g., such tools as Columbus [1] and Cpp2XMI [2] are capable of extracting from the C++ code UML class, and UML class, sequence and activity diagrams, respectively. New challenges in UML diagram extraction arise when a) additional UML diagrams and b) non-object-oriented programs are considered. In this paper we present an ongoing work on extracting state machines from the legacy C code, motivated by the popularity of state machine models in embedded software [3]. To validate the approach we consider an approximately ten-years old embedded system provided by the industrial partner. The system lacks up-to-date documentation and is reportedly hard to maintain.
    Original languageEnglish
    Title of host publication7th Belgian-Netherlands Software Evolution Workshop (Benevol 2008, Eindhoven, The Netherlands, December 11-12, 2008, Informal pre-proceedings)
    EditorsA. Serebrenik
    Place of PublicationEindhoven
    PublisherTechnische Universiteit Eindhoven
    Publication statusPublished - 2008

    Publication series

    NameComputer Science Reports
    ISSN (Print)0926-4515


    Dive into the research topics of 'Extraction of state machines of legacy C code with Cpp2XMI'. Together they form a unique fingerprint.

    Cite this