VLDB 2026 Research / reviewers in the wild / expert
Rubens E. A. Moreira
dblp:119/6778
· DBLP profile ↗
2ranked-venue papers
1as first author
0since 2021 · last 2017
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2 · 1 first-authorSoftware engineering, systems software and programming languages · 1
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
1 paper |
Compilers and program optimization · 77% Programming languages and type systems · 23% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Parallel and multicore computing · 100% |
Topics — the 3 heaviest of 3, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › vectorization
SIMD vectorization |
0.3 | 1 | 2017 | Function Call Re-Vectorization · PPoPP 2017 |
Parallel and multicore computing › data-parallel programming
SIMD programming |
0.3 | 1 | 2017 | Function Call Re-Vectorization · PPoPP 2017 |
Programming languages and type systems › language semantics › concurrent language semantics
parallel language semantics |
0.1 | 1 | 2017 | Function Call Re-Vectorization · PPoPP 2017 |
Methods — techniques the papers use, named apart from their topics
formal semantics · 0.6ISPC compilation · 0.6
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Function Call Re-VectorizationabstractProgramming languages such as C for CUDA, OpenCL or ISPC have contributed to increase the programmability of SIMD accelerators and graphics processing units. However, these languages still lack the flexibility offered by low-level SIMD programming on explicit vectors. To close this expressiveness gap while preserving performance, this paper introduces the notion of \ourinvention{} (CREV). CREV allows changing the dimension of vectorization during the execution of a kernel, exposing it as a nested parallel kernel call. CREV affords programmability close to dynamic parallelism, a feature that allows the invocation of kernels from inside kernels, but at much lower cost. In this paper, we present a formal semantics of CREV, and an implementation of it on the ISPC compiler. We have used CREV to implement some classic algorithms, including string matching, depth first search and Bellman-Ford, with minimum effort. These algorithms, once compiled by ISPC to Intel-based vector instructions, are as fast as state-of-the-art implementations, yet much simpler. Thus, CREV gives developers the elegance of dynamic programming, and the performance of explicit SIMD programming. Rubens E. A. Moreira, Caroline Collange, Fernando Magno Quintão Pereira |
PPoPP | 1 |
| 2016 | Inference of peak density of indirect branches to detect ROP attacksabstractA program subject to a Return-Oriented Programming (ROP) attack usually presents an execution trace with a high frequency of indirect branches. From this observation, several researchers have proposed to monitor the density of these instructions to detect ROP attacks. These techniques use universal thresholds: the density of indirect branches that characterizes an attack is the same for every application. This paper shows that universal thresholds are easy to circumvent. As an alternative, we introduce an inter-procedural semi-context-sensitive static code analysis that estimates the maximum density of indirect branches possible for a program. This analysis determines detection thresholds for each application; thus, making it more difficult for attackers to compromise programs via ROP. We have used an implementation of our technique in LLVM to find specific thresholds for the programs in SPEC CPU2006. By comparing these thresholds against actual execution traces of corresponding programs, we demonstrate the accuracy of our approach. Furthermore, our algorithm is practical: it finds an approximate solution to a theoretically undecidable problem, and handles programs with up to 700 thousand assembly instructions in 25 minutes. Mateus Tymburibá, Rubens E. A. Moreira, Fernando Magno Quintão Pereira |
CGO | 2 |