• DocumentCode
    2063437
  • Title

    How history justifies system architecture (or not)

  • Author

    Zimmermann, Thomas ; Diehl, Stephan ; Zeller, Andreas

  • Author_Institution
    Dept. of Comput. Sci., Saarland Univ., Germany
  • fYear
    2003
  • fDate
    1-2 Sept. 2003
  • Firstpage
    73
  • Lastpage
    83
  • Abstract
    The revision history of a software system conveys important information about how and why the system evolved in time. The revision history can also tell us which parts of the system are coupled by common changes: "whenever the database schema was changed, the sqlquery() method was altered, too." This "evolutionary" coupling can be compared with the coupling as imposed by the system architecture; differences indicate anomalies which may be subject to restructuring. Our ROSE prototype analyzes fine-grained coupling between software entities as indicated by common changes. It turns out that common changes are a good indicator for modularity, that evolutionary coupling should be determined between syntactical entities (rather than files or modules), and that common changes can indicate coupling between software entities and nonprogram artifacts that is unavailable to the analysis of a single version.
  • Keywords
    SQL; program diagnostics; query processing; software architecture; software prototyping; ROSE prototype; database schema; evolutionary coupling; fine-grained coupling; nonprogram artifacts; revision history; software entities; software system; sqlquery() method; syntactical entities; system architecture; Computer architecture; Computer science; History; Program processors; Prototypes; Software design; Software prototyping; Software systems; Visual databases; Visualization;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Evolution, 2003. Proceedings. Sixth International Workshop on Principles of
  • Print_ISBN
    0-7695-1903-2
  • Type

    conf

  • DOI
    10.1109/IWPSE.2003.1231213
  • Filename
    1231213