Demo Data from EDBT 2026 / reviewers in the wild / expert
Paul N. Hilfinger
dblp:46/5457
· DBLP profile ↗
14ranked-venue papers
2as first author
0since 2021 · last 2002
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 7Software engineering, systems software and programming languages · 6 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2Artificial intelligence and machine learning · 1Human-computer interaction and ubiquitous computing · 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
7 papers |
Compilers and program optimization · 58% Programming languages and type systems · 28% Program analysis · 7% | |
| Computer architecture, parallel and distributed computing, and storage systems
7 papers |
Embedded and real-time systems · 28% Electronic design automation · 22% Processor architecture and microarchitecture · 18% | |
| Theoretical computer science
1 paper |
Mathematical optimization · 100% |
Topics — the 29 heaviest of 32, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › loop optimization
array contraction |
0.0 | 1 | 2002 | Better tiling and array contraction for compiling scientific programs · SC 2002 |
Compilers and program optimization
loop optimization |
0.0 | 1 | 2002 | Better tiling and array contraction for compiling scientific programs · SC 2002 |
Programming languages and type systems
language design |
0.0 | 1 | 1998 | Design and Specification of Embedded Systems in Java Using Successive, Formal Refinement · DAC 1998 |
Embedded and real-time systems
embedded system design |
0.0 | 1 | 1998 | Design and Specification of Embedded Systems in Java Using Successive, Formal Refinement · DAC 1998 |
High-performance computing
scientific computing |
0.0 | 1 | 2002 | Better tiling and array contraction for compiling scientific programs · SC 2002 |
Parallel and multicore computing
parallel algorithms |
0.0 | 1 | 1993 | Optimistic Parallel biscrete Relaxation · IJCAI 1993 |
Mathematical optimization
discrete optimization |
0.0 | 1 | 1993 | Optimistic Parallel biscrete Relaxation · IJCAI 1993 |
Mathematical optimization
relaxation |
0.0 | 1 | 1993 | Optimistic Parallel biscrete Relaxation · IJCAI 1993 |
Processor architecture and microarchitecture
instruction set architecture |
0.0 | 2 | 1987 | Compiling Smalltalk-80 to a RISC · ASPLOS 1987 Evaluation of the SPUR Lisp Architecture · ISCA 1986 |
Electronic design automation
high-level synthesis |
0.0 | 1 | 1991 | An integrated CAD system for algorithm-specific IC design · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1991 |
Electronic design automation › CAD framework
integrated circuit design system |
0.0 | 1 | 1991 | An integrated CAD system for algorithm-specific IC design · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1991 |
Concurrent programming › concurrency control
conflict detection |
0.0 | 1 | 1988 | Detecting Conflicts Between Structure Accesses · PLDI 1988 |
Program analysis
data dependence analysis |
0.0 | 1 | 1988 | Detecting Conflicts Between Structure Accesses · PLDI 1988 |
Programming languages and type systems › type systems
dimensional analysis |
0.0 | 1 | 1988 | An Ada Package for Dimensional Analysis · ACM Trans. Program. Lang. Syst. 1988 |
Program analysis › static analysis
pointer analysis |
0.0 | 1 | 1988 | Detecting Conflicts Between Structure Accesses · PLDI 1988 |
Programming languages and type systems
type systems |
0.0 | 1 | 1988 | An Ada Package for Dimensional Analysis · ACM Trans. Program. Lang. Syst. 1988 |
Compilers and program optimization
code generation |
0.0 | 1 | 1987 | Compiling Smalltalk-80 to a RISC · ASPLOS 1987 |
Compilers and program optimization
register allocation |
0.0 | 1 | 1987 | Compiling Smalltalk-80 to a RISC · ASPLOS 1987 |
Processor architecture and microarchitecture › instruction set architecture
RISC |
0.0 | 1 | 1987 | Compiling Smalltalk-80 to a RISC · ASPLOS 1987 |
Compilers and program optimization › compiler construction
compilation techniques |
0.0 | 1 | 1986 | SOAR: Smalltalk Without Bytecodes · OOPSLA 1986 |
Runtime systems and virtual machines
virtual machine implementation |
0.0 | 1 | 1986 | SOAR: Smalltalk Without Bytecodes · OOPSLA 1986 |
Memory systems
memory management |
0.0 | 1 | 1986 | SOAR: Smalltalk Without Bytecodes · OOPSLA 1986 |
Performance modeling and evaluation › system-level analysis › architecture evaluation
processor performance evaluation |
0.0 | 1 | 1986 | Evaluation of the SPUR Lisp Architecture · ISCA 1986 |
Processor architecture and microarchitecture › instruction set architecture
tagged architecture |
0.0 | 1 | 1986 | Evaluation of the SPUR Lisp Architecture · ISCA 1986 |
Programming languages and type systems › object-oriented programming
object-oriented languages |
0.0 | 2 | 1987 | Compiling Smalltalk-80 to a RISC · ASPLOS 1987 SOAR: Smalltalk Without Bytecodes · OOPSLA 1986 |
Programming languages and type systems › object-oriented programming
smalltalk |
0.0 | 2 | 1987 | Compiling Smalltalk-80 to a RISC · ASPLOS 1987 SOAR: Smalltalk Without Bytecodes · OOPSLA 1986 |
Electronic design automation
physical design |
0.0 | 1 | 1991 | An integrated CAD system for algorithm-specific IC design · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1991 |
Electronic design automation › physical design
silicon assembly |
0.0 | 1 | 1991 | An integrated CAD system for algorithm-specific IC design · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1991 |
Performance modeling and evaluation › simulation
simulation-based evaluation |
0.0 | 1 | 1986 | Evaluation of the SPUR Lisp Architecture · ISCA 1986 |
Methods — techniques the papers use, named apart from their topics
loop reordering · 0.1automatic parameter search · 0.1program transformation · 0.0formal refinement · 0.0class-library extension · 0.0silicon assembly · 0.0register window allocation · 0.0bytecode compilation · 0.0behavioral mapping · 0.0type parameterization · 0.0hashing · 0.0architectural simulation · 0.0activation record management · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2002 | Better tiling and array contraction for compiling scientific programsabstractScientific programs often include multiple loops over the same data; interleaving parts of different loops may greatly improve performance. We exploit this in a compiler for Titanium, a dialect of Java. Our compiler combines reordering optimizations such as loop fusion and tiling with storage optimizations such as array contraction (eliminating or reducing the size of temporary arrays). The programmers we have in mind are willing to spend some time tuning their code and their compiler parameters. Given that, and the difficulty in statically selecting parameters such as tile sizes, it makes sense to provide automatic parameter searching alongside the compiler. Our strategy is to optimize aggressively but to expose the compiler’s decisions to external control. We double or triple the performance of Gauss-Seidel relaxation and multi-grid (versus an optimizing compiler without tiling and array contraction), and we argue that ours is the best compiler for that kind of program. Geoff Pike, Paul N. Hilfinger |
SC | 2 |
| 1998 | Design and Specification of Embedded Systems in Java Using Successive, Formal RefinementabstractSuccessive, formal refinement is a new approach for specificationof embedded systems using a general-purpose programming language.Systems are formally modeled as Abstractable SynchronousReactive systems, and Java is used as the design inputlanguage. A policy of use is applied to Java, in the form of languageusage restrictions and class-library extensions, to ensureconsistency with the formal model. A process of incremental,user-guided program transformation is used to refine a Java programuntil it is consistent with the policy of use. The final productis a system specification possessing the properties of the formalmodel, including deterministic behavior, bounded memory usage,and bounded execution time. This approach allows systems designto begin with the flexibility of a general-purpose language, followedby gradual refinement into a more restricted form necessaryfor specification. James Shin Young, Josh MacDonald, Michael Shilman, Abdallah Tabbara, Paul N. Hilfinger, A. Richard Newton |
DAC | 5 |
| 1998 | Titanium: A High-performance Java DialectabstractTitanium is a language and system for high-performance parallel scientific computing. Titanium uses Java as its base, thereby leveraging the advantages of that language and allowing us to focus attention on parallel computing issues. The main additions to Java are immutable classes, multidimensional arrays, an explicitly parallel SPMD model of computation with a global address space, and zone-based memory management. We discuss these features and our design approach, and report progress on the development of Titanium, including our current driving application: a three-dimensional adaptive mesh refinement parallel Poisson solver. © 1998 John Wiley & Sons, Ltd. Katherine A. Yelick, Luigi Semenzato, Geoff Pike, Carleton Miyamoto, Ben Liblit, Arvind Krishnamurthy, Paul N. Hilfinger, Susan L. Graham, David Gay, Phillip Colella, Alex Aiken |
Concurr. Pract. Exp. | 7 |
| 1993 | Optimistic Parallel biscrete Relaxation
Kinson Ho, Paul N. Hilfinger, Hans W. Guesgen |
IJCAI | 2 |
| 1992 | A Tagging Method for Parallel Constraint Satisfaction
Hans W. Guesgen, Kinson Ho, Paul N. Hilfinger |
J. Parallel Distributed Comput. | 3 |
| 1991 | An integrated CAD system for algorithm-specific IC designabstractLAGER is an integrated computer-aided design system for algorithm-specific integrated circuit design, targeted at applications such as speech processing, image processing, telecommunications, and robot control. LAGER provides user interfaces at behavioral, structural, and physical levels and allows easy integration of novel CAD tools. LAGER consists of a behavioral mapper and a silicon assembler. The behavioral mapper maps the behavior onto a parameterized structure to produce microcode and parameter values. The silicon assembler then translates the filled-out structural description into a physical layout, and, with the aid of simulation tools, the user can fine tune the data path by iterating this process. The silicon assembler can also be used without the behavioral mapper for high-sample-rate applications. A number of algorithm-specific ICs designed with LAGER have been fabricated and tested, and as examples, a robot arm controller chip and a real-time image segmentation chip are described.> C. Bernard Shung, Rajeev Jain, Ken Rimey, Mani Srivastava 0001, Brian C. Richards, Erik Lettang, Syed Khalid Azim, Lars E. Thon, Paul N. Hilfinger, Jan M. Rabaey, Robert W. Brodersen |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 10 |
| 1990 | DSP specification using the Silage languageabstractThe Silage language is presented, together with a number of extensions to the original design which result in a powerful specification language and design environment for complex digital signal processing (DSP) systems. Aspects of Silage discussed include the applicative language, timing information and time-domain operations, data typing, and functional language, pragmatic directives, and loops and conditionals.> Dominique Genin, Paul N. Hilfinger, Jan M. Rabaey, Chris J. Scheers, Hugo De Man |
ICASSP | 2 |
| 1988 | Detecting Conflicts Between Structure AccessesabstractTwo references to a record structure conflict if they access the same field and at least one modifies the location. Because structures can be connected by pointers, deciding if two statements conflict requires knowledge of the possible aliases for the locations that they access. James R. Larus, Paul N. Hilfinger |
PLDI | 2 |
| 1988 | An Ada Package for Dimensional AnalysisabstractThis paper illustrates the use of Ada's abstraction facilities—notably, operator overloading and type parameterization—to define an oft-requested feature: a way to attribute units of measure to variables and values. The definition given allows the programmer to specify units of measure for variables, constants, and parameters; checks uses of these entities for dimensional consistency; allows arithmetic between them, where legal; and provides scale conversions between commensurate units. It is not constrained to a particular system of measurement (such as the metric or English systems). Although the definition is in standard Ada and requires nothing special of the compiler, certain reasonable design choices in the compiler, discussed here at some length, can make its implementation particularly efficient. Paul N. Hilfinger |
ACM Trans. Program. Lang. Syst. | 1 |
| 1987 | Compiling Smalltalk-80 to a RISCabstractThe Smalltalk On A RISC project at U. C. Berkeley proves that a high-level object-oriented language can attain high performance on a modified reduced instruction set architecture. The single most important optimization is the removal of a layer of interpretation, compiling the bytecoded virtual machine instructions into low-level, register-based, hardware instructions. This paper describes the compiler and how it was affected by SOAR architectural features. The compiler generates code of reasonable density and speed. Because of Smalltalk-80's semantics, relatively few optimizations are possible, but hardware and software mechanisms at runtime offset these limitations. Register allocation for an architecture with register windows comprises the major task of the compiler. Performance analysis suggests that SOAR is not simple enough; several hardware features could be efficiently replaced by instruction sequences constructed by the compiler. William R. Bush, A. Dain Samples, David M. Ungar, Paul N. Hilfinger |
ASPLOS | 4 |
| 1986 | Evaluation of the SPUR Lisp ArchitectureabstractThe SPUR microprocessor has a 40-bit tagged architecture designed to improve its performance for Lisp programs. Although SPUR includes just a small set of enhancements to the Berkeley RISC-II architecture, simulation results show that with a 150-ns cycle time SPUR will run Common Lisp programs at least as fast as a Symbolies 3600 or a DEC VAX 8600. This paper explains SPUR's instruction set architecture and provides measurements of how certain components of the architecture perform. George S. Taylor, Paul N. Hilfinger, James R. Larus, David A. Patterson 0001, Benjamin G. Zorn |
ISCA | 2 |
| 1986 | SOAR: Smalltalk Without BytecodesabstractWe have implemented Smalltalk-80 on an instruction-level simulator for a RISC microcomputer called SOAR. Measurements suggest that even a conventional computer can provide high performance for Smalltalk-80 by abandoning the 'Smalltalk Virtual Machine' in favor of compiling Smalltalk directly to SOAR machine code, linearizing the activation records on the machine stack, eliminating the object table, and replacing reference counting with a new technique called Generation Scavenging. In order to implement these techniques, we had to find new ways of hashing objects, accessing often-used objects, invoking blocks, referencing activation records, managing activation record stacks, and converting the virtual machine images. A. Dain Samples, David M. Ungar, Paul N. Hilfinger |
OOPSLA | 3 |
| 1983 | Simulation of Procedure Variables Using Ada TasksabstractWe give a technique for partially simulating procedure variables using Ada tasks. The simulation involves using interface tasks, a technique which may be useful for other problems. David Alex Lamb, Paul N. Hilfinger |
IEEE Trans. Software Eng. | 2 |
| 1978 | Introducing "theory" in the second programming courseabstractTraditionally, the first two programming courses have emphasized basic techniques and skills—the details of a programming language, basic problem solving and program development, “structured programming”, the manipulation of simple data structures and files, basic sorting and searching algorithms, etc. Paul N. Hilfinger, Mary Shaw, William A. Wulf |
SIGCSE | 1 |