Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Gerda Janssens is active.

Publication


Featured researches published by Gerda Janssens.


Journal of Logic Programming | 1992

Deriving descriptions of possible values of program variables by means of abstract interpretation

Gerda Janssens; Maurice Bruynooghe

Abstract A PROLOG compiler specializes the code for unification between calls and clause heads as they appear in the program. This code could be further specialized, yielding more efficient code, if more precise information about possible values for actual arguments were available. This paper addresses the problem of gathering such information. It develops a method for obtaining descriptions of possible values of program variables. The method is based upon a framework for abstract interpretation. The descriptions can be regarded as extended modes or a kind of type information. An important issue in the method is the treatment of free variables and the sharing of free variables between different values of program variables.


Journal of Artificial Intelligence Research | 2002

Improving the efficiency of inductive logic programming through the use of query packs

Hendrik Blockeel; Luc Dehaspe; Bart Demoen; Gerda Janssens; Jan Ramon; Henk Vandecasteele

Inductive logic programming, or relational learning, is a powerful paradigm for machine learning or data mining. However, in order for ILP to become practically useful, the efficiency of ILP systems must improve substantially. To this end, the notion of a query pack is introduced: it structures sets of similar queries. Furthermore, a mechanism is described for executing such query packs. A complexity analysis shows that considerable efficiency improvements can be achieved through the use of this query pack execution mechanism. This claim is supported by empirical results obtained by incorporating support for query pack execution in two existing learning systems.


Theory and Practice of Logic Programming | 2015

Inference and Learning in Probabilistic Logic Programs using Weighted Boolean Formulas

Daan Fierens; Guy Van den Broeck; Joris Renkens; Dimitar Sht. Shterionov; Bernd Gutmann; Ingo Thon; Gerda Janssens; Luc De Raedt

Probabilistic logic programs are logic programs in which some of the facts are annotated with probabilities. This paper investigates how classical inference and learning tasks known from the graphical model community can be tackled for probabilistic logic programs. Several such tasks such as computing the marginals given evidence and learning from (partial) interpretations have not really been addressed for probabilistic logic programs before. The rst contribution of this paper is a suite of ecient algorithms for various inference tasks. It is based on a conversion of the program and the queries and evidence to a weighted Boolean formula. This allows us to reduce the inference tasks to well-studied tasks such as weighted model counting, which can be solved using state-of-the-art methods known from the graphical model and knowledge compilation literature. The second contribution is an algorithm for parameter estimation in the learning from interpretations setting. The algorithm employs Expectation Maximization, and is built on top of the developed inference algorithms. The proposed approach is experimentally evaluated. The results show that the inference algorithms improve upon the state-of-the-art in probabilistic logic programming and that it is indeed possible to learn the parameters of a probabilistic logic program from interpretations.


ACM Transactions on Programming Languages and Systems | 1996

Global analysis of constraint logic programs

M. Garcia de la Banda; Manuel V. Hermenegildo; Maurice Bruynooghe; V. Dumortier; Gerda Janssens; W. Simoens

This article presents and illustrates a practical approach to the dataflow analysis of constraint logic programming languages using abstract interpretation. It is first argued that, from the framework point of view, it suffices to propose relatively simple extensions of traditional analysis methods which have already been proved useful and practical and for which efficient fixpoint algorithms exist. This is shown by proposing a simple extension of Bruynooghes traditional framework which allows it to analyze constraint logic programs. Then, and using this generalized framework, two abstract domains and their required abstract functions are presented: the first abstract domain approximates definiteness information and the second one freeness. Finally, an approach for combining those domains is proposed. The two domains and their combination have been implemented and used in the analysis of CLP(R) and Prolog-III applications. Results form this implementation showing its performance and accuracy are also presented.


ACM Transactions on Programming Languages and Systems | 2012

Equivalence checking of static affine programs using widening to handle recurrences

Sven Verdoolaege; Gerda Janssens; Maurice Bruynooghe

Designers often apply manual or semi-automatic loop and data transformations on array- and loop-intensive programs to improve performance. It is crucial that such transformations preserve the functionality of the program. This article presents an automatic method for constructing equivalence proofs for the class of static affine programs. The equivalence checking is performed on a dependence graph abstraction and uses a new approach based on widening to find the proper induction hypotheses for reasoning about recurrences. Unlike transitive-closure-based approaches, this widening approach can also handle nonuniform recurrences. The implementation is publicly available and is the first of its kind to fully support commutative operations.


application specific systems architectures and processors | 2003

Multi-dimensional incremental loop fusion for data locality

Sven Verdoolaege; Maurice Bruynooghe; Gerda Janssens; P. Catthoor

Affine loop transformations have often been used for program optimization. Usually their focus lies on single loop nests. A few recent approaches also handle global programs with multiple loop nests but they are not really scalable towards realistic applications with dozens of nests. To reduce complexity, we split affine transformations into a linear transformation step and a translation step. This translation step can be used to perform general multidimensional loop fusion. We show that loop fusion can be performed incrementally and provide a greedy algorithm, which we illustrate on a simple example. Finally, we present a heuristic for data locality and provide some experimental results.


verification model checking and abstract interpretation | 2002

Storage Size Reduction by In-place Mapping of Arrays

Remko Tronçon; Maurice Bruynooghe; Gerda Janssens; Francky Catthoor

Programs for embedded multimedia applications typically manipulate several large multi-dimensional arrays. The energy consumption per access increases with their size; the access to these large arrays is responsible for a substantial part of the power consumption. In this paper, an analysis is developed to compute a bounding box for the elements in the array that are simultaneously in use. The size of the original array can be reduced to the size of the bounding box and accesses to it can be redirected using modulo operations on the original indices. This substantially reduces the size of the memories and the power consumption of accessing them.


compiler construction | 2005

Verification of source code transformations by program equivalence checking

K. C. Shashidhar; Maurice Bruynooghe; Francky Catthoor; Gerda Janssens

Typically, a combination of manual and automated transformations is applied when algorithms for digital signal processing are adapted for energy and performance-efficient embedded systems. This poses severe verification problems. Verification becomes easier after converting the code into dynamic single-assignment form (DSA). This paper describes a method to prove equivalence between two programs in DSA where subscripts to array variables and loop bounds are (piecewise) affine expressions. For such programs, geometric modeling can be used and it can be shown, for groups of elements at once, that the outputs in both programs are the same function of the inputs.


design, automation, and test in europe | 2005

Functional Equivalence Checking for Verification of Algebraic Transformations on Array-Intensive Source Code

K. C. Shashidhar; Maurice Bruynooghe; Francky Catthoor; Gerda Janssens

The development of energy and performance-efficient embedded software increasingly relies on the application of complex transformations on critical parts of the source code. Designers applying such nontrivial source code transformations are often faced with the problem of ensuring functional equivalence of the original and transformed programs. Currently, they have to rely on incomplete and time-consuming simulation. Formal automatic verification of the transformed program against the original is desirable instead. This calls for equivalence checking tools similar to the ones available for comparing digital circuits. We present such a tool to compare array-intensive programs related through a combination of important global transformations like expression propagations, loop and algebraic transformations. When the transformed program fails to pass the equivalence check, the tool provides specific feedback on the possible locations of errors.


international conference on logic programming | 2010

Dedicated tabling for a probabilistic setting

Theofrastos Mantadelis; Gerda Janssens

ProbLog is a probabilistic framework that extends Prolog with probabilistic facts. To compute the probability of a query, the complete SLD proof tree of the query is collected as a sum of products. ProbLog applies advanced techniques to make this feasible and to assess the correct probability. Tabling is a well-known technique to avoid repeated subcomputations and to terminate loops. We investigate how tabling can be used in ProbLog. The challenge is that we have to reconcile tabling with the advanced ProbLog techniques. While standard tabling collects only the answers for the calls, we do need the SLD proof tree. Finally we discuss how to deal with loops in our probabilistic framework. By avoiding repeated subcomputations, our tabling approach not only improves the execution time of ProbLog programs, but also decreases accordingly the memory consumption. We obtain promising results for ProbLog programs using exact probability inference.

Collaboration


Dive into the Gerda Janssens's collaboration.

Top Co-Authors

Avatar

Maurice Bruynooghe

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Bart Demoen

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Francky Catthoor

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Marc Denecker

Catholic University of Leuven

View shared research outputs
Top Co-Authors

Avatar

Theofrastos Mantadelis

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Henk Vandecasteele

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Dimitar Sht. Shterionov

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Sven Verdoolaege

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Ingmar Dasseville

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Joachim Jansen

Katholieke Universiteit Leuven

View shared research outputs
Researchain Logo
Decentralizing Knowledge