Seppo Sippu

dblp:69/6554 · DBLP profile ↗
← Back
30ranked-venue papers
17as first author
0since 2021 · last 2015
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 14 · 4 first-authorTheory of computation · 11 · 9 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 2 first-author

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
10 papers
Transaction processing and concurrency control · 45% Indexing and storage engines · 31% Data stream processing · 14%
Theoretical computer science
10 papers
Automata and formal languages · 75% Logic in computer science · 10% Graph algorithms and graph theory · 6%

Topics — the 30 heaviest of 39, 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
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
concurrent b-tree
0.112006
B-tree concurrency control and recovery in page-server database systems · ACM Trans. Database Syst. 2006
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
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
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
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
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
Derivational Complexity of Context-Free Grammars · Inf. Control. 1982
Characterizations of the LL(k) Property · ICALP 1980
Database theory
datalog evaluation
0.011988
An Optimization Strategy for Recursive Queries in Logic Databases · ICDE 1988
Query processing and optimization › recursive query
recursive query optimization
0.011988
An Optimization Strategy for Recursive Queries in Logic Databases · ICDE 1988
Data models and query languages
relational algebra
0.011988
A Generalized Transitive Closure for Relational Queries · PODS 1988
Query processing and optimization › recursive query
transitive closure
0.011988
A Generalized Transitive Closure for Relational Queries · PODS 1988
Compilers and program optimization › parsing
LR parsing
0.021983
A Syntax-Error-Handling Technique and Its Experimental Analysis · ACM Trans. Program. Lang. Syst. 1983
Practical Error Recovery in LR Parsing · POPL 1982
Compilers and program optimization
parsing
0.021983
A Syntax-Error-Handling Technique and Its Experimental Analysis · ACM Trans. Program. Lang. Syst. 1983
Practical Error Recovery in LR Parsing · POPL 1982
Query processing and optimization
query rewriting
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
sideways information passing
0.011996
An Analysis of Magic Sets and Related Optimization Strategies for Logic Queries · J. ACM 1996
Automata and formal languages › parsing
context-free grammar parsing
0.031981
On LALR(1) Testing · ICALP 1981
Con Constructing LL(k) Parsers · ICALP 1979
On Defining Error Recovery in Context-Free Parsing · ICALP 1977
Query processing and optimization
recursive query
0.011987
Efficient Evaluation for a Subset of Recursive Queries · PODS 1987
Debugging and program repair
error diagnosis
0.011982
Practical Error Recovery in LR Parsing · POPL 1982
Compilers and program optimization › parsing
syntax error recovery
0.011982
Practical Error Recovery in LR Parsing · POPL 1982
Automata and formal languages › formal grammars
derivational complexity
0.011982
Derivational Complexity of Context-Free Grammars · Inf. Control. 1982

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.1graph traversal algorithms · 0.0reduction from finite automaton nonuniversality · 0.0top-down parsing · 0.0phrase-level error recovery · 0.0local correction · 0.0grammar analysis · 0.0
YearPublicationVenuePosition
2015 Experimental Analysis of an Online Dictionary Matching Algorithm for Regular Expressions with Gaps
Riku Saikkonen, Seppo Sippu, Eljas Soisalon-Soininen
SEA2
2013 Online Matching of Multiple Regular Patterns with Gaps and Character Classes
Seppo Sippu, Eljas Soisalon-Soininen
LATA1
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.3
2011 Online Dictionary Matching with Variable-Length Gaps
Tuukka Haapasalo, Panu Silvasti, Seppo Sippu, Eljas Soisalon-Soininen
SEA3
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
EDBT4
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
EDBT2
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
IDEAS2
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.2
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
ICDE3
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.2
2005 Concurrency control and recovery for balanced B-link trees
Ibrahim Jaluta, Seppo Sippu, Eljas Soisalon-Soininen
VLDB J.2
2001 A Theory of Transactions on Recoverable Search Trees
Seppo Sippu, Eljas Soisalon-Soininen
ICDT1
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. ACM1
1990 Multiple SIP Strategies and Bottom-Up Adorning in Logic Query Optimization
Seppo Sippu, Eljas Soisalon-Soininen
ICDT1
1990 Efficient Implementation of Loops in Bottom-Up Evaluation of Logic Queries
Juhani Kuittinen, Otto Nurmi, Seppo Sippu, Eljas Soisalon-Soininen
VLDB3
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
ICDE1
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
PODS1
1988 The Design of a Language Processor Generator
abstract
Abstract Language processor generators are systems that produce various language processors (including compilers) on the basis of a high‐level specification. The design of language processor generators is discussed on the basis of experiments with a traditional compiler writing system (HLP78) employing pore LALR parsing and general attribute grammars. It is argued that these methods are too primitive from the practical point of view. The design of a new language processor generator, HLP84, is based on this view. This system is an attempt to provide high‐level tools for a restricted class of applications (one‐pass analysis). The syntactic facilities include regular expressions on the right‐hand sides of productions, a disambiguating mechanism that is integrated with regular expressions, and a mechanism for using semantic information to aid parsing. The semantic facilities include automatic support for semantic error handling and for symbol tables. Early experiences with the new system show that in spite of the general overhead caused by the higher automation level, the system allows the generation of reasonably efficient processors.
Kai Koskimies, Otto Nurmi, Jukka Paakki, Seppo Sippu
Softw. Pract. Exp.4
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
PODS2
1985 On the Use of Relational Expressions in the Design of Efficient Algorithms (Extended Abstract)
Seppo Sippu, Eljas Soisalon-Soininen
ICALP1
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. ACM1
1983 On the Complexity of LL(k) Testing
Seppo Sippu, Eljas Soisalon-Soininen
J. Comput. Syst. Sci.1
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.1
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
POPL1
1982 Derivational Complexity of Context-Free Grammars
Seppo Sippu
Inf. Control.1
1982 On LL(k) Parsing
Seppo Sippu, Eljas Soisalon-Soininen
Inf. Control.1
1981 On LALR(1) Testing
Seppo Sippu, Eljas Soisalon-Soininen
ICALP1
1980 Characterizations of the LL(k) Property
Seppo Sippu, Eljas Soisalon-Soininen
ICALP1
1979 Con Constructing LL(k) Parsers
Seppo Sippu, Eljas Soisalon-Soininen
ICALP1
1977 On Defining Error Recovery in Context-Free Parsing
Seppo Sippu, Eljas Soisalon-Soininen
ICALP1