Demo Data from VLDB 2026 / reviewers in the wild / expert
João Dias 0005
dblp:48/1389-5
· DBLP profile ↗
4ranked-venue papers
2as first author
0since 2021 · last 2011
0000-0002-1653-1821ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 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
2 papers |
Compilers and program optimization · 83% Programming languages and type systems · 17% |
Topics — the 5 heaviest of 5, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › code generation
instruction selection |
0.2 | 2 | 2011 | Resourceable, retargetable, modular instruction selection using a machine-independent, type-based tiling of low-level intermediate code · POPL 2011 Automatically generating instruction selectors using declarative machine descriptions · POPL 2010 |
Compilers and program optimization › compiler construction
retargetable compilation |
0.2 | 2 | 2011 | Resourceable, retargetable, modular instruction selection using a machine-independent, type-based tiling of low-level intermediate code · POPL 2011 Automatically generating instruction selectors using declarative machine descriptions · POPL 2010 |
Compilers and program optimization
code generation |
0.1 | 1 | 2011 | Resourceable, retargetable, modular instruction selection using a machine-independent, type-based tiling of low-level intermediate code · POPL 2011 |
Programming languages and type systems
type systems |
0.1 | 1 | 2011 | Resourceable, retargetable, modular instruction selection using a machine-independent, type-based tiling of low-level intermediate code · POPL 2011 |
Compilers and program optimization
compiler back end |
0.0 | 1 | 2010 | Automatically generating instruction selectors using declarative machine descriptions · POPL 2010 |
Methods — techniques the papers use, named apart from their topics
machine-independent tiling · 0.1automatic generation from declarative semantics · 0.1declarative machine descriptions · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2011 | Resourceable, retargetable, modular instruction selection using a machine-independent, type-based tiling of low-level intermediate codeabstractWe present a novel variation on the standard technique of selecting instructions by tiling an intermediate-code tree. Typical compilers use a different set of tiles for every target machine. By analyzing a formal model of machine-level computation, we have developed a single set of tiles that is machine-independent while retaining the expressive power of machine code. Using this tileset, we reduce the number of tilers required from one per machine to one per architectural family (e.g., register architecture or stack architecture). Because the tiler is the part of the instruction selector that is most difficult to reason about, our technique makes it possible to retarget an instruction selector with significantly less effort than standard techniques. Retargeting effort is further reduced by applying an earlier result which generates the machine-dependent implementation of our tileset automatically from a declarative description of instructions' semantics. Our design has the additional benefit of enabling modular reasoning about three aspects of code generation that are not typically separated: the semantics of the compiler's intermediate representation, the semantics of the target instruction set, and the techniques needed to generate good target code. Norman Ramsey, João Dias 0005 |
POPL | 2 |
| 2010 | Hoopl: a modular, reusable library for dataflow analysis and transformationabstractDataflow analysis and transformation of control-flow graphs is pervasive in optimizing compilers, but it is typically entangled with the details of a particular compiler. We describe Hoopl, a reusable library that makes it unusually easy to define new analyses and transformations for any compiler written in Haskell. Hoopl's interface is modular and polymorphic, and it offers unusually strong static guarantees. The implementation encapsulates state-of-the-art algorithms (interleaved analysis and rewriting, dynamic error isolation), and it cleanly separates their tricky elements so that they can be understood independently. Norman Ramsey, João Dias 0005, Simon L. Peyton Jones |
Haskell | 2 |
| 2010 | Automatically generating instruction selectors using declarative machine descriptionsabstractDespite years of work on retargetable compilers, creating a good, reliable back end for an optimizing compiler still entails a lot of hard work. Moreover, a critical component of the back end---the instruction selector---must be written by a person who is expert in both the compiler's intermediate code and the target machine's instruction set. By generating the instruction selector from declarative machine descriptions we have (a) made it unnecessary for one person to be both a compiler expert and a machine expert, and (b) made creating an optimizing back end easier than ever before. João Dias 0005, Norman Ramsey |
POPL | 1 |
| 2006 | Converting Intermediate Code to Assembly Code Using Declarative Machine Descriptions
João Dias 0005, Norman Ramsey |
CC | 1 |