Abstract
Any finite tree automaton (or regular type) can be used to construct an abstract interpretation of a logic program, by first determinising and completing the automaton to get a pre-interpretation of the language of the program. This has been shown to be a flexible and practical approach to building a variety of analyses, both generic (such as mode analysis) and program-specific (with respect to a type describing some particular property of interest). Previous work demonstrated the approach using pre-interpretations over small domains. In this paper we present techniques that allow the method to be applied to more complex pre-interpretations and larger programs. There are two main techniques presented: the first is a novel algorithm for determinising finite tree automata, yielding a compact ``product" form of the transitions of the result automaton, that is often orders of magnitude smaller than an explicit representation of the automaton. Secondly, it is shown how this form (which is a representation of a pre-interpretation) can then be input directly to a BDD-based analyser of Datalog programs. We demonstrate through experiments that much more complex analyses become feasible.
Originalsprog | Engelsk |
---|---|
Titel | Logic Programming, 21st International Conference |
Redaktører | M. Gabbrielli, G. Gupta |
Antal sider | 17 |
Forlag | Springer |
Publikationsdato | 2005 |
Sider | 280-296 |
ISBN (Trykt) | ISBN 3-540-29208-X |
Status | Udgivet - 2005 |
Begivenhed | Logic Programming: 21st International Conference - Sitges, Spanien Varighed: 2 okt. 2005 → 5 okt. 2005 Konferencens nummer: 21 |
Konference
Konference | Logic Programming: 21st International Conference |
---|---|
Nummer | 21 |
Land/Område | Spanien |
By | Sitges |
Periode | 02/10/2005 → 05/10/2005 |
Navn | Lecture Notes in Computer Science |
---|---|
Vol/bind | 3668 |
ISSN | 0302-9743 |