| M. Nordin, Igor: A tool for developing abstract domains for Prolog, Licentiate of Philosophy Thesis, Uppsala University, 1995. |
....customizable so that users can provide their own fixpoint engines. The system provides support for very concise specification of the often plentiful builtin operations. In this paper we will concentrate on the lattice specifications. A full description of the Igor tool is available elsewhere [18]. 2 Lattice types The user specifies lattice types. Several kinds of lattice types are supported: flat lattices, subset lattices, product lattices, atomic function lattices, explicitly defined finite lattices, tree lattices, and lattices with disjunctive elements. When a type definition is ....
....are only enumerable if the elements of all subtypes are enumerable. Care must be taken by the user to avoid the creation 3 of infinite elements, either via a self referential lattice type or via disjunctive sets of lattice elements with unordered arguments. This language is defined elsewhere [18]; here we only give a few examples of constructs in the language. 3 The supporting language In addition to the lattice type system, Igor contains a first order, statically typed, strict functional language. The language includes expressions for traversing sets, mapping functions on sets, and ....
[Article contains additional citation context not shown here]
M. Nordin, Igor: A tool for developing abstract domains for Prolog, Licentiate of Philosophy Thesis, Uppsala University, 1995.
....domain code for users that want to provide their own fixpoint engines. The system provides support for concise specification of builtin operations and for communicating analysis results to the subsequent phases of the compiler. A full description of the Igor tool is available elsewhere [15]. 2 A simple example The user specifies domain types. Several kinds of domain types are supported: sets ordered by inclusion, product domains, atomic function domains, finite lattices, recursive domains, and disjunctive domains. When a type definition is compiled, the tool generates Prolog code ....
M. Nordin, Igor: A tool for developing abstract domains for Prolog, Licentiate of Philosophy Thesis, forthcoming, 1995.
....to manipulate programs (e.g. extract the free variables of terms or clauses) as well as procedures encompassing common programming idioms (e.g. various operations on sets) 2 Evaluation We have constructed several domains described in the literature [3, 4, 9, 6] An evaluation was done in Ref. [7, 8], which we summarize here. Our experiments show that an Igor specification is 5 10 times shorter than the generated Prolog code, which is reasonably concise as compared to handwritten code. Hence, programmers are spared considerable implementation effort. In order to assess the execution ....
M. Nordin, Igor: A tool for developing abstract domains for Prolog, Licentiate of Philosophy thesis, forthcoming, 1995.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC