VLDB 2026 Research / reviewers in the wild / expert
Xiaoguang Wang 0003
dblp:38/2429-3
· DBLP profile ↗
13ranked-venue papers
5as first author
4since 2021 · last 2026
0000-0001-5055-4552ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 4 · 1 first-author · 1 since 2021Security and privacy · 4 · 2 first-authorSoftware engineering, systems software and programming languages · 4 · 1 first-author · 3 since 2021Computer networks · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | Stretch: A Fault-Driven DSM Runtime for Distributed Multithreaded ApplicationsabstractRecent Linux memory-management interfaces make it practical to revisit distributed shared memory (DSM) as a deployable runtime substrate for conventional multithreaded software. We present Stretch, a userspace fault-driven page-granularity DSM runtime that combines userfaultfd-based fault interception, centralized MSI-style coherence (i.e., Modified, Shared, or Invalid), and CRIU-based thread placement to extend a process across multiple machines. Missing-page and write-protection faults are translated into fetch, invalidation, and ownership-transfer operations, while distributed barriers and coarse-grained mutexes reuse the same mechanism. Stretch supports both automatic tracking of anonymous regions and an explicit tracked-region mode that focuses coherence on genuinely shared memory. Edoardo D'Alessio, Mohamed Husain Noor Mohamed, Xiaoguang Wang 0003, Binoy Ravindran |
ISMM | 3 |
| 2024 | Dapper: A Lightweight and Extensible Framework for Live Program State RewritingabstractWe present Dapper, a lightweight system that transforms the execution state of a live process into a new process state in a secure and extensible manner. Dapper checkpoints a live process into a process image using Linux's CRIU mechanism, rewrites the image with an updated execution state, and restores program execution. In particular, Dapper can restore the program execution on a CPU with a different architecture by rewriting the process's architecture-specific execution state. Dapper transforms the process externally and only requires inserting a small amount of compile-time metadata to guide the state transformation. Therefore, Dapper brings a smaller attack surface for the transformed program and can be extended for different scenarios in contrast to existing techniques. We build and evaluate a prototype of Dapper using server applications and benchmark suites. Our evaluation shows that Dapper can be extended and used in many different scenarios, such as improving servers' energy efficiency by live program migration on heterogeneous processors and enhancing program security with dynamic randomness of the program states. Abhishek Bapat, Jaidev Shastri, Xiaoguang Wang 0003, Abilesh Sundarasamy, Binoy Ravindran |
ICDCS | 3 |
| 2024 | sMVX: Multi-Variant Execution on Selected Code PathsabstractMulti-Variant Execution (MVX) is an effective way to detect memory corruption vulnerabilities, intrusions, or live software updates. A traditional MVX system concurrently runs multiple copies of functionally identical, layout-different program variants. Therefore, a typical memory corruption attack that forges pointers can succeed on at most one variant, leading the other variant(s) to crash. The replicated execution adds software security and reliability but also brings multiple times of CPU and memory usage. Sengming Yeoh, Xiaoguang Wang 0003, Jae-Won Jang, Binoy Ravindran |
Middleware | 2 |
| 2023 | DynaCut: A Framework for Dynamic and Adaptive Program CustomizationabstractSoftware is becoming increasingly complex and feature-rich, yet only part of any given codebase is frequently used. Existing software customization and debloating approaches target static binaries, focusing on feature discovery, control-flow analysis, and binary rewriting. As a result, the customized program binary has a smaller attack surface as well as less available functionality. This means that once a software's use scenario changes, the customized binary may not be usable. Abhijit Mahurkar, Xiaoguang Wang 0003, Hang Zhang 0012, Binoy Ravindran |
Middleware | 2 |
| 2020 | Dynamic and Secure Memory Transformation in Userspace
Robert Lyerly, Xiaoguang Wang 0003, Binoy Ravindran |
ESORICS (1) | 2 |
| 2020 | A Framework for Software Diversification with ISA Heterogeneity
Xiaoguang Wang 0003, Sengming Yeoh, Robert Lyerly, Pierre Olivier, Sang-Hoon Kim, Binoy Ravindran |
RAID | 1 |
| 2019 | Design and Implementation of SecPod, A Framework for Virtualization-Based Security SystemsabstractThe OS kernel is critical to the security of a computer system. Many systems have been proposed to improve its security. A fundamental weakness of those systems is that page tables, the data structures that control the memory protection, are not isolated from the vulnerable kernel, and thus subject to tampering. To address that, researchers have relied on virtualization for reliable kernel memory protection. Unfortunately, such memory protection requires to monitor every update to the guest's page tables. This fundamentally conflicts with the recent advances in the hardware virtualization support. In this paper, we present the design and implementation of SecPod, a practical and extensible framework for virtualization-based security systems that can provide both strong isolation and the compatibility with modern hardware. SecPod has two key techniques:paging delegationdelegates and audits the kernel's paging operations to a secure space;execution trappingintercepts the (compromised) kernel's attempts to subvert SecPod by misusing privileged instructions. We have implemented a prototype of SecPod based on KVM. Our experiments show that SecPod is both effective and efficient. Xiaoguang Wang 0003, Yong Qi 0001, Zhi Wang 0004, Yajin Zhou |
IEEE Trans. Dependable Secur. Comput. | 1 |
| 2017 | SecretSafe: A Lightweight Approach against Heap Buffer Over-Read AttackabstractSoftware memory disclosure attacks, such as buffer over-read, often work quietly and would cause secret data leakage. The well-known OpenSSL Heartbleed vulnerability leaked out millions of servers' private keys, which caused most of the Internet services insecure at that time. Existing solutions are either hard to apply to large code bases (e.g., through formal verification [20] or symbolic execution [8] on program code), or too heavyweight (e.g., by involving a hypervisor software [23], [24] or a modified operating system kernel [17]). In this paper, we propose SecretSafe, a lightweight and easy-to-use system which leverages the traditional x86 segmentation mechanism to isolate the application secrets from the remaining data. Software developers could prevent the secrets from being leaked out by simply declaring the secret variables with SECURE keyword. Our customized compiler will automatically separate the secrets from the remaining non-secret data with an isolated memory segment. Any legal instructions that have to access the secrets will be automatically instrumented to enable accesses to the isolated segment. We have implemented a SecretSafe prototype with the open source LLVM compiler framework. The evaluation shows that SecretSafe is both secure and efficient. Xiaoguang Wang 0003, Yong Qi 0001, Saiyu Qi, Peijian Wang |
COMPSAC (1) | 1 |
| 2017 | Secure the commodity applications against address exposure attacksabstractRemote server vulnerability exploit is one of the most troublesome threat to the Internet security. An effective defense against the remote vulnerability exploit is code randomization, which randomizes the program code address to disrupt the malicious payload execution. Unfortunately, code randomization is particularly susceptible to address exposure vulnerabilities; the leak of a single code or data pointer is often sufficient to de-randomize the protected process. Existing solutions either prevent part of the address exposures (e.g., code-pointer exposure only), or are too heavyweight (e.g., have to involve a hypervisor software or a modified OS kernel). In this paper, we propose AXIS that can provide existing code randomization techniques with a comprehensive protection against address exposure. AXIS first redirects the code pointers through an indirection table that is protected by the execute-no-read memory segment. During the load time, all static data will be relocated to random locations, which breaks the fixed offsets between code and data. We have implemented a prototype of AXIS with only a customized compiler and a pre-loaded library. Our experiments show that AXIS can successfully eliminate address exposure with a minimal performance overhead. Xiaoguang Wang 0003, Yong Qi 0001 |
ISCC | 1 |
| 2015 | SecPod: a Framework for Virtualization-based Security Systems
Xiaoguang Wang 0003, Zhi Wang 0004, Yong Qi 0001, Yajin Zhou |
USENIX ATC | 1 |
| 2015 | AppSec: A Safe Execution Environment for Security Sensitive ApplicationsabstractMalicious OS kernel can easily access user's private data in main memory and pries human-machine interaction data, even one that employs privacy enforcement based on application level or OS level. This paper introduces AppSec, a hypervisor-based safe execution environment, to protect both the memory data and human-machine interaction data of security sensitive applications from the untrusted OS transparently. Jianbao Ren, Yong Qi 0001, Yue-hua Dai, Xiaoguang Wang 0003 |
VEE | 4 |
| 2014 | ARMlock: Hardware-based Fault Isolation for ARMabstractSoftware fault isolation (SFI) is an effective mechanism to confine untrusted modules inside isolated domains to protect their host applications. Since its debut, researchers have proposed different SFI systems for many purposes such as safe execution of untrusted native browser plugins. However, most of these systems focus on the x86 architecture. Inrecent years, ARM has become the dominant architecture for mobile devices and gains in popularity in data centers.Hence there is a compellingneed for an efficient SFI system for the ARM architecture. Unfortunately, existing systems either have prohibitively high performance overhead or place various limitations on the memory layout and instructions of untrusted modules. Yajin Zhou, Xiaoguang Wang 0003, Zhi Wang 0004 |
CCS | 2 |
| 2013 | A lightweight VMM on many core for high performance computingabstractTraditional Virtual Machine Monitor (VMM) virtualizes some devices and instructions, which induces performance overhead to guest operating systems. Furthermore, the virtualization contributes a large amount of codes to VMM, which makes a VMM prone to bugs and vulnerabilities. Yue-hua Dai, Yong Qi 0001, Jianbao Ren, Xiaoguang Wang 0003 |
VEE | 5 |