• 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