Bridging the Gap Between Legacy Procedural Code and the Automated Extraction of Design

Automated design extraction from object-oriented source code has been demonstrated in the System for Pattern Query and Recognition, a static analysis tool and accompanying Elemental Design Pattern definitions that can identify instances of known design patterns in a flexible manner. SPQR concentrates on the concepts embodied in code instead of the constructs that form the code. This paper demonstrates an extension of this concept-based approach to embedded procedural code. Various common idioms in the C language are mapped to object semantics. The resulting model is then analyzed by SPQR. Presented are the results of applying a tool implementing this new concept to a production firmware codebase, with results and new predictive metrics of maintainability of code.

By: Jason McC. Smith

Published in: RC24669 in 2008

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rc24669.pdf

Questions about this service can be mailed to reports@us.ibm.com .