Demo Data from EDBT 2026 / reviewers in the wild / expert
Eljas Soisalon-Soininen
dblp:19/6819
· DBLP profile ↗
79ranked-venue papers
15as first author
2since 2021 · last 2024
0000-0001-6437-2127ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 40 · 10 first-authorDatabases, data management, data science and information retrieval · 36 · 5 first-author · 2 since 2021Software engineering, systems software and programming languages · 4 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 3Artificial intelligence and machine learning · 2 · 1 since 2021
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
18 papers |
Transaction processing and concurrency control · 43% Indexing and storage engines · 35% Data stream processing · 13% | |
| Theoretical computer science
14 papers |
Algorithms and data structures · 60% Automata and formal languages · 21% Computational complexity · 7% | |
| Software engineering, system software, and programming languages
7 papers |
Concurrent programming · 56% Compilers and program optimization · 32% Program verification · 7% |
Topics — the 30 heaviest of 63, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Transaction processing and concurrency control
recovery |
0.2 | 2 | 2013 | On the Recovery of R-Trees · IEEE Trans. Knowl. Data Eng. 2013 B-tree concurrency control and recovery in page-server database systems · ACM Trans. Database Syst. 2006 |
Indexing and storage engines › spatial index
r-tree |
0.2 | 1 | 2013 | On the Recovery of R-Trees · IEEE Trans. Knowl. Data Eng. 2013 |
Data stream processing
publish/subscribe |
0.1 | 1 | 2008 | XML-document-filtering automaton · Proc. VLDB Endow. 2008 |
Data stream processing › XML stream processing
XML filtering |
0.1 | 1 | 2008 | XML-document-filtering automaton · Proc. VLDB Endow. 2008 |
Indexing and storage engines › b-tree
concurrent b-tree |
0.1 | 2 | 2006 | B-tree concurrency control and recovery in page-server database systems · ACM Trans. Database Syst. 2006 Concurrency Control in B-Trees with Batch Updates · IEEE Trans. Knowl. Data Eng. 1996 |
Indexing and storage engines
b+-tree |
0.1 | 1 | 2007 | Online Bulk Deletion · ICDE 2007 |
Transaction processing and concurrency control › concurrency control › locking
key-range locking |
0.1 | 1 | 2007 | Online Bulk Deletion · ICDE 2007 |
Transaction processing and concurrency control › concurrency control › locking
multi-granularity locking |
0.1 | 1 | 2007 | Online Bulk Deletion · ICDE 2007 |
Indexing and storage engines › b-tree
b-link tree |
0.1 | 1 | 2005 | Concurrency control and recovery for balanced B-link trees · VLDB J. 2005 |
Transaction processing and concurrency control
concurrency control and recovery |
0.1 | 1 | 2005 | Concurrency control and recovery for balanced B-link trees · VLDB J. 2005 |
Concurrent programming › synchronization
locking |
0.0 | 3 | 1995 | Safety by Uninterpreted Locks · Inf. Comput. 1995 Uncoupling Updating and Rebalancing in Chromatic Binary Search Trees · PODS 1991 Pre-analysis Locking · Inf. Control. 1986 |
Indexing and storage engines
tree index |
0.0 | 1 | 1999 | Group Updates for Relaxed Height-Balanced Trees · PODS 1999 |
Algorithms and data structures › data structure design › search structures › search trees
balanced trees |
0.0 | 1 | 1999 | Group Updates for Relaxed Height-Balanced Trees · PODS 1999 |
Algorithms and data structures › data structure design › search structures › search trees › balanced search trees
height-balanced trees |
0.0 | 1 | 1999 | Group Updates for Relaxed Height-Balanced Trees · PODS 1999 |
Transaction processing and concurrency control
concurrency control |
0.0 | 3 | 1996 | Concurrency Control in B-Trees with Batch Updates · IEEE Trans. Knowl. Data Eng. 1996 Concurrency Control in Database Structures with Relaxed Balance · PODS 1987 Maximal Concurrency by Locking · PODS 1984 |
Indexing and storage engines
b-tree |
0.0 | 2 | 1996 | Concurrency Control in B-Trees with Batch Updates · IEEE Trans. Knowl. Data Eng. 1996 Concurrency Control in Database Structures with Relaxed Balance · PODS 1987 |
Database system architecture and tuning › database system implementation
client-server database |
0.0 | 1 | 2006 | B-tree concurrency control and recovery in page-server database systems · ACM Trans. Database Syst. 2006 |
Indexing and storage engines
batch update |
0.0 | 1 | 1996 | Concurrency Control in B-Trees with Batch Updates · IEEE Trans. Knowl. Data Eng. 1996 |
Data models and query languages › datalog
datalog query optimization |
0.0 | 1 | 1996 | An Analysis of Magic Sets and Related Optimization Strategies for Logic Queries · J. ACM 1996 |
Database theory › deductive database
logic queries |
0.0 | 1 | 1996 | An Analysis of Magic Sets and Related Optimization Strategies for Logic Queries · J. ACM 1996 |
Data models and query languages › datalog › datalog query optimization
magic sets |
0.0 | 1 | 1996 | An Analysis of Magic Sets and Related Optimization Strategies for Logic Queries · J. ACM 1996 |
Transaction processing and concurrency control › concurrency control
locking |
0.0 | 4 | 1987 | Concurrency Control in Database Structures with Relaxed Balance · PODS 1987 Pre-Analysis Locking: A Safe and Deadlock Free Locking Policy · VLDB 1985 On the Complexity of Concurrency Control by Locking in Distributed Database Systems · Inf. Control. 1984 |
Indexing and storage engines › index maintenance
rebalancing |
0.0 | 2 | 1991 | Uncoupling Updating and Rebalancing in Chromatic Binary Search Trees · PODS 1991 Concurrency Control in Database Structures with Relaxed Balance · PODS 1987 |
Query processing and optimization › recursive query
recursive query evaluation |
0.0 | 2 | 1988 | A Generalized Transitive Closure for Relational Queries · PODS 1988 Efficient Evaluation for a Subset of Recursive Queries · PODS 1987 |
Indexing and storage engines › tree structures
binary search tree |
0.0 | 1 | 1991 | Uncoupling Updating and Rebalancing in Chromatic Binary Search Trees · PODS 1991 |
Concurrent programming › concurrent data structures
concurrent search tree |
0.0 | 1 | 1991 | Uncoupling Updating and Rebalancing in Chromatic Binary Search Trees · PODS 1991 |
Database theory › datalog evaluation
bottom-up evaluation |
0.0 | 1 | 1990 | Efficient Implementation of Loops in Bottom-Up Evaluation of Logic Queries · VLDB 1990 |
Automata and formal languages › formal grammars
context-free grammar |
0.0 | 3 | 1983 | The Complexity of LALR(k) Testing · J. ACM 1983 LALR(k) Testing is PSPACE-Complete · STOC 1981 Characterizations of the LL(k) Property · ICALP 1980 |
Compilers and program optimization
parsing |
0.0 | 3 | 1983 | A Syntax-Error-Handling Technique and Its Experimental Analysis · ACM Trans. Program. Lang. Syst. 1983 Practical Error Recovery in LR Parsing · POPL 1982 Elimination of Single Productions from LR Parsers in Conjunction with the Use of Default Reductions · POPL 1977 |
Database theory
datalog evaluation |
0.0 | 1 | 1988 | An Optimization Strategy for Recursive Queries in Logic Databases · ICDE 1988 |
Methods — techniques the papers use, named apart from their topics
write-ahead logging · 0.2latching · 0.2ARIES · 0.2aho-corasick automaton · 0.1XPath · 0.1DTD-based pruning · 0.1multi-granular key-range locking · 0.1b-tree rebalancing · 0.1fine-grained locking · 0.1ARIES/CSA recovery · 0.1amortized analysis · 0.0concurrent search · 0.0batch insertion · 0.0uninterpreted locks · 0.0safety verification · 0.0shadow rebalancing · 0.0red-black tree relaxation · 0.0static analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Lightweight Latches for B-Trees to Cope with High Contention
Amir El-Shaikh, Bernhard Seeger, Eljas Soisalon-Soininen |
DEXA (2) | 3 |
| 2023 | OVI-3: A NoSQL visual query system supporting efficient anti-joinsabstractAbstract The aim of this work was to develop a technique to speed up complex joins in an incremental visual query system. When designing a visual, highly interactive interface for ad-hoc (read-only) queries, fast response times are of paramount importance. While a column-oriented DBMS reduces the inherent latency found in relational DBMS, there is still the question of how to index the data, especially so as to support complex joins. Equi-joins that involve a many-to-many relationship are an example of complex joins that arise frequently and whose efficient processing is essential for fast query processing. We present OVI-3, a NoSQL visual query system based on incremental querying that uses a simple directory-based indexing scheme for faster processing of such complex joins. The system has been piloted using real data from a student database at Aalto University. The results demonstrated that for certain complex joins the presented indexing scheme outperforms SQL queries from a data server, especially for queries involving anti-joins (negation), where OVI-3 provided an orders of magnitude speed improvement. Sami El-Mahgary, Eljas Soisalon-Soininen, Pekka Orponen, Petri Rönnholm, Hannu Hyyppä |
J. Intell. Inf. Syst. | 2 |
| 2016 | Message from the ICDE 2016 Program Committee and general chairsabstractSince its inception in 1984, the IEEE International Conference on Data Engineering (ICDE) has become a premier forum for the exchange and dissemination of data management research results among researchers, users, practitioners, and developers. Continuing this long-standing tradition, the 32nd ICDE will be hosted this year in Helsinki, Finland, from May 16 to May 20, 2016. It is our great pleasure to welcome you to ICDE 2016 and to present its proceedings to you. Mei Hsu, Alfons Kemper, Timos K. Sellis, Boris Novikov 0001, Eljas Soisalon-Soininen |
ICDE | 5 |
| 2016 | Cache-Sensitive Memory Layout for Dynamic Binary TreesabstractWe use cache-sensitive memory layouts to improve search performance in ordinary binary search trees, without increasing the time complexity of insertion or deletion. Our approach does not require changes to the structure of the nodes or the rebalancing strategy of the tree. Cache-sensitivity is maintained with a memory-layout invariant that keeps a given number of neighboring nodes in the tree stored in the same cache block. We show how to preserve it using worst-case constant-time operations executed when the tree changes. In our extensive experiments, the invariant consistently improved the search performance of large AVL and red–black trees by 26–32%, on synthetic data as well as realistic search tree operations extracted from a database benchmark. We also compare binary search trees with several cache-sensitive B-trees, and non-dynamic approaches for laying out tree nodes in a multi-level memory hierarchy. Riku Saikkonen, Eljas Soisalon-Soininen |
Comput. J. | 2 |
| 2015 | Experimental Analysis of an Online Dictionary Matching Algorithm for Regular Expressions with Gaps
Riku Saikkonen, Seppo Sippu, Eljas Soisalon-Soininen |
SEA | 3 |
| 2013 | Online Matching of Multiple Regular Patterns with Gaps and Character Classes
Seppo Sippu, Eljas Soisalon-Soininen |
LATA | 2 |
| 2013 | On the Recovery of R-TreesabstractWe consider the recoverability of traditional R-tree index structures under concurrent updating transactions, an important issue that is neglected or treated inadequately in many proposals of R-tree concurrency control. We present two solutions to ARIES-based recovery of transactions on R-trees. These assume a standard fine-grained single-version update model with physiological write-ahead logging and steal-and-no-force buffering where records with uncommitted updates by a transaction may migrate from their original page to another page due to structure modifications caused by other transactions. Both solutions guarantee that an R-tree will remain in a consistent and balanced state in the presence of any number of concurrent forward-rolling and (totally or partially) backward-rolling multiaction transactions and in the event of process failures and system crashes. One solution maintains the R-tree in a strictly consistent state in which the bounding rectangles of pages are as tight as possible, while in the other solution this requirement is relaxed. In both solutions only a small constant number of simultaneous exclusive latches (write latches) are needed, and in the solution that only maintains relaxed consistency also the number of simultaneous nonexclusive latches is similarly limited. In both solutions, deletions are handled uniformly with insertions, and a logarithmic insertion-path length is maintained under all circumstances. Tuukka Haapasalo, Ibrahim Jaluta, Seppo Sippu, Eljas Soisalon-Soininen |
IEEE Trans. Knowl. Data Eng. | 4 |
| 2012 | A General Method for Improving Insertion-Based Adaptive Sorting
Riku Saikkonen, Eljas Soisalon-Soininen |
ISAAC | 2 |
| 2011 | Online Dictionary Matching with Variable-Length Gaps
Tuukka Haapasalo, Panu Silvasti, Seppo Sippu, Eljas Soisalon-Soininen |
SEA | 4 |
| 2009 | Transactions on the multiversion B+-treeabstractThe multiversion B+-tree (MVBT) by Becker et al. assumes a single-data-item update model in which each new version created for a data item is given a timestamp that is unique across the entire MVBT. In this paper, we extend the MVBT model with multi-action transactions such that all (final) data-item versions created by a transaction are given the same timestamp. We show that the MVBT algorithms can be modified to work in a setting in which multiple readonly transactions and a single updating transaction operate concurrently in snapshot isolation on the MVBT, without compromising the asymptotically optimal time complexity of key inserts, key deletes, and key-range scans on any version. The structural consistency and balance of the MVBT is guaranteed by short-duration latching of pages, redo-only logging of structure modifications (version splits, key splits and page merges), and redo-undo logging of key insertions and deletions. The redo pass of our ARIES-based restart-recovery algorithm always produces a structurally consistent and balanced MVBT on which any undo action by a backward-rolling updating transaction can be performed logically if a physical undo is not possible. The standard steal-and-no-force buffering policy is assumed. Tuukka Haapasalo, Ibrahim Jaluta, Bernhard Seeger, Seppo Sippu, Eljas Soisalon-Soininen |
EDBT | 5 |
| 2009 | Schema-conscious filtering of XML documentsabstractIn a publish-subscribe system based on filtering of XML documents, subscribers specify their interests with profiles expressed in the XPath language. The system processes a stream of XML documents and delivers to subscribers a notification or content of documents that match the profiles. For filtering with profiles expressed as linear XPath queries, automaton-based approaches exist where the intractable size growth of a preconstructed deterministic finite automaton is avoided by using a nondeterministic automaton. In this article we examine how these general approaches, which do not assume the existence of any specific schema or document type definition (DTD), might benefit from the knowledge that all the XML documents to be filtered obey a given DTD. Panu Silvasti, Seppo Sippu, Eljas Soisalon-Soininen |
EDBT | 3 |
| 2009 | Concurrent updating transactions on versioned dataabstractModern database applications increasingly often require access to historical versions of the database. Storing such multiversion data in a single-version B+ -tree database index is inefficient, especially for key-range queries. In this article, we present an index structure called the concurrent multiversion B+ -tree (CMVBT) for efficiently storing and querying multiversion data. Tuukka Haapasalo, Seppo Sippu, Ibrahim Jaluta, Eljas Soisalon-Soininen |
IDEAS | 4 |
| 2009 | Bulk-Insertion Sort: Towards Composite Measures of Presortedness
Riku Saikkonen, Eljas Soisalon-Soininen |
SEA | 2 |
| 2008 | XML-document-filtering automatonabstractIn a publish-subscribe system based on filtering of XML documents subscribers specify their interests with profiles expressed in the XPath language. The system processes a stream of XML documents and delivers to subscribers a notification or content of documents that match the profiles. We present a new XML-document-filtering algorithm that is based on the classic Aho-Corasick pattern-matching automaton. The automaton has a size linear in the sum of the sizes of the filters. We assume that the XML documents all conform to a given DTD; our algorithm utilizes the DTD in the preprocessing phase of the automaton to prune out descendant axes (//) and wildcards (*) from the XPath filters. The XPath subset currently supported consists of linear XPath expressions without predicates. In the case of a 683 MB protein-sequence database, we obtained a throughput of 18.8 MB/sec for 50 000 filters and 17.0 MB/sec for 500 000 filters, using a SAX parser with a throughput of 27 MB/sec. Panu Silvasti, Seppo Sippu, Eljas Soisalon-Soininen |
Proc. VLDB Endow. | 3 |
| 2007 | A Two-Phased Visual Query Interface for Relational Databases
Sami El-Mahgary, Eljas Soisalon-Soininen |
DEXA | 2 |
| 2007 | Online Bulk DeletionabstractWe consider online bulk-delete operations on a large database table organized as a primary (sparse) B+-tree index on a multi-attribute key. Using the natural range partitions induced by prefixes of the key, we define a multi-granular key-range locking protocol in which a bulk operation locks a small number of logical fragments of the table covering the target of the operation. We also present an efficient and recoverable bulk-delete algorithm that minimizes the work needed in B-tree rebalancing and in transaction rollback. All the locks needed for a bulk-delete operation are acquired during a scan of the leaf pages covering the target key range; in this scan the records qualifying for deletion are only marked as deleted. The records are physically deleted in a rebalance phase that avoids visiting subtrees in which all records qualify for deletion, thus saving considerably on the number of rebalancing operations. Timo Lilja, Riku Saikkonen, Seppo Sippu, Eljas Soisalon-Soininen |
ICDE | 4 |
| 2006 | B-tree concurrency control and recovery in page-server database systemsabstractWe develop new algorithms for the management of transactions in a page-shipping client-server database system in which the physical database is organized as a sparse B-tree index. Our starvation-free fine-grained locking protocol combines adaptive callbacks with key-range locking and guarantees repeatable-read-level isolation (i.e., serializability) for transactions containing any number of record insertions, record deletions, and key-range scans. Partial and total rollbacks of client transactions are performed by the client. Each structure modification such as a page split or merge is defined as an atomic action that affects only two levels of the B-tree and is logged using a single redo-only log record, so that the modification never needs to be undone during transaction rollback or restart recovery. The steal-and-no-force buffering policy is applied by the server when flushing updated pages onto disk and by the clients when shipping updated data pages to the server, while pages involved in a structure modification are forced to the server when the modification is finished. The server performs the restart recovery from client and system failures using an ARIES/CSA-based recovery protocol. Our algorithms avoid accessing stale data but allow a data page to be updated by one client transaction and read by many other client transactions simultaneously, and updates may migrate from a data page to another in structure modifications caused by other transactions while the updating transaction is still active. Ibrahim Jaluta, Seppo Sippu, Eljas Soisalon-Soininen |
ACM Trans. Database Syst. | 3 |
| 2005 | Concurrency control and recovery for balanced B-link trees
Ibrahim Jaluta, Seppo Sippu, Eljas Soisalon-Soininen |
VLDB J. | 3 |
| 2004 | Concurrency Control and I/O-Optimality in Bulk Insertion
Kerttu Pollari-Malmi, Eljas Soisalon-Soininen |
SPIRE | 2 |
| 2004 | On Classification of Strings
Eljas Soisalon-Soininen, Tatu Ylönen |
SPIRE | 1 |
| 2003 | Distributed Search Trees: Fault Tolerance in an Asynchronous Environment
Konrad Schlude, Eljas Soisalon-Soininen, Peter Widmayer |
Theory Comput. Syst. | 2 |
| 2002 | Distributed Highly Available Search Trees
Konrad Schlude, Eljas Soisalon-Soininen, Peter Widmayer |
SIROCCO | 2 |
| 2001 | A Theory of Transactions on Recoverable Search Trees
Seppo Sippu, Eljas Soisalon-Soininen |
ICDT | 2 |
| 2001 | Relaxed balance for search trees with local rebalancing
Kim S. Larsen, Thomas Ottmann, Eljas Soisalon-Soininen |
Acta Informatica | 3 |
| 2001 | Relaxed Balance Using Standard Rotations
Kim S. Larsen, Eljas Soisalon-Soininen, Peter Widmayer |
Algorithmica | 2 |
| 2001 | Transitive closure algorithm MEMTC and its performance analysis
Vesa Hirvisalo, Esko Nuutila, Eljas Soisalon-Soininen |
Discret. Appl. Math. | 3 |
| 2000 | Group Updates for Red-Black Trees
Sabine Hanke, Eljas Soisalon-Soininen |
CIAC | 2 |
| 2000 | Concurrency Control for B-Trees with Differential IndicesabstractWe present an indexing system where a database index is divided into two parts: the main index located on disk and the differential index in the main memory. Both indices are implemented as B-trees. All updates performed by active transactions are written in the differential index. Periodically, writes of committed transactions are transferred from differential index to the main index as a batch-update operation. Thus, updates falling into the same leaf of the tree can be performed simultaneously. In addition, the system offers a simple recovery scheme. After a system crash, no undo operations are needed and redo operations need only write to the main memory. Kerttu Pollari-Malmi, Jarmo Ruuth, Eljas Soisalon-Soininen |
IDEAS | 3 |
| 1999 | Group Updates for Relaxed Height-Balanced TreesabstractArticle Group updates for relaxed height-balanced trees Share on Authors: Lauri Malmi Laboratory of Information Processing Science, Helsinki University of Technology, P.O. Box 5400, 02015 HUT, Espoo, Finland Laboratory of Information Processing Science, Helsinki University of Technology, P.O. Box 5400, 02015 HUT, Espoo, FinlandView Profile , Eljas Soisalon-Soininen Laboratory of Information Processing Science, Helsinki University of Technology, P.O. Box 5400, 02015 HUT, Espoo, Finland Laboratory of Information Processing Science, Helsinki University of Technology, P.O. Box 5400, 02015 HUT, Espoo, FinlandView Profile Authors Info & Claims PODS '99: Proceedings of the eighteenth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systemsMay 1999 Pages 358–367https://doi.org/10.1145/303976.304011Online:01 May 1999Publication History 13citation341DownloadsMetricsTotal Citations13Total Downloads341Last 12 Months2Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access Lauri Malmi, Eljas Soisalon-Soininen |
PODS | 2 |
| 1997 | Relaxed Balanced Red-Black Trees
Sabine Hanke, Thomas Ottmann, Eljas Soisalon-Soininen |
CIAC | 3 |
| 1997 | Relaxed Balance for Search Trees with Local Rebalancing
Kim S. Larsen, Thomas Ottmann, Eljas Soisalon-Soininen |
ESA | 3 |
| 1997 | Relaxed Balance through Standard Rotations
Kim S. Larsen, Eljas Soisalon-Soininen, Peter Widmayer |
WADS | 2 |
| 1996 | Chromatic Binary Search Trees. A Structure for Concurrent Rebalancing
Otto Nurmi, Eljas Soisalon-Soininen |
Acta Informatica | 2 |
| 1996 | An Analysis of Magic Sets and Related Optimization Strategies for Logic QueriesabstractWe analyze the optimization effect of the “magic sets” rewriting technique for datalog queries and present some supplementary or alternative techniques that avoid many shortcomings of the basic technique. Given a magic sets rewritten query, the set of facts generated for the original, nonmagic predicates by the seminaive bottom-up evaluation is characterized precisely. It is shown that—because of the additional magic facts—magic sets processing may result in generating an order of magnitude more facts than the straightforward naive evaluation. A refinement of magic sets infactorized magic setsis defined. These magic sets retain most of the efficiency of original magic sets in regards to the number of nonmagic facts generated and have the property that a linear-time bound with respect to seminaive evaluation is guaranteed in all cases. An alternative technique for magic sets, calledenvelopes, which has several desirable properties over magic sets, is introduced. Envelope predicates are never recursive with the original predicates; thus, envelopes can be computed as a preprocessing task. Envelopes also allow the utilization of multiple sideways information passing strategies (sips) for a rule. An envelope-transformed program may be “readorned” according to another choice of sips and reoptimized by magic sets (or envelopes), thus making possible an optimization effect that cannot be achieved by magic sets based on a particular choice of sips. Seppo Sippu, Eljas Soisalon-Soininen |
J. ACM | 2 |
| 1996 | Concurrency Control in B-Trees with Batch UpdatesabstractIn many applications it is important to be able to insert (or delete) keys into a B-tree as a batch, instead of inserting them one by one. Moreover, it may be necessary to search the B-tree concurrently with the batch update. An example of this is a text database system supporting a newspaper house: all words (keys) of each article obtained from a news agency should be inserted at once, and, at the same time, searches for documents containing certain words should be allowed as efficiently as possible. We have designed two solutions to the problem of concurrent batch update. The first solution-implemented in our commercial text database system-optimizes the speed of the batch update, and the second solution optimizes the average search time during the batch update. Kerttu Pollari-Malmi, Eljas Soisalon-Soininen, Tatu Ylönen |
IEEE Trans. Knowl. Data Eng. | 2 |
| 1995 | Partial Strictness in Two-Phase Locking
Eljas Soisalon-Soininen, Tatu Ylönen |
ICDT | 1 |
| 1995 | Safety by Uninterpreted Locks
Georg Lausen, Eljas Soisalon-Soininen |
Inf. Comput. | 2 |
| 1994 | On Finding the Strongly Connected Components in a Directed Graph
Esko Nuutila, Eljas Soisalon-Soininen |
Inf. Process. Lett. | 2 |
| 1991 | Uncoupling Updating and Rebalancing in Chromatic Binary Search TreesabstractIn order to gain maximal efficiency of the concurrent use of search trees the number of nodes to be locked at a time should be as small aa possible, and the locks should be released aa soon aa possible.We propose a new rebalancing method for binary search treea that allows rebalancing to be uncoupled from updating, so as to make updating faster.The trees we use are obtained by relaxing the balance conditions of red-black trees.When not involved with updating, the rebalancing task can be performed as a shadow process being active all the time, or it can be performed outside rush hours, at night, for example.1. Otto Nurmi, Eljas Soisalon-Soininen |
PODS | 2 |
| 1990 | Multiple SIP Strategies and Bottom-Up Adorning in Logic Query Optimization
Seppo Sippu, Eljas Soisalon-Soininen |
ICDT | 2 |
| 1990 | Efficient Implementation of Loops in Bottom-Up Evaluation of Logic Queries
Juhani Kuittinen, Otto Nurmi, Seppo Sippu, Eljas Soisalon-Soininen |
VLDB | 4 |
| 1990 | On the Power of Safe Locking
Georg Lausen, Eljas Soisalon-Soininen, Peter Widmayer |
J. Comput. Syst. Sci. | 2 |
| 1988 | An Optimization Strategy for Recursive Queries in Logic DatabasesabstractConsiders the optimization of recursive database queries expressed in Datalog (function-free Horn clause programs). The authors present a general strategy for rewriting a Datalog program to cut down the number of database facts consulted in the bottom-up evaluation of queries containing bound arguments. The strategy can be interpreted as a preprocessing task in which an 'envelope' containing the facts relevant to the query is determined by computing an easily evaluable query, and then the original query is applied to facts belonging to this envelope, which usually is only a small subset of all facts. The strategy applies to any Datalog program, and there exists a variant of the basic strategy that always produces 'regular envelopes' that can be determined using a regularly recursive program.> Seppo Sippu, Eljas Soisalon-Soininen |
ICDE | 2 |
| 1988 | A Generalized Transitive Closure for Relational QueriesabstractWe augment relational algebra with a generalized transitive closure operator that allows for the efficient evaluation of a subclass of recursive queries. The operator is based on a composition operator which is as general as possible when the operator is required to be associative and when only relational algebra operators are used in its definition. The closure of such a composition can be computed using the well-known efficient algorithms designed for the computation of the usual transitive closure. Besides the case in which complete materialization of recursive relations are required, our strategy also yields an efficient solution in the case in which a selection is applied to the closure. Seppo Sippu, Eljas Soisalon-Soininen |
PODS | 2 |
| 1988 | Looping LR Parsers
Eljas Soisalon-Soininen, Jorma Tarhio |
Inf. Process. Lett. | 1 |
| 1987 | Efficient Evaluation for a Subset of Recursive QueriesabstractWell-known results on graph traversal are used to develop a practical, efficient algorithm for evaluating regularly and linearly recursive queries in databases that contain only binary relations. Transformations are given that reduce a subset of regular and linear queries involving n-ary relations (n > 2) to queries involving only binary relations. Gösta Grahne, Seppo Sippu, Eljas Soisalon-Soininen |
PODS | 3 |
| 1987 | Concurrency Control in Database Structures with Relaxed BalanceabstractWe consider the separation of rebalancing from updates in several database structures, such as B-trees for external and AVL-trees for internal structures. We show how this separation can be implemented such that rebalancing is performed by local background processes. Our solution implies that even simple locking schemes (without additional links and copies of certain nodes) for concurrency control are efficient in the sense that at any time only a small constant number of nodes must be locked. Otto Nurmi, Eljas Soisalon-Soininen, Derick Wood |
PODS | 2 |
| 1987 | Partitioning and separating sets of orthogonal polygons
Thomas Ottmann, Eljas Soisalon-Soininen, Derick Wood |
Inf. Sci. | 2 |
| 1986 | Towards Online Schedulers Based on Pre-Analysis Locking
Georg Lausen, Eljas Soisalon-Soininen, Peter Widmayer |
ICDT | 2 |
| 1986 | Pre-analysis Locking
Georg Lausen, Eljas Soisalon-Soininen, Peter Widmayer |
Inf. Control. | 2 |
| 1986 | A Note on Approximate Convex Hulls
Ivan Stojmenovic, Eljas Soisalon-Soininen |
Inf. Process. Lett. | 2 |
| 1985 | On the Use of Relational Expressions in the Design of Efficient Algorithms (Extended Abstract)
Seppo Sippu, Eljas Soisalon-Soininen |
ICALP | 2 |
| 1985 | Pre-Analysis Locking: A Safe and Deadlock Free Locking Policy
Georg Lausen, Eljas Soisalon-Soininen, Peter Widmayer |
VLDB | 2 |
| 1984 | The Complexity and Decidability of Separation
Bernard Chazelle, Thomas Ottmann, Eljas Soisalon-Soininen, Derick Wood |
ICALP | 3 |
| 1984 | Maximal Concurrency by LockingabstractThe purpose of a database concurrency control mechanism is to control a transaction system in such a way that only serializable executions of transactions are possible; that is, safety is enforced. Locking is an appropriate means to achieve safety. In this paper the following problem is considered:Can the set of all serializable schedules (in the sense of conflict-preserving serializability) of a transaction system be defined by locking, i.e., can maximal concurrency be achieved by locking?An efficient algorithm exists for the problem in the case of two-transaction systems, but in general the problem is NP-complete. In the case in which maximal concurrency indeed is achievable by locking a locking policy realizing maximal concurrency can be constructed efficiently. Finally, an easy-to-test sufficient condition under which maximal concurrency is achieved by locking is discussed. Georg Lausen, Eljas Soisalon-Soininen, Peter Widmayer |
PODS | 2 |
| 1984 | On the Complexity of Concurrency Control by Locking in Distributed Database Systems
Eljas Soisalon-Soininen, Peter Widmayer |
Inf. Control. | 1 |
| 1984 | On the Definition and Computation of Rectlinear Convex Hulls
Thomas Ottmann, Eljas Soisalon-Soininen, Derick Wood |
Inf. Sci. | 2 |
| 1983 | On Computing Approximate Convex Hulls
Eljas Soisalon-Soininen |
Inf. Process. Lett. | 1 |
| 1983 | The Complexity of LALR(k) TestingabstractThe problem of testing whether or not a context-free grammar possesses the LALR(k) property is studied.For each fixed integer k -> 1 (i e, only the subject grammar is a problem parameter) the problem ts shown to be complete for polynounal space (PSPACE) For free k (i.e., both the grammar and the integer k are problem parameters) the problem ~s shown to be PSPACE-complete when k is expressed m unary and complete for nondetermuustic one-level exponential tune (NE) when k is expressed in binary.The PSPACE-hardness results are obtained by a reduction from the l'mite automaton nonuniversality problem, whereas the upper bound results are obtained by an economic nondeterministic algorithm that uses only linear space when k is fixed and quadratic space when k is in unary.The lower bound result for fixed k > 1 is in contrast with the complexity of testing the membership in several other easily parsed classes of grammars, such as LR(k), SLK(k), LC(k), LL(k), and strong LL(k) grammars, for which determmlsUc polynomtal-tune tests are known.The upper-bound results for free k m turn demonstrate how the complexity of the membership testing problems is dominated by k: for k in unary LALR(k) testing is no harder (with respect to polynomml-ttme reductions) than LALR(I) testing, and for k in binary no harder than, for example, strong LL(k) testing (which is known to be NE-complete). Seppo Sippu, Eljas Soisalon-Soininen, Esko Ukkonen |
J. ACM | 2 |
| 1983 | On the Complexity of LL(k) Testing
Seppo Sippu, Eljas Soisalon-Soininen |
J. Comput. Syst. Sci. | 2 |
| 1983 | A Syntax-Error-Handling Technique and Its Experimental AnalysisabstractA syntax-error-handling technique is defined as an extension of LR parsing.The technique is automatic, and the generation of the error-handling algorithm is based only on the context-free grammar and the lexical description of the language.The heart of the algorithm is a "phrase-lever' error-recovery strategy, which is an improvement upon the basic strategy of Leinius.The notion of phrase-level recovery is further generalized such that "local correction" is included within the basic framework.Special attention is paid to diagnostic aspects, such as the generation of descriptive recovery-independent error messages.The technique has been implemented in the compiler-writing system HLP (Helsinki Language Processor).Promising experimental results have been obtained by testing the technique with erroneous student-written ALGOL and Pascal programs. Seppo Sippu, Eljas Soisalon-Soininen |
ACM Trans. Program. Lang. Syst. | 2 |
| 1982 | An Optimal Algorithm for Testing for Safety and Detecting Deadlocks in Locked Transaction SystemsabstractVarious notions are introduced for the closure of a set of rectilinearly oriented rectangles on the plane. Optimal algorithms are presented for computing the closures. These algorithms imply optimal solutions to several problems related to database concurrency control. Eljas Soisalon-Soininen, Derick Wood |
PODS | 1 |
| 1982 | Practical Error Recovery in LR ParsingabstractAn automatic syntax error handling technique applicable to LR parsing is presented and analyzed. The technique includes a "phrase-level" error recovery strategy augmented with certain additional features such as "local correction". Attention has also been paid to diagnostic aspects, i.e. the automatic generation of error message texts. The technique has been implemented in the compiler writing system HLP (Helsinki Language Processor), and some promising experimental results have been obtained by testing the technique with erroneous student-written Algol and Pascal programs. Seppo Sippu, Eljas Soisalon-Soininen |
POPL | 2 |
| 1982 | On a Covering Relation for Context-Free Grammars
Eljas Soisalon-Soininen, Derick Wood |
Acta Informatica | 1 |
| 1982 | On LL(k) Parsing
Seppo Sippu, Eljas Soisalon-Soininen |
Inf. Control. | 2 |
| 1982 | Inessential Error Entries and Their Use in LR Parser OptimizationabstractThe use of "default reductions" in implementing LR parsers is considered in conjunction with the desire to decrease the number of states of the parser by making use of "don't-care" (also called "inessential" ) error entries.Default reductions are those which are performed independently of the lookahead string when other operations do not apply, and their use can lead to substantial savings in space and time.Don't-care error entries of an LR parser are those which are never consulted, and thus they can be arbitrarily replaced by nonerror entries in order to make a state compatible with another one.Determining don't-care error entries is most important in avoiding the growth of the size of the parser when eliminating reductions by single productions, that is, productions for which the right-hand side is a single symbol.The use of default reductions diminishes don't-care error entries.This effect is analyzed by giving a necessary and sufficient condition for an error entry to be don't-care when default reductions are used.As an application, elimination of reductions by single productions in conjunction with the use of default reductions is considered. Eljas Soisalon-Soininen |
ACM Trans. Program. Lang. Syst. | 1 |
| 1981 | On LALR(1) Testing
Seppo Sippu, Eljas Soisalon-Soininen |
ICALP | 2 |
| 1981 | On Structural Similarity of Context-Free Grammars
Eljas Soisalon-Soininen, Derick Wood |
MFCS | 1 |
| 1981 | LALR(k) Testing is PSPACE-CompleteabstractThe problem of testing whether or not an arbitrary context-free grammar is LALR(k) for a fixed integer k ≥ 1 (i.e. only the subject grammar is a problem parameter) is shown to be PSPACE-complete. The result is in contrast with testing the membership in several other easily parsed classes of grammars, such as LR(k), SLR(k), LC(k) and LL(k) grammars, for which deterministic polynomial time membership tests are known. The PSPACE-hardness of the problem is proved using a transformation from the finite state automaton non-universality problem. A nondeterministic algorithm for constructing sets of LR(k) items leads to a polynomially space bounded algorithm for LALR(k) testing. Esko Ukkonen, Eljas Soisalon-Soininen |
STOC | 2 |
| 1980 | Characterizations of the LL(k) Property
Seppo Sippu, Eljas Soisalon-Soininen |
ICALP | 2 |
| 1980 | On the Space Optimizing Effect of Eliminating Single Productions from LR Parsers
Eljas Soisalon-Soininen |
Acta Informatica | 1 |
| 1980 | On Comparing LL(k) and LR(k) Grammars
Eljas Soisalon-Soininen |
Math. Syst. Theory | 1 |
| 1979 | Con Constructing LL(k) Parsers
Seppo Sippu, Eljas Soisalon-Soininen |
ICALP | 2 |
| 1979 | Ch(k) Grammars: A Characterization of LL(k) Languages
Anton Nijholt, Eljas Soisalon-Soininen |
MFCS | 2 |
| 1979 | A Method for Transforming Grammars into LL(k) Form
Eljas Soisalon-Soininen, Esko Ukkonen |
Acta Informatica | 1 |
| 1979 | On the Covering Problem for Left-Recursive Grammars
Eljas Soisalon-Soininen |
Theor. Comput. Sci. | 1 |
| 1977 | On Defining Error Recovery in Context-Free Parsing
Seppo Sippu, Eljas Soisalon-Soininen |
ICALP | 2 |
| 1977 | Elimination of Single Productions from LR Parsers in Conjunction with the Use of Default ReductionsabstractOne of the most attractive techniques in optimizing LR parsers is to eliminate reductions by semantically insignificant productions of the form A → X (single productions), where X is a nonterminal or a terminal; such a modification can lead to substantial savings in both space and time. Therefore, much effort has been devoted to the development of methods for eliminating reductions by single productions from LR parsers (Aho and Ullman [1973a,1973b], Anderson, Eve and Horning[1973], Pager[1973a,1974], Demers[1974,1975], Backhouse [1976], Joliat[1976], Koskimies[1976], LaLonde [1976], Soisalon-Soininen[1976]). Eljas Soisalon-Soininen |
POPL | 1 |
| 1976 | A Characterization of LL(k) Languages
Eljas Soisalon-Soininen, Esko Ukkonen |
ICALP | 1 |