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

Todd B. Knoblock

dblp:06/4003 · DBLP profile ↗
← Back
7ranked-venue papers
4as first author
0since 2021 · last 2001
—ORCID · none

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

Software engineering, systems software and programming languages · 4 · 3 first-authorArtificial intelligence and machine learning · 1Graphics, computer vision, multimedia, augmented reality and games · 1Human-computer interaction and ubiquitous computing · 1Theory of computation · 1 · 1 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
4 papers
Programming languages and type systems · 57% Compilers and program optimization · 43%
Computer graphics and multimedia
1 paper
Rendering · 100%
Theoretical computer science
1 paper
Logic in computer science · 50% Automated reasoning and model checking · 50%

Topics — the 10 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
bytecode verification
0.012001
Type elaboration and subtype completion for Java bytecode · ACM Trans. Program. Lang. Syst. 2001
Programming languages and type systems › type systems
subtyping
0.012001
Type elaboration and subtype completion for Java bytecode · ACM Trans. Program. Lang. Syst. 2001
Programming languages and type systems
type inference
0.012001
Type elaboration and subtype completion for Java bytecode · ACM Trans. Program. Lang. Syst. 2001
Compilers and program optimization › intermediate representation
bytecode
0.012000
Type Elaboration and Subtype Completion for Java Bytecode · POPL 2000
Compilers and program optimization › intermediate representation › bytecode
java bytecode
0.012000
Type Elaboration and Subtype Completion for Java Bytecode · POPL 2000
Programming languages and type systems
type systems
0.012000
Type Elaboration and Subtype Completion for Java Bytecode · POPL 2000
Compilers and program optimization
partial evaluation
0.011996
Data Specialization · PLDI 1996
Compilers and program optimization
program specialization
0.011995
Specializing shaders · SIGGRAPH 1995
Automated reasoning and model checking › automated reasoning
metareasoning
0.011986
Formalized Metareasoning in Type Theory · LICS 1986
Logic in computer science
type theory
0.011986
Formalized Metareasoning in Type Theory · LICS 1986

Methods — techniques the papers use, named apart from their topics

partial evaluation · 0.0type inference · 0.0dynamic compilation · 0.0formalization · 0.0
YearPublicationVenuePosition
2001 Type elaboration and subtype completion for Java bytecode
abstract
Java source code is strongly typed, but the translation from Java source to bytecode omits much of the type information originally contained within methods. Type elaboration is a technique for reconstructing strongly typed programs from incompletely typed bytecode by inferring types for local variables. There are situations where, technically, there are not enough types in the original type hierarchy to type a bytecode program. Subtype completion is a technique for adding necessary types to an arbitrary type hierarchy to make type elaboration possible for all verifiable Java bytecode. Type elaboration with subtype completion has been implemented as part of the Marmot Java compiler.
Todd B. Knoblock, Jakob Rehof
ACM Trans. Program. Lang. Syst.1
2000 Type Elaboration and Subtype Completion for Java Bytecode
abstract
Java source code is strongly typed, but the translation from Java source to bytecode omits much of the type information originally contained within methods. Type elaboration is a technique for reconstructing strongly typed programs from incompletely typed bytecode by inferring types for local variables.
Todd B. Knoblock, Jakob Rehof
POPL1
2000 Marmot: an optimizing compiler for Java
abstract
The Marmot system is a research platform for studying the implementation of high level programming languages. It currently comprises an optimizing native-code compiler, runtime system, and libraries for a large subset of Java. Marmot integrates well-known representation, optimization, code generation, and runtime techniques with a few Java-specific features to achieve competitive performance. This paper contains a description of the Marmot system design, along with highlights of our experience applying and adapting traditional implementation techniques to Java. A detailed performance evaluation assesses both Marmot's overall performance relative to other Java and C++ implementations, and the relative costs of various Java language features in Marmot-compiled code. Our experience with Marmot has demonstrated that well-known compilation techniques can produce very good performance for static Java applications – comparable or superior to other Java systems, and approaching that of C++ in some cases. Copyright © 2000 John Wiley & Sons, Ltd.
Robert P. Fitzgerald, Todd B. Knoblock, Erik Ruf, Bjarne Steensgaard, David Tarditi
Softw. Pract. Exp.2
1996 Data Specialization
abstract
Given a repeated computation, part of whose input context remains invariant across all repetitions, program staging improves performance by separating the computation into two phases. An early phase executes only once, performing computations depending only on invariant inputs, while a late phase repeatedly performs the remainder of the work given the varying inputs and the results of the early computations.Common staging techniques based on dynamic compilation statically construct an early phase that dynamically generates object code customized for a particular input context. In effect, the results of the invariant computations are encoded as the compiled code for the late phase.This paper describes an alternative approach in which the results of early computations are encoded as a data structure, allowing both the early and late phases to be generated statically. By avoiding dynamic code manipulation, we give up some optimization opportunities in exchange for significantly lower dynamic space/time overhead and reduced implementation complexity.
Todd B. Knoblock, Erik Ruf
PLDI1
1995 Specializing shaders
abstract
We have developed a system for interactive manipulation of shading parameters for three dimensional rendering.The system takes as input user-defined shaders, written in a subset of C, which are then specialized for interactive use.Since users typically experiment with different values of a single shader parameter while leaving the others constant, we can benefit by automatically generating a specialized shader that performs only those computations depending on the parameter being varied; all other values needed by the shader can be precomputed and cached.The specialized shaders are as much as 95 times faster than the original user defined shader.This dramatic improvement in speed makes it possible to interactively view parameter changes for relatively complex shading models, such as procedural solid texturing.
Brian K. Guenter, Todd B. Knoblock, Erik Ruf
SIGGRAPH2
1986 Formalized Metareasoning in Type Theory
Todd B. Knoblock, Robert L. Constable
LICS1
1985 Writing Programs that Construct Proofs
Robert L. Constable, Todd B. Knoblock, Joseph L. Bates
J. Autom. Reason.2