VLDB 2026 Research / reviewers in the wild / expert
Michele Co
dblp:10/1361
· DBLP profile ↗
5ranked-venue papers
2as 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-authorSecurity and privacy · 2Software engineering, systems software and programming languages · 2 · 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.
| Network and information security
1 paper |
Systems and software security · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Processor architecture and microarchitecture · 70% Energy-efficient computing · 30% |
Topics — the 7 heaviest of 7, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Systems and software security
code randomization |
0.1 | 1 | 2012 | ILR: Where'd My Gadgets Go? · IEEE Symposium on Security and Privacy 2012 |
Processor architecture and microarchitecture
instruction fetch |
0.1 | 1 | 2006 | Evaluating trace cache energy efficiency · ACM Trans. Archit. Code Optim. 2006 |
Energy-efficient computing › energy-efficient architecture
processor energy efficiency |
0.1 | 1 | 2006 | Evaluating trace cache energy efficiency · ACM Trans. Archit. Code Optim. 2006 |
Processor architecture and microarchitecture › instruction fetch
trace cache |
0.1 | 1 | 2006 | Evaluating trace cache energy efficiency · ACM Trans. Archit. Code Optim. 2006 |
Systems and software security
exploitation mitigation |
0.0 | 1 | 2012 | ILR: Where'd My Gadgets Go? · IEEE Symposium on Security and Privacy 2012 |
Systems and software security
return-oriented programming defense |
0.0 | 1 | 2012 | ILR: Where'd My Gadgets Go? · IEEE Symposium on Security and Privacy 2012 |
Processor architecture and microarchitecture
branch prediction |
0.0 | 1 | 2006 | Evaluating trace cache energy efficiency · ACM Trans. Archit. Code Optim. 2006 |
Methods — techniques the papers use, named apart from their topics
binary rewriting · 0.1address space randomization · 0.1cycle-accurate simulation · 0.1ED2 analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2017 | Zipr: Efficient Static Binary Rewriting for SecurityabstractTo quickly patch security vulnerabilities there has been keen interest in securing binaries in situ. Unfortunately, the state of the art in static binary rewriting does not allow the transformed program to be both space and time efficient. A primary limitation is that leading static rewriters require that the original copy of the code remains in the transformed binary, thereby incurring file size overhead of at least 100%. This paper presents Zipr, a static binary rewriter that removes this limitation and enables both space and time efficient transformation of arbitrary binaries. We describe results from applying Zipr in the DARPA Cyber Grand Challenge (CGC), the first fully automated cyber-hacking contest. The CGC rules penalized competitors for producing a patched binary whose on-disk size was 20% larger than the original, whose CPU utilization was 5% more than the original, and whose memory use was 5% more than the original. Zipr's efficiency enabled our automated system, Xandra, to apply both code diversity and control flow integrity security techniques to secure challenge binaries provided by DARPA, resulting in Xandra having the best security score in the competition, remaining within the required space and time performance envelope, and winning a $1M cash prize. William Hawkins 0001, Jason Hiser, Michele Co, Anh Nguyen-Tuong, Jack W. Davidson |
DSN | 3 |
| 2012 | Defense against Stack-Based Attacks Using Speculative Stack Layout Transformation
Benjamin D. Rodes, Anh Nguyen-Tuong, Jason Hiser, John C. Knight, Michele Co, Jack W. Davidson |
RV | 5 |
| 2012 | ILR: Where'd My Gadgets Go?abstractThrough randomization of the memory space and the confinement of code to non-data pages, computer security researchers have made a wide range of attacks against program binaries more difficult. However, attacks have evolved to exploit weaknesses in these defenses. To thwart these attacks, we introduce a novel technique called Instruction Location Randomization (ILR). Conceptually, ILR randomizes the location of every instruction in a program, thwarting an attacker's ability to re-use program functionality (e.g., arc-injection attacks and return-oriented programming attacks). ILR operates on arbitrary executable programs, requires no compiler support, and requires no user interaction. Thus, it can be automatically applied post-deployment, allowing easy and frequent re-randomization. Our preliminary prototype, working on 32-bit x86 Linux ELF binaries, provides a high degree of entropy. Individual instructions are randomly placed within a 31-bit address space. Thus, attacks that rely on a priori knowledge of the location of code or derandomization are not feasible. We demonstrated ILR's defensive capabilities by defeating attacks against programs with vulnerabilities, including Adobe's PDF viewer, acroread, which had an in-the-wild vulnerability. Additionally, using an industry-standard CPU performance benchmark suite, we compared the run time of prototype ILR-protected executables to that of native executables. The average run-time overhead of ILR was 13% with more than half the programs having effectively no overhead (15 out of 29), indicating that ILR is a realistic and cost-effective mitigation technique. Jason Hiser, Anh Nguyen-Tuong, Michele Co, Jack W. Davidson |
IEEE Symposium on Security and Privacy | 3 |
| 2006 | Evaluating trace cache energy efficiencyabstractFuture fetch engines need to be energy efficient. Much research has focused on improving fetch bandwidth. In particular, previous research shows that storing concatenated basic blocks to form instruction traces can significantly improve fetch performance. This work evaluates whether this concatenating of basic blocks translates to significantenergy-efficiencygains. We compare processor performance and energy efficiency in trace caches compared to instruction caches. We find that, although trace caches modestly outperform instruction cache only alternatives, it is branch-prediction accuracy that really determines performance and energy efficiency. When access delay and area restrictions are considered, our results show that sequential trace caches achieve very similar performance and energy efficiency results compared to instruction cache-based fetch engines and show that the trace cache's failure to significantly outperform the instruction cache-based fetch organizations stems from the poorer implicit branch prediction from the next-trace predictor at smaller areas. Because access delay limits the theoretical performance of the evaluated fetch engines, we also propose a novel ahead-pipelined next-trace predictor. Our results show that an STC fetch organization with a three-stage, ahead-pipelined next-trace predictor can achieve 5--17% IPC and 29% ED2improvements over conventional, unpipelined organizations. Michele Co, Dee A. B. Weikle, Kevin Skadron |
ACM Trans. Archit. Code Optim. | 1 |
| 2001 | The effects of context switching on branch predictor performanceabstractThis paper shows that context switching is not a significant factor to be considered when performing general branch prediction studies. Branch prediction allows for speculative execution by increasing available instruction level parallelism (ILP) and hiding the time required to resolve branch conditions. Accurate simulation of branch prediction is important because branch prediction strongly influences the behavior of processor structures. For this study, a timesharing framework was developed by modifying SimpleScalar's branch predictor simulator. A thorough characterization of the effects of branch predictor configuration, branch predictor area, and time slice length is provided. As further verification, branch predictor performance with and without flushing the predictor structures is compared. Experiments show that operating system context switches have little effect on branch prediction rate when using time slices representative of today's operating systems. Our findings show that this results from the fact that time slices are much larger than the training time required by the branch predictor structures. For all predictor configurations tested, the predictors train in under 128K instructions with or without flushing the branch predictor structures. Michele Co, Kevin Skadron |
ISPASS | 1 |