Next: Overall Aims and Objectives
Up: Probabilistic Abstract Interpretation
Previous: Probabilistic Semantics
To illustrate the approach adopted in this project, we will
refer to the following program fragment:
A: if prime(n)
then B: if odd(n)
then C:proc1
else D:proc2
fi
else E:proc3
F: fi
The information attached to the various branches of this program
by classical abstract interpretation cannot be used for optimisation:
All procedures might be called, and therefore it is impossible to
eliminate any part of the program.
However, some form of optimisation is still possible. Suppose
that (because of resource limitations) we had to decide which
procedures are to be made easily accessible (i.e. can be kept
in primary storage) and which are to be kept in the background
(i.e. are kept on secondary storage). In this case it is important
to realise that proc2 has a much smaller chance of being
called as 2 is the only even prime number (we implicitly assume
a uniform distribution of ). Therefore, it is reasonable
to keep proc1 in the primary storage and proc2 in
secondary.
Similar examples are also typical in distributed computing or whenever the issue of resource consumption and
management is fundamental.
Next: Overall Aims and Objectives
Up: Probabilistic Abstract Interpretation
Previous: Probabilistic Semantics
|