Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Eljas Soisalon-Soininen

dblp:19/6819 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Transaction processing and concurrency control
recovery
0.222013
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.212013
On the Recovery of R-Trees · IEEE Trans. Knowl. Data Eng. 2013
Data stream processing
publish/subscribe
0.112008
XML-document-filtering automaton · Proc. VLDB Endow. 2008
Data stream processing › XML stream processing
XML filtering
0.112008
XML-document-filtering automaton · Proc. VLDB Endow. 2008
Indexing and storage engines › b-tree
concurrent b-tree
0.122006
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.112007
Online Bulk Deletion · ICDE 2007
Transaction processing and concurrency control › concurrency control › locking
key-range locking
0.112007
Online Bulk Deletion · ICDE 2007
Transaction processing and concurrency control › concurrency control › locking
multi-granularity locking
0.112007
Online Bulk Deletion · ICDE 2007
Indexing and storage engines › b-tree
b-link tree
0.112005
Concurrency control and recovery for balanced B-link trees · VLDB J. 2005
Transaction processing and concurrency control
concurrency control and recovery
0.112005
Concurrency control and recovery for balanced B-link trees · VLDB J. 2005
Concurrent programming › synchronization
locking
0.031995
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.011999
Group Updates for Relaxed Height-Balanced Trees · PODS 1999
Algorithms and data structures › data structure design › search structures › search trees
balanced trees
0.011999
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.011999
Group Updates for Relaxed Height-Balanced Trees · PODS 1999
Transaction processing and concurrency control
concurrency control
0.031996
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.021996
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.012006
B-tree concurrency control and recovery in page-server database systems · ACM Trans. Database Syst. 2006
Indexing and storage engines
batch update
0.011996
Concurrency Control in B-Trees with Batch Updates · IEEE Trans. Knowl. Data Eng. 1996
Data models and query languages › datalog
datalog query optimization
0.011996
An Analysis of Magic Sets and Related Optimization Strategies for Logic Queries · J. ACM 1996
Database theory › deductive database
logic queries
0.011996
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.011996
An Analysis of Magic Sets and Related Optimization Strategies for Logic Queries · J. ACM 1996
Transaction processing and concurrency control › concurrency control
locking
0.041987
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.021991
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.021988
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.011991
Uncoupling Updating and Rebalancing in Chromatic Binary Search Trees · PODS 1991
Concurrent programming › concurrent data structures
concurrent search tree
0.011991
Uncoupling Updating and Rebalancing in Chromatic Binary Search Trees · PODS 1991
Database theory › datalog evaluation
bottom-up evaluation
0.011990
Efficient Implementation of Loops in Bottom-Up Evaluation of Logic Queries · VLDB 1990
Automata and formal languages › formal grammars
context-free grammar
0.031983
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.031983
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.011988
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
YearPublicationVenuePosition
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-joins
abstract
Abstract 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 chairs
abstract
Since 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
ICDE5
2016 Cache-Sensitive Memory Layout for Dynamic Binary Trees
abstract
We 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
SEA3
2013 Online Matching of Multiple Regular Patterns with Gaps and Character Classes
Seppo Sippu, Eljas Soisalon-Soininen
LATA2
2013 On the Recovery of R-Trees
abstract
We 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
ISAAC2
2011 Online Dictionary Matching with Variable-Length Gaps
Tuukka Haapasalo, Panu Silvasti, Seppo Sippu, Eljas Soisalon-Soininen
SEA4
2009 Transactions on the multiversion B+-tree
abstract
The 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
EDBT5
2009 Schema-conscious filtering of XML documents
abstract
In 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
EDBT3
2009 Concurrent updating transactions on versioned data
abstract
Modern 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
IDEAS4
2009 Bulk-Insertion Sort: Towards Composite Measures of Presortedness
Riku Saikkonen, Eljas Soisalon-Soininen
SEA2
2008 XML-document-filtering automaton
abstract
In 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
DEXA2
2007 Online Bulk Deletion
abstract
We 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
ICDE4
2006 B-tree concurrency control and recovery in page-server database systems
abstract
We 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
SPIRE2
2004 On Classification of Strings
Eljas Soisalon-Soininen, Tatu Ylönen
SPIRE1
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
SIROCCO2
2001 A Theory of Transactions on Recoverable Search Trees
Seppo Sippu, Eljas Soisalon-Soininen
ICDT2
2001 Relaxed balance for search trees with local rebalancing
Kim S. Larsen, Thomas Ottmann, Eljas Soisalon-Soininen
Acta Informatica3
2001 Relaxed Balance Using Standard Rotations
Kim S. Larsen, Eljas Soisalon-Soininen, Peter Widmayer
Algorithmica2
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
CIAC2
2000 Concurrency Control for B-Trees with Differential Indices
abstract
We 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
IDEAS3
1999 Group Updates for Relaxed Height-Balanced Trees
abstract
Article 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
PODS2
1997 Relaxed Balanced Red-Black Trees
Sabine Hanke, Thomas Ottmann, Eljas Soisalon-Soininen
CIAC3
1997 Relaxed Balance for Search Trees with Local Rebalancing
Kim S. Larsen, Thomas Ottmann, Eljas Soisalon-Soininen
ESA3
1997 Relaxed Balance through Standard Rotations
Kim S. Larsen, Eljas Soisalon-Soininen, Peter Widmayer
WADS2
1996 Chromatic Binary Search Trees. A Structure for Concurrent Rebalancing
Otto Nurmi, Eljas Soisalon-Soininen
Acta Informatica2
1996 An Analysis of Magic Sets and Related Optimization Strategies for Logic Queries
abstract
We 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. ACM2
1996 Concurrency Control in B-Trees with Batch Updates
abstract
In 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
ICDT1
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 Trees
abstract
In 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
PODS2
1990 Multiple SIP Strategies and Bottom-Up Adorning in Logic Query Optimization
Seppo Sippu, Eljas Soisalon-Soininen
ICDT2
1990 Efficient Implementation of Loops in Bottom-Up Evaluation of Logic Queries
Juhani Kuittinen, Otto Nurmi, Seppo Sippu, Eljas Soisalon-Soininen
VLDB4
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 Databases
abstract
Considers 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
ICDE2
1988 A Generalized Transitive Closure for Relational Queries
abstract
We 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
PODS2
1988 Looping LR Parsers
Eljas Soisalon-Soininen, Jorma Tarhio
Inf. Process. Lett.1
1987 Efficient Evaluation for a Subset of Recursive Queries
abstract
Well-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
PODS3
1987 Concurrency Control in Database Structures with Relaxed Balance
abstract
We 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
PODS2
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
ICDT2
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
ICALP2
1985 Pre-Analysis Locking: A Safe and Deadlock Free Locking Policy
Georg Lausen, Eljas Soisalon-Soininen, Peter Widmayer
VLDB2
1984 The Complexity and Decidability of Separation
Bernard Chazelle, Thomas Ottmann, Eljas Soisalon-Soininen, Derick Wood
ICALP3
1984 Maximal Concurrency by Locking
abstract
The 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
PODS2
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) Testing
abstract
The 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. ACM2
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 Analysis
abstract
A 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 Systems
abstract
Various 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
PODS1
1982 Practical Error Recovery in LR Parsing
abstract
An 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
POPL2
1982 On a Covering Relation for Context-Free Grammars
Eljas Soisalon-Soininen, Derick Wood
Acta Informatica1
1982 On LL(k) Parsing
Seppo Sippu, Eljas Soisalon-Soininen
Inf. Control.2
1982 Inessential Error Entries and Their Use in LR Parser Optimization
abstract
The 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
ICALP2
1981 On Structural Similarity of Context-Free Grammars
Eljas Soisalon-Soininen, Derick Wood
MFCS1
1981 LALR(k) Testing is PSPACE-Complete
abstract
The 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
STOC2
1980 Characterizations of the LL(k) Property
Seppo Sippu, Eljas Soisalon-Soininen
ICALP2
1980 On the Space Optimizing Effect of Eliminating Single Productions from LR Parsers
Eljas Soisalon-Soininen
Acta Informatica1
1980 On Comparing LL(k) and LR(k) Grammars
Eljas Soisalon-Soininen
Math. Syst. Theory1
1979 Con Constructing LL(k) Parsers
Seppo Sippu, Eljas Soisalon-Soininen
ICALP2
1979 Ch(k) Grammars: A Characterization of LL(k) Languages
Anton Nijholt, Eljas Soisalon-Soininen
MFCS2
1979 A Method for Transforming Grammars into LL(k) Form
Eljas Soisalon-Soininen, Esko Ukkonen
Acta Informatica1
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
ICALP2
1977 Elimination of Single Productions from LR Parsers in Conjunction with the Use of Default Reductions
abstract
One 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
POPL1
1976 A Characterization of LL(k) Languages
Eljas Soisalon-Soininen, Esko Ukkonen
ICALP1