Demo Data from VLDB 2026 / reviewers in the wild / expert
Roberto Paleari
dblp:04/2981
· DBLP profile ↗
12ranked-venue papers
3as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 7 · 2 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
6 papers |
Software testing · 77% Operating systems · 12% Debugging and program repair · 7% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Cloud and datacenter computing · 63% Performance modeling and evaluation · 37% | |
| Network and information security
1 paper |
Malware analysis · 100% |
Topics — the 8 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing
fuzzing |
0.4 | 3 | 2013 | A methodology for testing CPU emulators · ACM Trans. Softw. Eng. Methodol. 2013 Testing system virtual machines · ISSTA 2010 Testing CPU emulators · ISSTA 2009 |
Software testing
differential testing |
0.3 | 3 | 2010 | N-version disassembly: differential testing of x86 disassemblers · ISSTA 2010 Testing system virtual machines · ISSTA 2010 Testing CPU emulators · ISSTA 2009 |
Cloud and datacenter computing
virtualization |
0.1 | 2 | 2010 | Dynamic and transparent analysis of commodity production systems · ASE 2010 Testing system virtual machines · ISSTA 2010 |
Operating systems › kernel › kernel development
kernel debugging |
0.1 | 1 | 2010 | Dynamic and transparent analysis of commodity production systems · ASE 2010 |
Cloud and datacenter computing › virtualization
virtual machine monitor |
0.1 | 1 | 2010 | Dynamic and transparent analysis of commodity production systems · ASE 2010 |
Debugging and program repair
automated program repair |
0.0 | 1 | 2010 | Automatic Generation of Remediation Procedures for Malware Infections · USENIX Security Symposium 2010 |
Program analysis
binary analysis |
0.0 | 1 | 2010 | N-version disassembly: differential testing of x86 disassemblers · ISSTA 2010 |
Cloud and datacenter computing › virtualization
virtual machine |
0.0 | 1 | 2010 | Testing system virtual machines · ISSTA 2010 |
Methods — techniques the papers use, named apart from their topics
fuzzing · 0.4differential analysis · 0.4differential execution comparison · 0.3virtual machine migration · 0.2protocol-specific fuzzing · 0.2planning · 0.2hardware virtualization · 0.2CPU-based decoding · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | A methodology for testing CPU emulatorsabstractA CPU emulator is a software system that simulates a hardware CPU. Emulators are widely used by computer scientists for various kind of activities (e.g., debugging, profiling, and malware analysis). Although no theoretical limitation prevents developing an emulator that faithfully emulates a physical CPU, writing a fully featured emulator is a very challenging and error prone task. Modern CISC architectures have a very rich instruction set, some instructions lack proper specifications, and others may have undefined effects in corner cases. This article presents a testing methodology specific for CPU emulators, based on fuzzing. The emulator is “stressed” with specially crafted test cases, to verify whether the CPU is properly emulated or not. Improper behaviors of the emulator are detected by running the same test case concurrently on the emulated and on the physical CPUs and by comparing the state of the two after the execution. Differences in the final state testify defects in the code of the emulator. We implemented this methodology in a prototype (named as EmuFuzzer), analyzed five state-of-the-art IA-32 emulators (QEMU, Valgrind, Pin, BOCHS, and JPC), and found several defects in each of them, some of which can prevent proper execution of programs. Lorenzo Martignoni, Roberto Paleari, Alessandro Reina, Giampaolo Fresi Roglia, Danilo Bruschi |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 2010 | Conqueror: Tamper-Proof Code Execution on Legacy Systems
Lorenzo Martignoni, Roberto Paleari, Danilo Bruschi |
DIMVA | 2 |
| 2010 | Testing system virtual machinesabstractVirtual machines offer the ability to partition the resources of a physical system and to create isolated execution environments. The development of virtual machines is a very challenging task. This is particularly true for system virtual machines, since they run an operating system and must replicate in every detail the incredibly complex environment it requires. Nowadays, system virtual machines are the key component of many critical architectures. However, only little effort has been invested to test if the environment they provide is semantically equivalent to the environment found on real machines. In this paper we present a methodology specific for testing system virtual machines. This methodology is based on protocol-specific fuzzing and differential analysis, and consists in forcing a virtual machine and the corresponding physical machine to execute specially crafted snippets of user- and system-mode code and in comparing their behaviors. We have developed a prototype, codenamed KEmuFuzzer, that implements our methodology for the Intel x86 architecture and used it to test four state-of-the-art virtual machines: BOCHS, QEMU, VirtualBox and VMware. We discovered defects in all of them. Lorenzo Martignoni, Roberto Paleari, Giampaolo Fresi Roglia, Danilo Bruschi |
ISSTA | 2 |
| 2010 | N-version disassembly: differential testing of x86 disassemblersabstractThe output of a disassembler is used for many different purposes (e.g., debugging and reverse engineering). Therefore, disassemblers represent the first link of a long chain of stages on which any high-level analysis of machine code depends upon. In this paper we demonstrate that many disassemblers fail to decode certain instructions and thus that the first link of the chain is very weak. We present a methodology, called N-version disassembly, to verify the correctness of disassemblers, based on differential analysis. Given a set of n - 1 disassemblers, we use them to decode fragments of machine code and we compare their output against each other. To further corroborate the output of these disassemblers, we developed a special instruction decoder, the nth, that delegates the decoding to the CPU, the ideal decoder. We tested eight of the most popular disassemblers for Intel x86, and found bugs in each of them. Roberto Paleari, Lorenzo Martignoni, Giampaolo Fresi Roglia, Danilo Bruschi |
ISSTA | 1 |
| 2010 | Dynamic and transparent analysis of commodity production systemsabstractWe propose a framework that provides a programming interface to perform complex dynamic system-level analyses of deployed production systems. By leveraging hardware support for virtualization available nowadays on all commodity machines, our framework is completely transparent to the system under analysis and it guarantees isolation of the analysis tools running on top of it. Thus, the internals of the kernel of the running system needs not to be modified and the whole platform runs unaware of the framework. Moreover, errors in the analysis tools do not affect the running system and the framework. This is accomplished by installing a minimalistic virtual machine monitor and migrating the system, as it runs, into a virtual machine. In order to demonstrate the potentials of our framework we developed an interactive kernel debugger, named HyperDbg. HyperDbg can be used to debug any critical kernel component, and even to single step the execution of exception and interrupt handlers. Aristide Fattori, Roberto Paleari, Lorenzo Martignoni, Mattia Monga |
ASE | 2 |
| 2010 | Live and Trustworthy Forensic Analysis of Commodity Production Systems
Lorenzo Martignoni, Aristide Fattori, Roberto Paleari, Lorenzo Cavallaro |
RAID | 3 |
| 2010 | Automatic Generation of Remediation Procedures for Malware Infections
Roberto Paleari, Lorenzo Martignoni, Emanuele Passerini, Drew Davidson, Matt Fredrikson, Jonathon T. Giffin, Somesh Jha |
USENIX Security Symposium | 1 |
| 2009 | Surgically Returning to Randomized lib(c)abstractTo strengthen systems against code injection attacks, the write or execute only policy (W¿X) and address space layout randomization (ASLR) are typically used in combination. The former separates data and code, while the latter randomizes the layout of a process. In this paper we present a new attack to bypass W¿X and ASLR. The state-of-the-art attack against this combination of protections is based on brute-force, while ours is based on the leakage of sensitive information about the memory layout of the process. Using our attack an attacker can exploit the majority of programs vulnerable to stack-based buffer overflows surgically, i.e., in a single attempt. We have estimated that our attack is feasible on 95.6% and 61.8% executables (of medium size) for Intel x86 and x86-64 architectures, respectively. We also analyze the effectiveness of other existing protections at preventing our attack. We conclude that position independent executables (PIE) are essential to complement ASLR and to prevent our attack. However, PIE requires recompilation, it is often not adopted even when supported, and it is not available on all ASLR-capable operating systems. To overcome these limitations, we propose a new protection that is as effective as PIE, does not require recompilation, and introduces only a minimal overhead. Giampaolo Fresi Roglia, Lorenzo Martignoni, Roberto Paleari, Danilo Bruschi |
ACSAC | 3 |
| 2009 | How Good Are Malware Detectors at Remediating Infected Systems?
Emanuele Passerini, Roberto Paleari, Lorenzo Martignoni |
DIMVA | 2 |
| 2009 | Testing CPU emulatorsabstractA CPU emulator is a software that simulates a hardware CPU. Emulators are widely used by computer scientists for various kind of activities (e.g., debugging, profiling, and malware analysis). Although no theoretical limitation prevents to develop an emulator that faithfully emulates a physical CPU, writing a fully featured emulator is a very challenging and error-prone task. Modern CISC architectures have a very rich instruction set, some instructions lack proper specifications, and others may have undefined effects in corner-cases. This paper presents a testing methodology specific for CPU emulators, based on fuzzing. The emulator is "stressed" with specially crafted test-cases, to verify whether the CPU is properly emulated or not. Improper behaviours of the emulator are detected by running the same test-case concurrently on the emulated and on the physical CPUs and by comparing the state of the two after the execution. Differences in the final state testify defects in the code of the emulator. We implemented this methodology in a prototype (codenamed EmuFuzzer), analysed four state-of-the-art IA-32 emulators (QEMU, Valgrind, Pin and BOCHS), and found several defects in each of them, some of which can prevent the proper execution of programs. Lorenzo Martignoni, Roberto Paleari, Giampaolo Fresi Roglia, Danilo Bruschi |
ISSTA | 2 |
| 2008 | On Race Vulnerabilities in Web Applications
Roberto Paleari, Davide Marrone, Danilo Bruschi, Mattia Monga |
DIMVA | 1 |
| 2008 | FluXOR: Detecting and Monitoring Fast-Flux Service Networks
Emanuele Passerini, Roberto Paleari, Lorenzo Martignoni, Danilo Bruschi |
DIMVA | 2 |