Longitudinal Program Analysis

My goal today

You start

The structure of program analysis

Many variants

Broad uses

An aside

A key context: software evolves
(Belady and Lehman, Parnas, …)

My premise

 Incremental analysis:
an approach with this flavor

Modular analysis:
an approach with this flavor

Test prioritization:
an approach with this flavor

Historical test selection:
an approach with this flavor

Why attractive?

A contrast among the examples

Don’t weaker results hurt?

Middle ground

Analysis view of synch-and-stabilize

Other analysis opportunities

<handwaving>

Wavelets and multi-resolution techniques: a partial inspiration

Staged compilation:
a partial inspiration (Philipose et al.)

A very sketchy example

Horizontal staging

</handwaving>

The real goal of analysis

Relating analyses

Confidence maps

Conclusion

Slide 30

In an ideal world…

Things change

"But not for an arbitrary..."

"Development can be considered a..."

Why does this matter?

A different approach

Synch-and-stabilize augmented by an analysis goal

Positioning

The ultimate analysis??