• DocumentCode
    1369889
  • Title

    Reengineering with reflexion models: a case study

  • Author

    Murphy, Gail C. ; Notkin, David

  • Author_Institution
    British Columbia Univ., Vancouver, BC, Canada
  • Volume
    30
  • Issue
    8
  • fYear
    1997
  • fDate
    8/1/1997 12:00:00 AM
  • Firstpage
    29
  • Lastpage
    36
  • Abstract
    Reengineering large and complex software systems is often very costly. The article presents a reverse engineering technique and relates how a Microsoft engineer used it to aid an experimental reengineering of Excel-a product that comprises about 1.2 million lines of C code. The reflexion technique is designed to be lightweight and iterative. To use it, the user first defines a high-level structural model, then extracts a map of the source code and uses a set of computation tools to compare the two models. The approach lets software engineers effectively validate their high-level reasoning with information from the source code. The engineer in this case study-a developer with 10-plus years at Microsoft-specified and computed an initial reflexion model of Excel in a day and then spent four weeks iteratively refining it. He estimated that gaining the same degree of familiarity with the Excel source code might have taken up to two years with other available approaches. On the basis of this experience, the authors believe that the reflexion technique has practical applications
  • Keywords
    software engineering; spreadsheet programs; systems analysis; systems re-engineering; C code; Excel reengineering; Microsoft engineer; complex software systems; computation tools; high-level reasoning; high-level structural model; large software systems; reflexion models; reverse engineering technique; software engineers; systems reengineering; Costs; Data mining; Iterative methods; Knowledge engineering; Reverse engineering; Robustness; Software engineering; Software performance; Software systems;
  • fLanguage
    English
  • Journal_Title
    Computer
  • Publisher
    ieee
  • ISSN
    0018-9162
  • Type

    jour

  • DOI
    10.1109/2.607045
  • Filename
    607045