Demo Data from EDBT 2026 / reviewers in the wild / expert
Zoltan Somogyi
dblp:s/ZoltanSomogyi
· DBLP profile ↗
22ranked-venue papers
4as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 17 · 3 first-authorTheory of computation · 6 · 2 first-authorDatabases, data management, data science and information retrieval · 5 · 1 first-authorArtificial intelligence and machine learning · 2
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Databases, data mining, and information retrieval
3 papers |
Database theory · 37% Data models and query languages · 36% Database system architecture and tuning · 23% | |
| Theoretical computer science
2 papers |
Logic in computer science · 100% |
Topics — the 5 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Database theory
deductive database |
0.0 | 2 | 1994 | The Aditi Deductive Database System · VLDB J. 1994 Design Overview of the Aditi Deductive Database System · ICDE 1991 |
Database system architecture and tuning › knowledge base management system
deductive database system |
0.0 | 1 | 1994 | The Aditi Deductive Database System · VLDB J. 1994 |
Data models and query languages › query language design
logic-based query languages |
0.0 | 1 | 1994 | The Aditi Deductive Database System · VLDB J. 1994 |
Logic in computer science › logic programming
deductive databases |
0.0 | 1 | 1994 | The Aditi Deductive Database System · VLDB J. 1994 |
Query processing and optimization › recursive query
recursive query evaluation |
0.0 | 1 | 1991 | Design Overview of the Aditi Deductive Database System · ICDE 1991 |
Methods — techniques the papers use, named apart from their topics
client/server model · 0.0bottom-up evaluation · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Region-based memory management for Mercury programsabstractAbstract Region-based memory management (RBMM) is a form of compile time memory management, well-known from the world of functional programming. In this paper we describe our work on implementing RBMM for the logic programming language Mercury. One interesting point about Mercury is that it is designed with strong type, mode, and determinism systems. These systems not only provide Mercury programmers with several direct software engineering benefits, such as self-documenting code and clear program logic, but also give language implementors a large amount of information that is useful for program analyses. In this work, we make use of this information to develop program analyses that determine the distribution of data into regions and transform Mercury programs by inserting into them the necessary region operations. We prove the correctness of our program analyses and transformation. To execute annotated programs, we have implemented runtime support that tackles the two main challenges posed by backtracking. First, backtracking can require regions removed during forward execution to be “resurrected”; and second, any memory allocated during computation that has been backtracked over must be recovered promptly without waiting for the regions involved to come to the end of their life. We describe in detail our solution of both these problems. We study in detail how our RBMM system performs on a selection of benchmark programs, including some well-known difficult cases for RBMM. Even with these difficult cases, our RBMM-enabled Mercury system obtains clearly faster runtimes for 15 out of 18 benchmarks compared to the base Mercury system with its Boehm runtime garbage collector, with an average runtime speedup of 24%, and an average reduction in memory requirements of 95%. In fact, our system achieves optimal memory consumption in some programs. Quan Phan, Gerda Janssens, Zoltan Somogyi |
Theory Pract. Log. Program. | 3 |
| 2011 | Half Reification and Flattening
Thibaut Feydy, Zoltan Somogyi, Peter J. Stuckey |
CP | 2 |
| 2011 | Estimating the overlap between dependent computations for automatic parallelizationabstractAbstract Researchers working on the automatic parallelization of programs have long known that too much parallelism can be even worse for performance than too little, because spawning a task to be run on another CPU incurs overheads. Autoparallelizing compilers have therefore long tried to use granularity analysis to ensure that they only spawn off computations whose cost will probably exceed the spawn-off cost by a comfortable margin. However, this is not enough to yield good results, because data dependencies may also limit the usefulness of running computations in parallel. If one computation blocks almost immediately and can resume only after another has completed its work, then the cost of parallelization again exceeds the benefit. We present a set of algorithms for recognizing places in a program where it is worthwhile to execute two or more computations in parallel that pay attention to the second of these issues as well as the first. Our system uses profiling information to compute the times at which a procedure call consumes the values of its input arguments and the times at which it produces the values of its output arguments. Given two calls that may be executed in parallel, our system uses the times of production and consumption of the variables they share to determine how much their executions would overlap if they were run in parallel, and therefore whether executing them in parallel is a good idea or not. We have implemented this technique for Mercury in the form of a tool that uses profiling data to generate recommendations about what to parallelize, for the Mercury compiler to apply on the next compilation of the program. We present preliminary results that show that this technique can yield useful parallelization speedups, while requiring nothing more from the programmer than representative input data for the profiling run. Paul Bone, Zoltan Somogyi, Peter Schachte |
Theory Pract. Log. Program. | 2 |
| 2008 | Runtime support for region-based memory management in MercuryabstractApplying region-based memory management (RBMM) to logic programming languages poses a special challenge: backtracking can require regions removed during forward execution to be ``resurrected'', and any memory allocated during a computation that has been backtracked over must be recovered promptly, without waiting for the regions involved to come to the end of their life. In this paper, we describe how we implemented runtime support for RBMM in the logic programming language Mercury, whose specialized implementation of the language constructs involved in backtracking required equally specialized support. Our benchmark Mercury programs run about 25% faster on average with RBMM than with the usual Boehm garbage collector, and for some programs, RBMM achieves optimal memory consumption. Quan Phan, Zoltan Somogyi, Gerda Janssens |
ISMM | 2 |
| 2008 | DCGs + Memoing = Packrat Parsing but Is It Worth It?
Ralph Becket, Zoltan Somogyi |
PADL | 2 |
| 2006 | Adding Constraint Solving to Mercury
Ralph Becket, Maria Garcia de la Banda, Kim Marriott, Zoltan Somogyi, Peter J. Stuckey, Mark Wallace 0001 |
PADL | 4 |
| 2006 | Controlling Search Space Materialization in a Practical Declarative Debugger
Ian MacLarty, Zoltan Somogyi |
PADL | 2 |
| 2006 | Tabling in Mercury: Design and Implementation
Zoltan Somogyi, Konstantinos Sagonas |
PADL | 1 |
| 2005 | The G12 Project: Mapping Solver Independent Models to Efficient Solutions
Peter J. Stuckey, Maria Garcia de la Banda, Michael J. Maher, Kim Marriott, John K. Slaney, Zoltan Somogyi, Mark Wallace 0001, Toby Walsh |
CP | 6 |
| 2005 | The G12 Project: Mapping Solver Independent Models to Efficient Solutions
Peter J. Stuckey, Maria Garcia de la Banda, Michael J. Maher, Kim Marriott, John K. Slaney, Zoltan Somogyi, Mark Wallace 0001, Toby Walsh |
ICLP | 6 |
| 2002 | Compiling Mercury to High-Level C Code
Fergus Henderson, Zoltan Somogyi |
CC | 2 |
| 2002 | Constraint-based mode analysis of mercuryabstractRecent logic programming languages, such as Mercury and HAL, require type, mode and determinism declarations for predicates. This information allows the generation of efficient target code and the detection of many errors at compile-time. Unfortunately, mode checking in such languages is difficult. One of the main reasons is that, for each predicate mode declaration, the compiler is required to decide which parts of the procedure bind which variables, and how conjuncts in the predicate definition should be re-ordered to enforce this behaviour. Current mode checking systems limit the possible modes that may be used because they do not keep track of aliasing information, and have only a limited ability to infer modes, since inference does not perform reordering. In this paper we develop a mode inference system for Mercury based on mapping each predicate to a system of Boolean constraints that describe where its variables can be produced. This allows us handle programs that are not supported by the existing system. David Overton, Zoltan Somogyi, Peter J. Stuckey |
PPDP | 2 |
| 2002 | Using the heap to eliminate stack accessesabstractThe value of a variable is often given by a field of a heap cell, and frequently the program will pick up the values of several variables from different fields of the same heap cell. By keeping some of these variables out of the stack frame, and accessing them in their original locations on the heap instead, we can reduce the number of loads from and stores to the stack at the cost of introducing a smaller number of loads from the heap. We present an algorithm that finds the optimal set of variables to access via a heap cell instead of a stack slot, and transforms the code of the program accordingly. We have implemented this optimization in the Mercury compiler, and our measurements show that it can reduce program runtimes by up to 12% while at the same time reducing program size. The optimization is straightforward to apply to Mercury and to other languages with immutable data structures; its adaptation to languages with destructive assignment would require the compiler to perform mutability analysis. Zoltan Somogyi, Peter J. Stuckey |
PPDP | 1 |
| 1999 | Run Time Type Information in Mercury
Tyson Dowd, Zoltan Somogyi, Fergus Henderson, Thomas C. Conway, David Jeffery |
PPDP | 2 |
| 1997 | Database Transactions in a Purely Declarative Logic Programming Language
David B. Kemp, Thomas C. Conway, Evan P. Harris, Fergus Henderson, Kotagiri Ramamohanarao, Zoltan Somogyi |
DASFAA | 6 |
| 1997 | Termination Analysis for Mercury
Chris Speirs, Zoltan Somogyi, Harald Søndergaard |
SAS | 2 |
| 1994 | Subsumption-Free Bottom-up Evaluation of Logic Programs with Partially Instantiated Data Structures
Zoltan Somogyi, David B. Kemp, James Harland, Kotagiri Ramamohanarao |
EDBT | 1 |
| 1994 | The Aditi Deductive Database System
Jayen Vaghani, Kotagiri Ramamohanarao, David B. Kemp, Zoltan Somogyi, Peter J. Stuckey, Tim S. Leask, James Harland |
VLDB J. | 4 |
| 1993 | Status of the Aditi Deductive Database System
Jayen Vaghani, Kotagiri Ramamohanarao, David B. Kemp, Zoltan Somogyi, Peter J. Stuckey, Tim S. Leask, James Harland |
ICLP | 4 |
| 1991 | Design Overview of the Aditi Deductive Database SystemabstractAn overview of the structure of Aditi, a disk-based deductive database system under continuous development at the University of Melbourne, is presented. The aim of the project is to find out what implementation methods and optimization techniques would make deductive databases competitive with current commercial relational databases. The structure of the Aditi prototype is based on a variant of the client-server model. The front end of Aditi interacts with the user exclusively in a logical language that has more expressive power than relational query languages. The back end uses relational technology for efficiency in the management of disk-based data and uses some optimization algorithms especially developed for the bottom-up evaluation of logical queries involving recursion. The system has been functional for almost two years now, and has already proven its worth as a research tool.> Jayen Vaghani, Kotagiri Ramamohanarao, David B. Kemp, Zoltan Somogyi, Peter J. Stuckey |
ICDE | 4 |
| 1990 | Right-, left- and multi-linear rule transformations that maintain context information
David B. Kemp, Kotagiri Ramamohanarao, Zoltan Somogyi |
VLDB | 3 |
| 1987 | A System of Precise Models for Logic Programs
Zoltan Somogyi |
ICLP | 1 |