DocumentCode
2674465
Title
Modernizing legacy software using a System Grokking technology
Author
Dajsuren, Yanjindulam ; Goldstein, Maayan ; Moshkovich, Dany
Author_Institution
Virage Logic, Netherlands
fYear
2010
fDate
12-18 Sept. 2010
Firstpage
1
Lastpage
7
Abstract
Reverse engineering is an essential part of the modernization process that enables the evolution of existing software assets. The extraction of state machines out of existing code is an important aspect of the reverse engineering process. However, none of the reverse engineering tools fully support an automatic extraction of state machines. In our work we investigated the process of manual extraction of hierarchical state machines from the source code of an embedded C application and identified the steps of the process that can be automated. We learned that manual creation of state machines out of code is a very complicated task mostly because of the large amount of potential states that can be created by a relatively small amount of global variables. To reduce the complexity of this task we developed a methodology to decompose the code into smaller parts of functionally related elements. We showed how this technique and other system analysis mechanisms provided by the System Grokking technology can automate steps of the state machine extraction process.
Keywords
finite state machines; reverse engineering; software maintenance; systems analysis; embedded C application; hierarchical state machine; legacy software; reverse engineering; system analysis mechanisms; system grokking technology; Analytical models; Complexity theory; Manuals; Semantics; Software systems; Unified modeling language;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance (ICSM), 2010 IEEE International Conference on
Conference_Location
Timisoara
ISSN
1063-6773
Print_ISBN
978-1-4244-8630-4
Electronic_ISBN
1063-6773
Type
conf
DOI
10.1109/ICSM.2010.5609711
Filename
5609711
Link To Document