Table of Contents
CSE584: Software EngineeringLecture 7: Evolution (B)
Outline
Chikofsky & Cross taxonomy
Taxonomy
Restructuring
Griswold’s 1st approach
Simple example
Limited power
Star diagrams [Griswold et al.]
A star diagram
Interpreting a star diagram
After some changes
Evaluation
My view
A view of maintenance
A task: isolating a subsystem
Mosaic
Mosaic source code
Some initial analysis
How to proceed?
More...
Augment with dynamic calls
Alternative action
Are we done?
One approach
Other approaches
Visualization
Visualization...
Visualization...
Visualization...
Reverse engineering
Reverse engineering...
Clustering
Rigi’s approach
Math. concept analysis
An aerodynamics program
Other concept lattice uses
Dominator clustering
Aero program
Other clustering
Reverse engineering recap
More recap
Summarization
Summarization...
Summarization...
Summarization...
Case study: A task on Excel
The process used
An initial Reflexion Model
An iterative process
A refined Reflexion Model
Results
Open questions
Which ideas are important?
Miscellaneous
SeeSoft: Eick et al.
Code age:newest code in red, oldest in blue
Execution profile:red shows hot spots, non-executed lines are gray/black
SeeSoft
Clustering for Automatic High-Level Design Extractino
Module Dependence Graph of a graphical editor
Automatically clustered module dependence graph
Omnipresent Modules
Module diagram for dot
Automatic clustering for dot
With omnipresent module support
All allows user-defined modules
Algorithm Animation:heapsort from Compaq SRC(Brown and Najork)
Many domain specific animations: http://www.crs4.it/Animate/
Summary
Why is there a lack of tools to support evolution?
|