Ulrich Neumerkel
Vienna University of Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Ulrich Neumerkel.
static analysis symposium | 2001
Frédéric Mesnard; Ulrich Neumerkel
We present the implementation of cTI, a system for universal left-termination inference of logic programs. Termination inference generalizes termination analysis/checking. Traditionally, a termination analyzer tries to prove that a given class of queries terminates. This class must be provided to the system, requiringu ser annotations. With termination inference such annotations are no longer necessary. Instead, all provably terminatingclasses to all related predicates are inferred at once. The architecture of cTI is described1 and some optimizations are discussed. Runningti mes for classical examples from the termination literature in LP and for some middle-sized logic programs are given.
international symposium on programming language implementation and logic programming | 1994
Paul Tarau; Ulrich Neumerkel
In this paper we present the novel term representation of the BinWAM (a simplified WAM engine for executing binary logic programs) and evaluate its impact in BinProlog, a C-emulated system based on the BinWAM and on the mapping of logic programs to binary Prolog introduced in [13]. Terms in the BinWAM are compressed with a new technique called last argument overlapping which takes advantage of an unconventional untagged pointer representation, called tag-on-data. A Cheney-style copy-term algorithm using these term representations is described for BinPrologs fast copy once implementation of findall. While BinPrologs performance is competitive with the best commercial Prolog systems, its implementation is significantly simpler. Our analysis shows that this term representation and a limited amount of instruction folding on top of a reduced basic instruction set make the BinWAM a realistic alternative to its more complex forerunner.
static analysis symposium | 2002
Frédéric Mesnard; Étienne Payet; Ulrich Neumerkel
In this paper, we begin with an approach to nontermination inference of logic programs. Our framework relies on an extension of the Lifting Theorem, where some specific argument positions can be instantiated while others are generalized. Atomic left looping queries are generated bottom-up from selected subsets of the binary unfoldings of the program of interest. Then non-termination inference is tailored to attempt proofs of optimality of left termination conditions computed by a termination inference tool. For each class of atomic queries not covered by a termination condition, the aim is to ensure the existence of one query from this class which leads to an infinite search tree. An experimental evaluation is reported. When termination and non-termination analysis produce complementary results for a logic procedure, they induce a characterization of the operational behavior of the logic procedure with respect to the left most selection rule and the language used to describe sets of atomic queries.
logic-based program synthesis and transformation | 1994
Ulrich Neumerkel
We present a new transformation of Prolog programs preserving operational equivalence. Our transformation — EBC (equality based continuation) transformation — relies on the introduction of equations between terms. These equations are used to introduce alternative and more efficient representations of terms. When applied to binary Prolog programs, EBC is able to perform the following optimizations by mere source to source transformations: removal of existential variables in programs using difference lists and accumulators, reduction of the number of occur-checks, interprocedural register allocation when executed on the WAM, linearization of recursions, optimization of continuation-like user data structures.
database and expert systems applications | 1995
Teresita Krueger; George Kurian; Anil Nair; Gustaf Neumann; Ulrich Neumerkel; Stefan Nusser; Peter B. Reintjes; Andrew Taylor; Daphne Tzoar; Adrian Walker
We describe a software technology that is “people oriented”, in the sense that it allows us to: specify a task as English syllogisms, together with tables of facts, run the specification consisting of English syllogisms directly, ask questions in English, get hypertexted English explanations of answers, automatically fill in business forms, and to automatically generate database queries and updates.
international conference on logic programming | 1992
Ulrich Neumerkel
We propose an improved execution model for Prolog with occurcheck. Prologs incompleteness is reduced in the case of difference-lists and similar data structures which are crucial for practical programming tasks. We show that adding the occur-check to the Prolog-system is not sufficient for using difference-lists in a reliable manner. In fact, most programs where the occur-check fails end up looping infinitely. By propagating the subterm annotations of variables via abstract interpretation we avoid the creation of these undesirable infinite SLD-trees. In addition, our extension provides a better framework for transformations of programs that use difference-lists that cannot be realized in the common framework of infinite trees.
Metamaterials | 2007
Ulrich Neumerkel
arXiv: Software Engineering | 2002
Ulrich Neumerkel; Stefan Kral
15. WLP | 2000
Serge Burckel; Sébastien Hoarau; Frédéric Mesnard; Ulrich Neumerkel
Archive | 1997
Ulrich Neumerkel