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 :
بازگشت