Demo Data from EDBT 2026 / reviewers in the wild / expert
Tom Rothamel
dblp:02/4337
· DBLP profile ↗
10ranked-venue papers
3as first author
0since 2021 · last 2012
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 10 · 3 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.
| Software engineering, system software, and programming languages
3 papers |
Program analysis · 53% Programming languages and type systems · 24% Compilers and program optimization · 24% | |
| Databases, data mining, and information retrieval
2 papers |
Graph data management · 85% Query processing and optimization · 15% | |
| Theoretical computer science
1 paper |
Automated reasoning and model checking · 100% |
Topics — the 6 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis
incremental analysis |
0.1 | 2 | 2005 | Optimizing aggregate array computations in loops · ACM Trans. Program. Lang. Syst. 2005 Incrementalization across object abstraction · OOPSLA 2005 |
Compilers and program optimization
loop optimization |
0.1 | 1 | 2005 | Optimizing aggregate array computations in loops · ACM Trans. Program. Lang. Syst. 2005 |
Programming languages and type systems
object-oriented programming |
0.1 | 1 | 2005 | Incrementalization across object abstraction · OOPSLA 2005 |
Graph data management
graph query |
0.0 | 1 | 2004 | Parametric regular path queries · PLDI 2004 |
Graph data management › path query
regular path query |
0.0 | 1 | 2004 | Parametric regular path queries · PLDI 2004 |
Query processing and optimization
query optimization |
0.0 | 1 | 2005 | Incrementalization across object abstraction · OOPSLA 2005 |
Methods — techniques the papers use, named apart from their topics
program transformation · 0.1program analysis · 0.1inequality constraint solving · 0.1array data dependence analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2012 | Composing transformations for instrumentation and optimizationabstractWhen transforming programs for complex instrumentation and optimization, it is essential to understand the effect of the transformations, to best optimize the transformed programs, and to speedup the transformation process. This paper describes a powerful method for composing transformation rules to achieve these goals. Michael Gorbovitski, Yanhong A. Liu, Scott D. Stoller, Tom Rothamel |
PEPM | 4 |
| 2010 | Alias analysis for optimization of dynamic languagesabstractDynamic languages such as Python allow programs to be written more easily using high-level constructs such as comprehensions for queries and using generic code. Efficient execution of programs then requires powerful optimizations - incrementalization of expensive queries and specialization of generic code. Effective incrementalization and specialization of dynamic languages require precise and scalable alias analysis. Michael Gorbovitski, Yanhong A. Liu, Scott D. Stoller, Tom Rothamel, K. Tuncay Tekle |
DLS | 4 |
| 2008 | Generating incremental implementations of object-set queriesabstractHigh-level query constructs help greatly improve the clarity of programs and the productivity of programmers, and are being introduced to increasingly more languages. However, the use of high-level queries in programming languages can come at a cost to program efficiency, because these queries are expensive and may be computed repeatedly on slightly changed inputs. For efficient computation in practical applications, a powerful method is needed to incrementally maintain query results with respect to updates to query parameters. Tom Rothamel, Yanhong A. Liu |
GPCE | 1 |
| 2008 | Analysis and Transformations for Efficient Query-Based DebuggingabstractThis paper describes a framework that supports powerful queries in debugging tools, and describes in particular the transformations, alias analysis, and type analysis used to make the queries efficient. The framework allows queries over the states of all objects at any point in the execution as well as over the history of states. The transformations are based on incrementally maintaining the results of expensive queries studied in previous work. The alias analysis extends the flow-sensitive intraprocedural analysis to an efficient flow-sensitive interprocedural analysis for an object-oriented language with also a form of context sensitivity. We also show the power of the framework and the effectiveness of the analyses through case studies and experiments with XML DOM tree transformations, an FTP client, and others. We were able to easily determine the sources of all injected bugs, and we also found an actual bug in the case study on the FTP client. Michael Gorbovitski, K. Tuncay Tekle, Tom Rothamel, Scott D. Stoller, Yanhong A. Liu |
SCAM | 3 |
| 2007 | Efficient implementation of tuple pattern based retrievalabstractTuple pattern based retrieval is a language construct that matches a tuple pattern against a set of tuples to retrieve components of those tuples. This high-level abstraction allows programs to be written more easily and clearly than otherwise. This paper describes a clean and automatic method for transforming tuple pattern based retrievals into efficient implementations. The paper also presents two systems that implement the method, and describes successful experience and experiments in generating efficient implementations for graph algorithms, program analysis, security, and other applications. Tom Rothamel, Yanhong A. Liu |
PEPM | 1 |
| 2006 | Generating optimized code from SCR specificationsabstractA promising trend in software development is the increasing adoption of model-driven design. In this approach, a developer first constructs an abstract model of the required program behavior in a language, such as Statecharts or Stateflow, and then uses a code generator to automatically transform the model into an executable program. This approach has many advantages---typically, a model is not only more concise than code and hence more understandable, it is also more amenable to mechanized analysis. Moreover, automatic generation of code from a model usually produces code with fewer errors than hand-crafted code.One serious problem, however, is that a code generator may produce inefficient code. To address this problem, this paper describes a method for generating efficient code from SCR (Software Cost Reduction) specifications. While the SCR tabular notation and tools have been used successfully to specify, simulate, and verify numerous embedded systems, until now SCR has lacked an automated method for generating optimized code. This paper describes an efficient method for automatic code generation from SCR specifications, together with an implementation and an experimental evaluation. The method first synthesizes an execution-flow graph from the specification, then applies three optimizations to the graph, namely, input slicing, simplification, and output slicing, and then automatically generates code from the optimized graph. Experiments on seven benchmarks demonstrate that the method produces significant performance improvements in code generated from large specifications. Moreover, code generation is relatively fast, and the code produced is relatively compact. Tom Rothamel, Yanhong A. Liu, Constance L. Heitmeyer, Elizabeth I. Leonard |
LCTES | 1 |
| 2006 | Core role-based access control: efficient implementations by transformationsabstractThis paper describes a transformational method applied to the core component of role-based access control (RBAC), to derive efficient implementations from a specification based on the ANSI standard for RBAC. The method is based on the idea of incrementally maintaining the result of expensive set operations, where a new method is described and used for systematically deriving incrementalization rules. We calculate precise complexities for three variants of efficient implementations as well as for a straightforward implementation based on the specification. We describe successful prototypes and experiments for the efficient implementations and for automatically generating efficient implementations from straightforward implementations. Yanhong A. Liu, Michael Gorbovitski, Tom Rothamel, Yongxi Cheng, Yingchao Zhao 0001 |
PEPM | 4 |
| 2005 | Incrementalization across object abstractionabstractObject abstraction supports the separation of what operations are provided by systems and components from how the operations are implemented, and is essential in enabling the construction of complex systems from components. Unfortunately, clear and modular implementations have poor performance when expensive query operations are repeated, while efficient implementations that incrementally maintain these query results are much more difficult to develop and to understand, because the code blows up significantly, and is no longer clear or modular.This paper describes a powerful and systematic method that first allows the "what" of each component to be specified in a clear and modular fashion and implemented straightforwardly in an object-oriented language; then analyzes the queries and updates, across object abstraction, in the straightforward implementation; and finally derives the sophisticated and efficient "how" of each component by incrementally maintaining the results of repeated expensive queries with respect to updates to their parameters. Our implementation and experimental results for example applications in query optimization, role-based access control, etc. demonstrate the effectiveness and benefit of the method. Yanhong A. Liu, Scott D. Stoller, Michael Gorbovitski, Tom Rothamel, Yanni Ellen Liu |
OOPSLA | 4 |
| 2005 | Optimizing aggregate array computations in loopsabstractAn aggregate array computation is a loop that computes accumulated quantities over array elements. Such computations are common in programs that use arrays, and the array elements involved in such computations often overlap, especially across iterations of loops, resulting in significant redundancy in the overall computations. This article presents a method and algorithms that eliminate such overlapping aggregate array redundancies and shows analytical and experimental performance improvements. The method is based on incrementalization, that is, updating the values of aggregate array computations from iteration to iteration rather than computing them from scratch in each iteration. This involves maintaining additional values not maintained in the original program. We reduce various analysis problems to solving inequality constraints on loop variables and array subscripts, and we apply results from work on array data dependence analysis. For aggregate array computations that have significant redundancy, incrementalization produces drastic speedup compared to previous optimizations; when there is little redundancy, the benefit might be offset by cache effects and other factors. Previous methods for loop optimizations of arrays do not perform incrementalization, and previous techniques for loop incrementalization do not handle arrays. Yanhong A. Liu, Scott D. Stoller, Tom Rothamel |
ACM Trans. Program. Lang. Syst. | 4 |
| 2004 | Parametric regular path queriesabstractRegular path queries are a way of declaratively expressing queries on graphs as regular-expression-like patterns that are matched against paths in the graph. There are two kinds of queries: existential queries, which specify properties about individual paths, and universal queries, which specify properties about all paths. They provide a simple and convenient framework for expressing program analyses as queries on graph representations of programs, for expressing verification (model-checking) problems as queries on transition systems, for querying semi-structured data, etc. Parametric regular path queries extend the patterns with variables, called parameters, which significantly increase the expressiveness by allowing additional information along single or multiple paths to be captured and relate.This paper shows how a variety of program analysis and model-checking problems can be expressed easily and succinctly using parametric regular path queries. The paper describes the specification, design, analysis, and implementation of algorithms and data structures for efficiently solving existential and universal parametric regular path queries. Major contributions include the first complete algorithms and data structures for directly and efficiently solving existential and universal parametric regular path queries, detailed complexity analysis of the algorithms, detailed analytical and experimental performance comparison of variations of the algorithms and data structures, and investigation of efficiency tradeoffs between different formulations of queries. Yanhong A. Liu, Tom Rothamel, Fuxiang Yu, Scott D. Stoller, Nanjun Hu |
PLDI | 2 |