Deriving Analysers By Folding/unfolding of Natural Semantics and a Case Study: Slicing

Valérie Gouranton, 35 - Rennes (France). Inst. de Recherche en Informatique et Systemes Aleatoires (IRISA) Centre National de la Recherche Scientifique (CNRS), 35 (France). Inst. de Recherche en Informatique et Systemes Aleatoires (IRISA) Rennes-1 Univ., 35 (France). Inst . de Recherche en Informatique et Systemes Aleatoires (IRISA) Institut National des Sciences Appliquees de Rennes (INSA), 35 - Rennes (France). Inst. de Recherche en= Informatique et Systemes Aleatoires (IRISA) Institut National de Recherche en Informatique et en Automatique (INRIA) · 1998

. We consider specifications of analysers expressed as compositions of two functions: a semantic function, which returns a natural semantics derivation tree, and a property defined by recurrence on derivation trees. A recursive definition of a dynamic analyser can be obtained by fold/unfold program transformation combined with deforestation. A static analyser can then be derived by abstract interpretation of the dynamic analyser. We apply our framework to the derivation of a dynamic backward slicing analysis for a logic programming language. 1 Introduction A large amount of work has been devoted to program analysis during the last two decades, both on the practical side and on the theoretical issues. However, most of the program analysers that have been implemented or reported in the literature so far are concerned with one specific property, one specific language and one specific service (dynamic or static). A few generic tools have been proposed but they are generally restricted to ...

Read the paper · More papers on PaperTik