Program Analysis Interest Group
   

Next: Probabilistic Semantics Up: Background Previous: Abstract Interpretation

Open Problem: Error Quantification

In general, the attempt to analyse programs by approximating their properties can be seen as in line with many engineering approaches: Instead of attempting the impossible, e.g. total verification or building an unsinkable ship, a more practical approach suggests that one considers approximate analysis of software or methods to build ships with a ``good'' chance to sail for quite some time.

In many cases it would be useful to measure the likelihood (i.e. the probability) that the intended property is indeed satisfied. We would then be interested in an exact estimate of the error made in the approximation. One way to achieve this is to introduce a kind of (numerical) quantification of the qualities of programs. Such a quantification of the approximation error would also address one major shortcoming of classical abstract interpretation, as mentioned in [40, Section 3.4,]

One shortcoming of the development [...] is that a correct analysis may be so imprecise as to be practically useless. [...] The notion of correctness is topological in nature but we would ideally like something that was a bit more metric in nature so that we could express how imprecise a correct analysis is. Unfortunately no one has been able to develop an adequate metric for these purposes.

Semantic models for probabilistic computation will provide us with a good base to deal with this issue and to develop a program analysis methodology which is able to quantify the level of imprecision. This methodology will be applicable to any program not only to probabilistic ones.


Next: Probabilistic Semantics Up: Background Previous: Abstract Interpretation