The input to backwards analysis is a program together with properties that are required to hold at given program points. The purpose of the analysis is to derive initial goals or pre-conditions that guarantee that, when the program is executed, the given properties hold. The solution for logic programs presented here is based on a transformation of the input program, which makes explicit the dependencies of the given program points on the initial goals. The transformation is derived from the resultants semantics of logic programs. The transformed program is then analysed using a standard abstract interpretation. The required pre-conditions on initial goals can be deduced from the analysis results without a further fixpoint computation. For the modes backwards analysis problem, this approach gives the same results as previous work, but requires only a standard abstract interpretation framework and no special properties of the abstract domain.
|Title of host publication||Logic Based Program Synthesis and Transformation, 13th International Symposium, LOPSTR 2003|
|Number of pages||14|
|Place of Publication||Uppsala|
|Publication status||Published - 2003|
|Series||Lecture Notes in Computer Science|
Gallagher, J. P. (2003). A Program Transformation for Backwards Analysis of Logic Programs. In M. Bruynooghe (Ed.), Logic Based Program Synthesis and Transformation, 13th International Symposium, LOPSTR 2003 (pp. 92-105). Uppsala: Springer. Lecture Notes in Computer Science, Vol.. 3018