CSE584: Software Engineering Lecture 4 (October 20, 1998)

10/20/98


Click here to start


Table of Contents

CSE584: Software Engineering Lecture 4 (October 20, 1998)

Outline

Software evolution

A legacy

Change

Why does it change?

Kinds of change

High cost, long time

Total life cycle cost

Open question

High-level answer

Observations

Laws of Program Evolution

Law of increasing complexity

Statistically regular growth

And two others

How do you go about it?

Approaches to reducing cost

Approaches to reducing cost

Did you try to understand?

A view of maintenance

Sample (simple) task

Recap: example

Source models

Example source models

Combining source models

Extracting source models

Program databases

Three classic examples

Information characteristics

Ideal source models

Conservative source models

Optimistic source models

Approximate source models

Static vs. dynamic

Must iterate

Another maintenance task

What source model?

Start by searching

What files to search?

False positives

More false negatives

It’s not just syntax

Tools vs. task

Finding vs. updating

Downstream consequences

An alternative approach

But

Recap

Build up your idioms

Source model accuracy

Call graph extraction tools (C)

... tools (C)

Apply a syntactic CGE tool

How precise?

A CGE experiment

Experimental results

Pairwise comparison (example)

Quantitative Results

Qualitative results

Call graph characterization

Next week

Author: CSE

Email: notkin@cs.washington.edu

Other information:
CSE 584, Lecture 4

Download presentation source