DocumentCode
2323316
Title
Recovery of software design, state-machines and specifications from source code
Author
Prywes, Noah ; Rehmet, Paul
Author_Institution
Computer Command & Control Co., Philadelphia, PA, USA
fYear
1996
fDate
21-25 Oct 1996
Firstpage
279
Lastpage
288
Abstract
While the end objective of the process described in this paper is recovery of software design, state-machines and specifications from source code, these capabilities depend on analysis and documentation of source code which are useful in themselves for software understanding. The paper therefore explains first the software analysis and construction of a software documentation database. It then follows with discussion of recovery of state machines and specifications. The focus in explaining the analysis of source code is in particular on the following. First, the recovery of design becomes significant when applied to large scale software. The source code may be in a large number of files which are analyzed sequentially. A database is constructed, where the code in each file is also used to update previously processed files. Second, the software understanding, as well as the state machines and specifications are based on discovery of a hierarchical software architecture that supports systematic software browsing and generation of state machines and specifications of respective components. The architecture discovery process must be human-guided through input of appropriate parameters that control the selection of software components based on including desired functions, critical operations and sizes. Finally, the state machines or specifications entities tend to be very voluminous. Depending on their intended use, their number can be reduced under user control
Keywords
finite state machines; reverse engineering; software engineering; system documentation; systems re-engineering; hierarchical software architecture; software design; source code; specifications; specifications entities; state-machines; Command and control systems; Computer architecture; Databases; Documentation; Large-scale systems; Software architecture; Software design; Software maintenance; Software tools; Tree graphs;
fLanguage
English
Publisher
ieee
Conference_Titel
Engineering of Complex Computer Systems, 1996. Proceedings., Second IEEE International Conference on
Conference_Location
Montreal, Que.
Print_ISBN
0-8186-7614-0
Type
conf
DOI
10.1109/ICECCS.1996.558574
Filename
558574
Link To Document