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
Link To Document