CSE584: Software Engineering Lecture 7: Evolution (B)

2/13/01


Click here to start


Table of Contents

CSE584: Software Engineering Lecture 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?

Author: David Notkin

Email: notkin@cs.washington.edu

Home Page: http://www.cs.washington.edu/education/courses/584

Download presentation source