TD 2 : Interval analysis in PAG/WWW, Part 1.

You are expected to build a small interval analysis under PAG/WWW. You can start from scratch or from the constant propagation analysis. Here are a few guidelines to help you build your analysis step by step:

Definition of the abstraction

There are several possible representations of the lattice of intervals. Please discuss some possible representations, and shortly present your arguments in favour of your preference. Some questions you must ask yourselves are how do you represent the intervals top, bottom, whether you will plan to represent intervals with one finite and one infinite bound (or only both finite or both infinite, which is simpler but slightly less expressive) etc.

Now, you can:

Transfer functions: arithmetic operations

Note that if you represent intervals by couples, in FULA, writing (a,b) creates the couple (a,b). And for a couple c=(a,b), c#1 gives its first element (a) and c#2 its second element (b). See also the documentation of the FULA language.

For the time being, we only analyzed programs where variables took point values:

Transfer functions: lattice operations