
Summary: Many semantic analyses of functional languages have been developed using the Cousots' abstract interpretation framework. Some operate on abstract values representing the past history of the computation, and are therefore called forwards analyses. Others propagate abstract contexts representing the future of the computation, and are called backward analyses. Each form of analysis brings its own insights, and has the potential to influence the other form. For example, it may be very easy to see how to analyse a particular programming language construct in one direction, but not in the direction needed for a particular analysis. Potentially, one might be able to draw on the given analysis to aid in the design of a corresponding reversal. This is the topic of the paper. We show how to reverse any given analysis (forwards or backwards), obtaining a relational reversal which is equivalent to the original. This allows the accuracy of two analyses originally defined in opposite directions to be compared directly. Furthermore, we demonstrate that the relational reversal may be safely approximated by a (more-efficient but slighly less accurate) locally-relational analysis. That is, relational and nonrelational reversals may be combined.
backward analyses, forwards analyses, Semantics in the theory of computing, abstract contexts, abstract interpretation, abstract values, semantic analyses of functional languages
backward analyses, forwards analyses, Semantics in the theory of computing, abstract contexts, abstract interpretation, abstract values, semantic analyses of functional languages
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 2 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
