Demo Data from VLDB 2026 / reviewers in the wild / expert
Matthew J. Bridges
dblp:12/5006
· DBLP profile ↗
8ranked-venue papers
2as first author
0since 2021 · last 2008
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 5 · 1 first-authorSoftware engineering, systems software and programming languages · 5 · 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
3 papers |
Compilers and program optimization · 95% Programming languages and type systems · 5% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Parallel and multicore computing · 57% Processor architecture and microarchitecture · 43% | |
| Network and information security
1 paper |
Systems and software security · 77% Authentication and access control · 23% |
Topics — the 11 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › parallelization
automatic parallelization |
0.1 | 1 | 2007 | Revisiting the Sequential Programming Model for Multi-Core · MICRO 2007 |
Parallel and multicore computing › parallelization strategies
automatic thread extraction |
0.1 | 1 | 2007 | Revisiting the Sequential Programming Model for Multi-Core · MICRO 2007 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2007 | Revisiting the Sequential Programming Model for Multi-Core · MICRO 2007 |
Compilers and program optimization › interprocedural optimization
inlining |
0.1 | 1 | 2006 | A framework for unrestricted whole-program optimization · PLDI 2006 |
Compilers and program optimization
instruction scheduling |
0.1 | 1 | 2006 | Automatic instruction scheduler retargeting by reverse-engineering · PLDI 2006 |
Compilers and program optimization
interprocedural optimization |
0.1 | 1 | 2006 | A framework for unrestricted whole-program optimization · PLDI 2006 |
Compilers and program optimization
program specialization |
0.1 | 1 | 2006 | A framework for unrestricted whole-program optimization · PLDI 2006 |
Compilers and program optimization › interprocedural optimization
whole-program optimization |
0.1 | 1 | 2006 | A framework for unrestricted whole-program optimization · PLDI 2006 |
Systems and software security
information flow control |
0.0 | 1 | 2004 | RIFLE: An Architectural Framework for User-Centric Information-Flow Security · MICRO 2004 |
Processor architecture and microarchitecture
hardware-assisted security |
0.0 | 1 | 2004 | RIFLE: An Architectural Framework for User-Centric Information-Flow Security · MICRO 2004 |
Authentication and access control
access control |
0.0 | 1 | 2004 | RIFLE: An Architectural Framework for User-Centric Information-Flow Security · MICRO 2004 |
Methods — techniques the papers use, named apart from their topics
speculative parallelization · 0.1compiler optimization · 0.1reverse engineering · 0.1heuristic probing · 0.1binary translation · 0.1region formation · 0.1encapsulation · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2008 | Parallel-stage decoupled software pipeliningabstractIn recent years, the microprocessor industry has embraced chip multiprocessors (CMPs), also known as multi-core architectures, as the dominant design paradigm. For existing and new applications to make effective use of CMPs, it is desirable that compilers automatically extract thread-level parallelism from single-threaded applications. DOALL is a popular automatic technique for loop-level parallelization employed successfully in the domains of scientific and numeric computing. While DOALL generally scales well with the number of iterations of the loop, its applicability is limited by the presence of loop-carried dependences. A parallelization technique with greater applicability is decoupled software pipelining (DSWP), which parallelizes loops even in the presence of loop-carried dependences. However, the scalability of DSWP is limited by the size of the loop body and the number of recurrences it contains, which are usually smaller than the loop iteration count. Easwaran Raman, Guilherme Ottoni, Arun Raman, Matthew J. Bridges, David I. August |
CGO | 4 |
| 2007 | Speculative Decoupled Software Pipelining
Neil Vachharajani, Ram Rangan, Easwaran Raman, Matthew J. Bridges, Guilherme Ottoni, David I. August |
PACT | 4 |
| 2007 | Revisiting the Sequential Programming Model for Multi-CoreabstractSingle-threaded programming is already considered a complicated task. The move to multi-threaded programming only increases the complexity and cost involved in software development due to rewriting legacy code, training of the programmer, increased debugging of the program, and efforts to avoid race conditions, deadlocks, and other problems associated with parallel programming. To address these costs, other approaches, such as automatic thread extraction, have been explored. Unfortunately, the amount of parallelism that has been automatically extracted is generally insufficient to keep many cores busy. This paper argues that this lack of parallelism is not an intrinsic limitation of the sequential programming model, but rather occurs for two reasons. First, there exists no framework for automatic thread extraction that brings together key existing state-of-the-art compiler and hardware techniques. This paper shows that such a framework can yield scalable parallelization on several SPEC CINT2000 benchmarks. Second, existing sequential programming languages force programmers to define a single legal program outcome, rather than allowing for a range of legal outcomes. This paper shows that natural extensions to the sequential programming model enable parallelization for the remainder of the SPEC CINT2000 suite. Our experience demonstrates that, by changing only 60 source code lines, all of the C benchmarks in the SPEC CINT2000 suite were parallelizable by automatic thread extraction. This process, constrained by the limits of modern optimizing compilers, yielded a speedup of 454% on these applications. Matthew J. Bridges, Neil Vachharajani, Yun Zhang 0005, Thomas B. Jablin, David I. August |
MICRO | 1 |
| 2006 | Selective Runtime Memory Disambiguation in a Dynamic Binary Translator
Bolei Guo, Youfeng Wu, Cheng Wang 0013, Matthew J. Bridges, Guilherme Ottoni, Neil Vachharajani, David I. August |
CC | 4 |
| 2006 | Automatic instruction scheduler retargeting by reverse-engineeringabstractIn order to generate high-quality code for modern processors, a compiler must aggressively schedule instructions, maximizing resource utilization for execution efficiency. For a compiler to produce such code, it must avoid structural hazards by being aware of the processor's available resources and of how these resources are utilized by each instruction. Unfortunately, the most prevalent approach to constructing such a scheduler, manually discovering and specifying this information, is both tedious and error-prone. This paper presents a new approach which, when given a processor or processor model, automatically determines this information. After establishing that the problem of perfectly determining a processor's structural hazards through probing is not solvable, this paper proposes a heuristic algorithm that discovers most of this information in practice. This can be used either to alleviate the problems associated with manual creation or to verify an existing specification. Scheduling with these automatically derived structural hazards yields almost all of the performance gain achieved using perfect hazard information. Matthew J. Bridges, Neil Vachharajani, Guilherme Ottoni, David I. August |
PLDI | 1 |
| 2006 | A framework for unrestricted whole-program optimizationabstractProcedures have long been the basic units of compilation in conventional optimization frameworks. However, procedures are typically formed to serve software engineering rather than optimization goals, arbitrarily constraining code transformations. Techniques, such as aggressive inlining and interprocedural optimization, have been developed to alleviate this problem, but, due to code growth and compile time issues, these can be applied only sparingly.This paper introduces the Procedure Boundary Elimination (PBE) compilation framework, which allows unrestricted whole-program optimization. PBE allows all intra-procedural optimizations and analyses to operate on arbitrary subgraphs of the program, regardless of the original procedure boundaries and without resorting to inlining. In order to control compilation time, PBE also introduces novel extensions of region formation and encapsulation. PBE enables targeted code specialization, which recovers the specialization benefits of inlining while keeping code growth in check. This paper shows that PBE attains better performance than inlining with half the code growth. Spyridon Triantafyllis, Matthew J. Bridges, Easwaran Raman, Guilherme Ottoni, David I. August |
PLDI | 2 |
| 2005 | Practical and Accurate Low-Level Pointer AnalysisabstractPointer analysis is traditionally performed once, early in the compilation process, upon an intermediate representation (IR) with source-code semantics. However, performing pointer analysis only once at this level imposes a phase-ordering constraint, causing alias information to become stale after subsequent code transformations. Moreover, high-level pointer analysis cannot be used at link time or run time, where the source code is unavailable. This paper advocates performing pointer analysis on a low-level intermediate representation. We present the first context-sensitive and partially flow-sensitive points-to analysis designed to operate at the assembly level. As we will demonstrate, low-level pointer analysis can be as accurate as high-level analysis. Additionally, our low-level pointer analysis also enables a quantitative comparison of propagating high-level pointer analysis results through subsequent code transformations, versus recomputing them at the low level. We show that, for C programs, the former practice is considerably less accurate than the latter. Bolei Guo, Matthew J. Bridges, Spyridon Triantafyllis, Guilherme Ottoni, Easwaran Raman, David I. August |
CGO | 2 |
| 2004 | RIFLE: An Architectural Framework for User-Centric Information-Flow SecurityabstractEven as modern computing systems allow the manipulation and distribution of massive amounts of information, users of these systems are unable to manage the confidentiality of their data in a practical fashion. Conventional access control security mechanisms cannot prevent the illegitimate use of privileged data once access is granted. For example, information provided by a user during an online purchase may be covertly delivered to malicious third parties by an untrustworthy web browser. Existing information-flow security mechanisms do provide this assurance, but only for programmer-specified policies enforced during program development as a static analysis on special-purpose type-safe languages. Not only are these techniques not applicable to many commonly used programs, but they leave the user with no defense against malicious programmers or altered binaries. In this paper, we propose RIFLE, a runtime information-flow security system designed from the user's perspective. By addressing information-flow security using architectural support, RIFLE gives users a practical way to enforce their own information-flow security policy on all programs. We prove that, contrary to statements in the literature, run-time systems like RIFLE are no less secure than existing language-based techniques. Using a model of the architectural framework and a binary translator, we demonstrate RIFLE's correctness and illustrate that the performance cost is reasonable. Neil Vachharajani, Matthew J. Bridges, Ram Rangan, Guilherme Ottoni, Jason A. Blome, George A. Reis, Manish Vachharajani, David I. August |
MICRO | 2 |