EDBT 2026 Demo / reviewers in the wild / expert
Stephen C. Johnson
dblp:68/3523
· DBLP profile ↗
15ranked-venue papers
6as first author
0since 2021 · last 2007
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 3 first-authorTheory of computation · 3Applied, interdisciplinary, general and emerging computing · 3 · 1 first-authorSystems, architecture and hardware · 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.
| Software engineering, system software, and programming languages
10 papers |
Programming languages and type systems · 80% Compilers and program optimization · 20% | |
| Theoretical computer science
7 papers |
Algorithms and data structures · 98% Computational complexity · 2% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Electronic design automation · 100% |
Topics — the 15 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization
code generation |
0.0 | 6 | 1983 | Code Generation for Expressions with Common Subexpressions · J. ACM 1977 Code Generation for Machines with Multiregister Operations · POPL 1977 Optimal Code Generation for Expression Trees · J. ACM 1976 |
Compilers and program optimization › code generation
optimal code generation |
0.0 | 3 | 1977 | Code Generation for Machines with Multiregister Operations · POPL 1977 Optimal Code Generation for Expression Trees · J. ACM 1976 Code Generation for Expressions with Common Subexpressions · POPL 1976 |
Electronic design automation
logic synthesis |
0.0 | 1 | 1983 | Code Generation for Silicon · POPL 1983 |
Electronic design automation › high-level synthesis › hardware compilation
silicon compilation |
0.0 | 1 | 1983 | Code Generation for Silicon · POPL 1983 |
Compilers and program optimization › compiler optimization › redundancy elimination
common subexpression elimination |
0.0 | 2 | 1977 | Code Generation for Expressions with Common Subexpressions · J. ACM 1977 Code Generation for Expressions with Common Subexpressions · POPL 1976 |
Compilers and program optimization
optimizing compiler |
0.0 | 1 | 1981 | Position Paper on Optimizing Compilers · POPL 1981 |
Compilers and program optimization › code generation › instruction selection
expression tree code generation |
0.0 | 2 | 1976 | Optimal Code Generation for Expression Trees · J. ACM 1976 Optimal Code Generation for Expression Trees · STOC 1975 |
Algorithms and data structures
dynamic programming |
0.0 | 2 | 1976 | Optimal Code Generation for Expression Trees · J. ACM 1976 Optimal Code Generation for Expression Trees · STOC 1975 |
Compilers and program optimization › compiler construction
retargetable compilation |
0.0 | 1 | 1978 | A Portable Compiler: Theory and Practice · POPL 1978 |
Compilers and program optimization
register allocation |
0.0 | 1 | 1977 | Code Generation for Machines with Multiregister Operations · POPL 1977 |
Algorithms and data structures
symbolic computation |
0.0 | 2 | 1973 | On the Problem of Recognizing Zero · J. ACM 1971 Analysis of Algorithms, a Case Study: Determinants of Polynomials · STOC 1973 |
Compilers and program optimization
parsing |
0.0 | 1 | 1973 | Deterministic Parsing of Ambiguous Grammars · POPL 1973 |
Algorithms and data structures › symbolic computation › computational algebra
algebraic algorithms |
0.0 | 1 | 1973 | Analysis of Algorithms, a Case Study: Determinants of Polynomials · STOC 1973 |
Algorithms and data structures
analysis of algorithms |
0.0 | 1 | 1973 | Analysis of Algorithms, a Case Study: Determinants of Polynomials · STOC 1973 |
Algorithms and data structures › numerical linear algebra
determinant computation |
0.0 | 1 | 1973 | Analysis of Algorithms, a Case Study: Determinants of Polynomials · STOC 1973 |
Methods — techniques the papers use, named apart from their topics
programming languages · 0.1data structures · 0.1algorithm · 0.1dynamic programming · 0.0worst-case analysis · 0.0heuristics · 0.0computational complexity analysis · 0.0linear-time optimal code generation · 0.0gaussian elimination · 0.0expansion by minors · 0.0context-free grammar · 0.0ambiguity resolution · 0.0exponentiation · 0.0differentiation · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2007 | Programming Languages
Stephen C. Johnson |
USENIX ATC | 1 |
| 2006 | Algorithms and Data Structures for the 21st Century
Stephen C. Johnson |
USENIX ATC, General Track | 1 |
| 1984 | Design synthesis in VLSI and software engineering
Robert Cuykendall, Antun Domic, William H. Joyner, Stephen C. Johnson, Steven H. Kelem, Dennis McBride, Jack Mostow, John E. Savage, Gabriele Saucier |
J. Syst. Softw. | 4 |
| 1983 | Code Generation for SiliconabstractCompiler writers facea bleak future---soon everyone will be using Ada on the Nebula Architecture and there will be no further need for our services. Luckily, it appears to be possible to recycle compiler writers by encouraging them to build circuit design tools (Silicon Compilers). Many of the standard techniques used in compilers can be immediately applied in circuit design, especially for LSI circuits. In part, this paper attempts to serve as a tutorial, casting some of the problems of designing in nMOS with the Mead-Conway design rules into the vocabulary of the compiler writer. The paper also discusses experience with a Silicon compiler that has fabricated over two dozen different designs. Stephen C. Johnson |
POPL | 1 |
| 1981 | Position Paper on Optimizing CompilersabstractNo abstract available. Stephen C. Johnson |
POPL | 1 |
| 1978 | A Portable Compiler: Theory and PracticeabstractA compiler for the C language has recently been constructed which is now compiling C for about half a dozen machines. The compiler was influenced in various ways by recent theoretical developments. This paper gives an overview of the compiler structure and algorithms, emphasizing those areas where theory was helpful, and discussing the approaches taken where theory was lacking. Stephen C. Johnson |
POPL | 1 |
| 1977 | Code Generation for Machines with Multiregister OperationsabstractPrevious work on optimal code generation has usually assumed that the underlying machine has identical registers and that all operands fit in a single register or memory location. This paper considers the more realistic problem of generating optimal code for expressions involving single and double length operands, using several models of register-pair machines permitting both single and double word instructions. With register-pair machines a new phenomenom arises that is not present in optimal code generation for single register machines: In an optimal evaluation of an expression it may be necessary to oscillate back and forth between evaluating subexpressions of the expression.A linear-time optimal code generation algorithm is derived for a register-pair machine in which all registers are interchangeable. The algorithm is based on showing that for this model there is an optimal evaluation sequence with limited oscillation between the sub-trees dominated by the children of a given node. For other machine models including the familiar even-odd register-pair machine, optimal evaluation sequences can always require unlimited oscillation. Alfred V. Aho, Stephen C. Johnson, Jeffrey D. Ullman |
POPL | 2 |
| 1977 | Code Generation for Expressions with Common SubexpressionsabstractThis paper shows the problem of generating optimal code for expressions containing common subexpressions is computationally difficult, even for simple expressions and simple machines. Some heuristics for code generation are given and their worst-case behavior is analyzed. For one register machines, an optimal code generation algorithm is given whose time complexity is linear in the size of an expression and exponential only in the amount of sharing. Alfred V. Aho, Stephen C. Johnson, Jeffrey D. Ullman |
J. ACM | 2 |
| 1976 | Code Generation for Expressions with Common SubexpressionsabstractEasy as the task may seem, many compilers generate rather inefficient code. Some of the difficulty of generating good code may arise from the lack of realistic models for programming language and machine semantics. In this paper we show that the computational complexity of generating efficient code in realistic situations may also be a major cause of difficulty in the design of good compilers. Alfred V. Aho, Stephen C. Johnson, Jeffrey D. Ullman |
POPL | 2 |
| 1976 | Optimal Code Generation for Expression TreesabstractThis paper discusses algorithms which transform expression trees into code for register machines. A necessary and sufficient condition for optimality of such an algorithm is derived, which applies to a broad class of machines. A dynamic programming algorithm is then presented which produces optimal code for any machine in this class; this algorithm runs in time linearly proportional to the size of the input. Alfred V. Aho, Stephen C. Johnson |
J. ACM | 2 |
| 1976 | Analysis of Algorithms, A Case Study: Determinants of Matrices with Polynomial EntriesabstractThe problem of computing the deternunant of a matrix of polynomials IS considered; two algo. rithms (expansion by minors and expansion by Gaussian ehmmatmn) are compared; and each is examined under two models for polynomial computatmn (dense univanate and totally sparse). The results, while interesting in themselves, also serve to display two points: (1) Asymptotic results are sometimes misleading for noninfimte (e.g. practical) problems. (2) Models of computa-tion are by definition simplifications of reahty: algorithmic analysis should be carried out under several distract computatmnal models and should be supported by empirical data. Key Words and Phrases: symbohc algebraic computation, analysm of algorithms, determinants of polynomial matrices W. Morven Gentleman, Stephen C. Johnson |
ACM Trans. Math. Softw. | 2 |
| 1975 | Optimal Code Generation for Expression TreesabstractWe discuss the problem of generating code for a wide class of machines, restricting ourselves to the computation of expression trees. After defining a broad class of machines and discussing the properties of optimal programs on these machines, we derive a necessary and sufficient condition which can be used to prove the optimality of any code generation algorithm for expression trees on this class. We then present a dynamic programming algorithm which produces optimal code for any machine in the class; this algorithm runs in time which is linearly proportional to the number of vertices in an expression tree. Alfred V. Aho, Stephen C. Johnson |
STOC | 2 |
| 1973 | Deterministic Parsing of Ambiguous GrammarsabstractWe consider methods of describing the syntax of programming languages in ways that are more flexible and natural than conventional BNF descriptions. These methods involve the use of ambiguous context-free grammars together with rules to resolve syntactic ambiguities. We show how efficient LL and LR parsers can be constructed directly from certain classes of these specifications. Alfred V. Aho, Stephen C. Johnson, Jeffrey D. Ullman |
POPL | 2 |
| 1973 | Analysis of Algorithms, a Case Study: Determinants of PolynomialsabstractWe consider the problem of computing the determinant of a matrix of polynomials; we compare two algorithms (expansion by minors and Gaussian elimination), examining each under two models for polynomial computation (dense univariate and totally sparse). The results, while interesting in themselves, also serve to display two points: W. Morven Gentleman, Stephen C. Johnson |
STOC | 2 |
| 1971 | On the Problem of Recognizing ZeroabstractThe problem of recognizing when a complicated mathematical expression equals zero has great importance in symbolic mathematics.This paper gives two algorithms which can be applied to many such problems, and discusses a concrete example.The algorithms are based on the recognition that many interesting functions (such as exponentiation) are eigenvectors of well studied transformations (such as differentiation). Stephen C. Johnson |
J. ACM | 1 |