EDBT 2026 Demo / reviewers in the wild / expert
Xiao Liu 0025
dblp:82/1364-25
· DBLP profile ↗
8ranked-venue papers
2as first author
3since 2021 · last 2022
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 4 · 2 since 2021Artificial intelligence and machine learning · 2 · 1 first-author · 1 since 2021Software engineering, systems software and programming languages · 2 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2 · 1 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2022 | ALPHAPROG: Reinforcement Generation of Valid Programs for Compiler FuzzingabstractFuzzing is a widely-used testing technique to assure software robustness. However, automatic generation of high-quality test suites is challenging, especially for software that takes in highly-structured inputs, such as the compilers. Compiler fuzzing remains difficult as generating tons of syntactically and semantically valid programs is not trivial. Most previous methods either depend on human-crafted grammars or heuristics to learn partial language patterns. They both suffer from the completeness issue that is a classic puzzle in software testing. To mitigate the problem, we propose a knowledge-guided reinforcement learning-based approach to generating valid programs for compiler fuzzing. We first design a naive learning model which evolves with the sequential mutation rewards provided by a target compiler we test. By iterating the training cycle, the model learns to generate valid programs that can improve the testing efficacy as well. We implement the proposed method into a tool called ALPHAPROG. We analyze the framework with four different reward functions and our study reveal the effectiveness of ALPHAPROG for compiler testing. We also reported two important bugs for a compiler production that were confirmed and addressed by the project owner, which further demonstrates ALPHAPROG's applied value in practice. Xiaoting Li 0001, Xiao Liu 0025, Lingwei Chen, Rupesh Prajapati, Dinghao Wu |
AAAI | 2 |
| 2022 | FuzzBoost: Reinforcement Compiler Fuzzing
Xiaoting Li 0001, Xiao Liu 0025, Lingwei Chen, Rupesh Prajapati, Dinghao Wu |
ICICS | 2 |
| 2022 | Generating Effective Software Obfuscation Sequences With Reinforcement LearningabstractObfuscation is a prevalent security technique which transforms syntactic representation of a program to a complicated form, but still keeps program semantics unchanged. So far, developers heavily rely on obfuscation to harden their products and reduce the risk of adversarial reverse engineering. However, despite its spectacular progress, one crucial hurdle is that each of existing obfuscation method is designed specifically for obfuscating one program feature (e.g., identifier name, control flow), so an effective obfuscation scheme usually composes a considerable amount of different obfuscation methods. Therefore, one primary challenge lies in identifying effective combinations of obfuscation methods. In this research, we propose a principled technique for generating an optimal program obfuscation scheme by adopting a reinforcement learning approach. Given a program and a set of obfuscation transformations, a reinforcement learning model is progressively trained to select a sequence of obfuscation transformations, such that applying each transformation in order toward the program yields the optimal obfuscation result, making programs dissimilar while retaining reasonable instrumentation overhead. Our implementation can directly work on raw binary executables without source code, and our evaluation demonstrates that the trained models can effectively obfuscate executable files with low cost. Huaijin Wang 0001, Shuai Wang 0011, Dongpeng Xu 0001, Xiao Liu 0025 |
IEEE Trans. Dependable Secur. Comput. | 5 |
| 2019 | DeepFuzz: Automatic Generation of Syntax Valid C Programs for Fuzz TestingabstractCompilers are among the most fundamental programming tools for building software. However, production compilers remain buggy. Fuzz testing is often leveraged with newlygenerated, or mutated inputs in order to find new bugs or security vulnerabilities. In this paper, we propose a grammarbased fuzzing tool called DEEPFUZZ. Based on a generative Sequence-to-Sequence model, DEEPFUZZ automatically and continuously generates well-formed C programs. We use this set of new C programs to fuzz off-the-shelf C compilers, e.g., GCC and Clang/LLVM. We present a detailed case study to analyze the success rate and coverage improvement of the generated C programs for fuzz testing. We analyze the performance of DEEPFUZZ with three types of sampling methods as well as three types of generation strategies. Consequently, DEEPFUZZ improved the testing efficacy in regards to the line, function, and branch coverage. In our preliminary study, we found and reported 8 bugs of GCC, all of which are actively being addressed by developers. Xiao Liu 0025, Xiaoting Li 0001, Rupesh Prajapati, Dinghao Wu |
AAAI | 1 |
| 2019 | Identifying Cache-Based Side Channels through Secret-Augmented Abstract Interpretation
Shuai Wang 0011, Yuyan Bao, Xiao Liu 0025, Pei Wang 0007, Danfeng Zhang, Dinghao Wu |
USENIX Security Symposium | 3 |
| 2018 | RedDroid: Android Application Redundancy Customization Based on Static AnalysisabstractSmartphone users are installing more and bigger apps. At the meanwhile, each app carries considerable amount of unused stuff, called software bloat, in its apk file. As a result, the resources of a smartphone, such as hard disk and network bandwidth, has become even more insufficient than ever before. Therefore, it is critical to investigate existing apps on the market and apps in development to identify the sources of software bloat and develop techniques and tools to remove the bloat. In this paper, we present a comprehensive study of software bloat in Android applications, and categorize them into two types, compile-time redundancy and install-time redundancy. In addition, we further propose a static analysis based approach to identifying and removing software bloat from Android applications. We implemented our approach in a prototype called RedDroid, and we evaluated RedDroid on thousands of Android applications collected from Google Play. Our experimental results not only validate the effectiveness of our approach, but also report the bloatware issue in real-world Android applications for the first time. Yufei Jiang, Qinkun Bao, Shuai Wang 0011, Xiao Liu 0025, Dinghao Wu |
ISSRE | 4 |
| 2017 | CacheD: Identifying Cache-Based Timing Channels in Production Software
Shuai Wang 0011, Pei Wang 0007, Xiao Liu 0025, Danfeng Zhang, Dinghao Wu |
USENIX Security Symposium | 3 |
| 2014 | PiE: programming in elizaabstractEliza, a primitive example of natural language processing, adopts a rule-based method to conduct simple conversations with people. In this paper, we extend Eliza for a novel application. We propose a system to assist with program synthesis called Programming in Eliza (PiE). According to a set of rules, PiE can automatically synthesize programs from natural language conversations between Eliza and users. PiE is useful for programming in domain-specific languages. We have implemented PiE to synthesize programs in the LOGO programming language, and our experimental results show that, on average, the success ratio is 88.4% for synthesizing LOGO programs from simple conversations with Eliza. PiE also enables end-users with no experience to program in LOGO with a smoother learning curve. Xiao Liu 0025, Dinghao Wu |
ASE | 1 |