Extraction of state machines of legacy C code with Cpp2XMI

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

350 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

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

Cite this