By Topic

Modernizing legacy software using a System Grokking technology

Sign In

Cookies must be enabled to login.After enabling cookies , please use refresh or reload or ctrl+f5 on the browser for the login options.

Formats Non-Member Member
$31 $13
Learn how you can qualify for the best price for this item!
Become an IEEE Member or Subscribe to
IEEE Xplore for exclusive pricing!
close button

puzzle piece

IEEE membership options for an individual and IEEE Xplore subscriptions for an organization offer the most affordable access to essential journal articles, conference papers, standards, eBooks, and eLearning courses.

Learn more about:

IEEE membership

IEEE Xplore subscriptions

3 Author(s)
Dajsuren, Y. ; Virage Logic, Netherlands ; Goldstein, M. ; Moshkovich, D.

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.

Published in:

Software Maintenance (ICSM), 2010 IEEE International Conference on

Date of Conference:

12-18 Sept. 2010