Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Waterloo Exploring Structural Change and Architectural Evolution Qiang Tu and Michael Godfrey Software Architecture Group (SWAG) University.

Similar presentations


Presentation on theme: "University of Waterloo Exploring Structural Change and Architectural Evolution Qiang Tu and Michael Godfrey Software Architecture Group (SWAG) University."— Presentation transcript:

1 University of Waterloo Exploring Structural Change and Architectural Evolution Qiang Tu and Michael Godfrey Software Architecture Group (SWAG) University of Waterloo

2 CSER -- Montreal, May 20012 Motivation Change is inevitable –Usually cheaper to adapt what you have Some change is “additive” … –e.g., new features to existing infrastructure or new infrastructure … but a lot of change is “invasive”. –Bloat/drift causes redesign, refactoring, re- engineering

3 CSER -- Montreal, May 20013 Motivation Maintainers need to comprehend how systems have evolved, and Researchers need to perform case studies on evolving systems, BUT  Existing techniques/tools do not adapt well to structural change, assume architecture remains stable.

4 CSER -- Montreal, May 20014 Requirements for supporting environment 1.Flexible architecture, functionality. 2.Support finely- and coarsely-grained analysis, plus infrastructure for moving between levels. 3.Navigation and visualization. 4.Scale up to handle multiple versions of MLOC systems. 5.Support for well-known metrics, plus allow new ones to be added.

5 CSER -- Montreal, May 20015 Requirements for supporting environment 5.Explicitly address architectural evolution. How to model architectural relations? How does structure change over time? How to track and reason about changes? Patterns of architectural change? 6.Compare architectural snapshots. Pairs, multiple versions 7.Support identification and detection of change patterns.

6 CSER -- Montreal, May 20016 Beagle: A vehicle for exploring evolution Populate database (DB/2) with “facts” from various extractors –cfx (static analysis) –Understand for C++ (metrics) PBS visualization engine Java-based infrastructure; JDBC; grok scripts

7 CSER -- Montreal, May 20017 Entity schemas

8 CSER -- Montreal, May 20018 Beagle architecture

9 CSER -- Montreal, May 20019 Case study: GCC and EGCS Have factbases for 29 releases of GCC/EGCS over ten years.

10 CSER -- Montreal, May 200110 Q1: What happened during the EGCS development?

11 CSER -- Montreal, May 200111

12 CSER -- Montreal, May 200112 Q2: How can I discover previous refactorings and redesigns?

13 CSER -- Montreal, May 200113 Structural change and origin analysis Naïve analysis  lots of “added/deleted” pairs when entities are merely moved around. –Most tools/methodologies for evaluating long-term evolution are sensitive to this. Solution: use clone-detection-like techniques [“Bertillonage”] –Need only consider “added/deleted” entities. –Complex computations (metrics) already done at check-in time. –Can work at different architectural levels: function, file, subsystem

14 CSER -- Montreal, May 200114 Origin analysis: Two techniques 1.Metrics-based analysis –For each “added” entity: Calculate combined Euclidean distance from each “deleted” entity for five metrics [Kostas]. Select top five matches; compare entity names. 2.Relationship analysis (e.g., caller/callee) –(Caller analysis) For each “new” entity e : Find R e, set of all entities that call e that are present in both versions. For each f  R e, calculate Q f, set of all “deleted” entities that f calls in old version. Look at intersection of the Q f s; these are good candidates for e ’s old name.

15 CSER -- Montreal, May 200115 Caller/callee analysis

16 CSER -- Montreal, May 200116 Q3: How much does ECGS differ from GCC? Integrate newly discovered knowledge about refactorings and redesigns. –Present unified understanding in architectural views. –Permit analysis to “leap over” structural discontinuities.

17 CSER -- Montreal, May 200117

18 CSER -- Montreal, May 200118 Beagle: Future work Most of what you have seen works already! Future work: –Theory of architectural change. –More experimentation and case studies. –Integration around cppx using GXL.

19 CSER -- Montreal, May 200119

20 CSER -- Montreal, May 200120

21 CSER -- Montreal, May 200121

22 CSER -- Montreal, May 200122

23 CSER -- Montreal, May 200123

24 CSER -- Montreal, May 200124

25 CSER -- Montreal, May 200125

26 CSER -- Montreal, May 200126

27 CSER -- Montreal, May 200127


Download ppt "University of Waterloo Exploring Structural Change and Architectural Evolution Qiang Tu and Michael Godfrey Software Architecture Group (SWAG) University."

Similar presentations


Ads by Google