Extraction of state machines of legacy C code with Cpp2XMI

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

227 Downloads (Pure)

Abstract

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
Pages28-30
Publication statusPublished - 2008

Publication series

NameComputer Science Reports
Volume08-33
ISSN (Print)0926-4515

Fingerprint

Embedded software
Embedded systems

Cite this

Brand, van den, M. G. J., Serebrenik, A., & Zeeland, van, D. (2008). Extraction of state machines of legacy C code with Cpp2XMI. In A. Serebrenik (Ed.), 7th Belgian-Netherlands Software Evolution Workshop (Benevol 2008, Eindhoven, The Netherlands, December 11-12, 2008, Informal pre-proceedings) (pp. 28-30). (Computer Science Reports; Vol. 08-33). Eindhoven: Technische Universiteit Eindhoven.
Brand, van den, M.G.J. ; Serebrenik, A. ; Zeeland, van, D. / Extraction of state machines of legacy C code with Cpp2XMI. 7th Belgian-Netherlands Software Evolution Workshop (Benevol 2008, Eindhoven, The Netherlands, December 11-12, 2008, Informal pre-proceedings). editor / A. Serebrenik. Eindhoven : Technische Universiteit Eindhoven, 2008. pp. 28-30 (Computer Science Reports).
@inproceedings{c7784af8488b475fb068b11552502435,
title = "Extraction of state machines of legacy C code with Cpp2XMI",
abstract = "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.",
author = "{Brand, van den}, M.G.J. and A. Serebrenik and {Zeeland, van}, D.",
year = "2008",
language = "English",
series = "Computer Science Reports",
publisher = "Technische Universiteit Eindhoven",
pages = "28--30",
editor = "A. Serebrenik",
booktitle = "7th Belgian-Netherlands Software Evolution Workshop (Benevol 2008, Eindhoven, The Netherlands, December 11-12, 2008, Informal pre-proceedings)",

}

Brand, van den, MGJ, Serebrenik, A & Zeeland, van, D 2008, Extraction of state machines of legacy C code with Cpp2XMI. in A Serebrenik (ed.), 7th Belgian-Netherlands Software Evolution Workshop (Benevol 2008, Eindhoven, The Netherlands, December 11-12, 2008, Informal pre-proceedings). Computer Science Reports, vol. 08-33, Technische Universiteit Eindhoven, Eindhoven, pp. 28-30.

Extraction of state machines of legacy C code with Cpp2XMI. / Brand, van den, M.G.J.; Serebrenik, A.; Zeeland, van, D.

7th Belgian-Netherlands Software Evolution Workshop (Benevol 2008, Eindhoven, The Netherlands, December 11-12, 2008, Informal pre-proceedings). ed. / A. Serebrenik. Eindhoven : Technische Universiteit Eindhoven, 2008. p. 28-30 (Computer Science Reports; Vol. 08-33).

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

TY - GEN

T1 - Extraction of state machines of legacy C code with Cpp2XMI

AU - Brand, van den, M.G.J.

AU - Serebrenik, A.

AU - Zeeland, van, D.

PY - 2008

Y1 - 2008

N2 - 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.

AB - 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.

M3 - Conference contribution

T3 - Computer Science Reports

SP - 28

EP - 30

BT - 7th Belgian-Netherlands Software Evolution Workshop (Benevol 2008, Eindhoven, The Netherlands, December 11-12, 2008, Informal pre-proceedings)

A2 - Serebrenik, A.

PB - Technische Universiteit Eindhoven

CY - Eindhoven

ER -

Brand, van den MGJ, Serebrenik A, Zeeland, van D. Extraction of state machines of legacy C code with Cpp2XMI. In Serebrenik A, editor, 7th Belgian-Netherlands Software Evolution Workshop (Benevol 2008, Eindhoven, The Netherlands, December 11-12, 2008, Informal pre-proceedings). Eindhoven: Technische Universiteit Eindhoven. 2008. p. 28-30. (Computer Science Reports).