DocumentCode
3032041
Title
Comprehension by derivation [software system comprehension]
Author
Smith, Douglas R.
Author_Institution
Kestrel Inst., Palo Alto, CA, USA
fYear
2005
fDate
15-16 May 2005
Firstpage
3
Lastpage
9
Abstract
We argue that to comprehend a software system is to have a handle on its requirements, specifications, and design decisions. These kinds of information support the reuse of system code for a variety of purposes and support its ongoing extension, migration, and evolution. Our work at Kestrel Institute has focused on ways to mechanize the development and evolution of software from formal specifications. By-products of such a process include formal records of design decisions and proofs, as well as executable code. In this approach, reuse can take place at non-code levels, including domain theories, specifications, and design knowledge. Evolution takes place by modifying requirements, specifications, or design decisions, and then reusing previous design structures. When restricted to particular application domains, the generation of correct-by-construction code from specifications can be completely automatic.
Keywords
automatic programming; formal specification; reverse engineering; software prototyping; software reusability; correct-by-construction code; design decisions; design structure reusing; formal specifications; requirement modification; software evolution; software system comprehension; Algorithm design and analysis; Application software; Computer architecture; Data structures; Design optimization; Formal specifications; Protocols; Scheduling algorithm; Software algorithms; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Program Comprehension, 2005. IWPC 2005. Proceedings. 13th International Workshop on
ISSN
1092-8138
Print_ISBN
0-7695-2254-8
Type
conf
DOI
10.1109/WPC.2005.13
Filename
1421010
Link To Document