lecture-17 Correctness

lecture-17 Correctness - 1 Correctness Until now Weve seen...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 1 Correctness Until now Weve seen how to define dataflow analyses How do we know our analyses are correct? We could reason about each individual analysis one a time However, a unified framework would make proofs easier to develop and understand Abstract interpretation Abstract interpretation is such a framework Life in analysis-land is all about two things: fixed points and approximations In most general terms, abstract interpretation is a theory of fixed point approximation Abstract interpretation is very flexible, and it has been applied to many domains Just a reminder An analysis (ignore subscripts for now...): F a is global flow function, which takes a map from edges to dataflow information Solution is A simple example with const prop x := 0; y := 0; while (...) { x := x + 1; print(x); } print(y); Same example with a twist At merge point, take union of maps, rather than merging maps x := 0; y := 0; while (...) { x := x + 1; print(x); } print(y); 2 What exactly is going on? (discussion) What exactly is going on? Well, to begin with, our analysis doesnt terminate anymore... We are keeping much more information around In fact, we are... ... running the program Excursion into semantics land Semantics of a programming language captures how instructions of a programming language operate vs. semantics of a program captures how a given program runs Semantics of a program Can use fixed points to capture the semantics of a program Solution: Semantics of a program Back to our const prop example What were we computing? Semantics of a program Back to our const prop example What were we computing?...
View Full Document

This note was uploaded on 02/19/2008 for the course CSE 231 taught by Professor Lerner during the Fall '06 term at UCSD.

Page1 / 8

lecture-17 Correctness - 1 Correctness Until now Weve seen...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online