VLDB 2026 Research / reviewers in the wild / expert
Chengcheng Xiang
dblp:137/8952
· DBLP profile ↗
9ranked-venue papers
4as first author
3since 2021 · last 2024
0000-0001-5230-8881ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 4 · 1 first-author · 2 since 2021Software engineering, systems software and programming languages · 3 · 2 first-authorSecurity and privacy · 2 · 1 first-author · 1 since 2021Artificial intelligence and machine learning · 1 · 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
3 papers |
Program analysis · 51% Software maintenance and evolution · 32% Services computing and microservices · 17% | |
| Computer networks
2 papers |
Network management and operations · 100% | |
| Network and information security
2 papers |
Authentication and access control · 100% | |
| Human-computer interaction and pervasive computing
1 paper |
Usability and user experience research · 100% |
Topics — the 7 heaviest of 10, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis
bug detection |
0.8 | 1 | 2024 | Effective Bug Detection with Unused Definitions · EuroSys 2024 |
Program analysis
static analysis |
0.8 | 1 | 2024 | Effective Bug Detection with Unused Definitions · EuroSys 2024 |
Services computing and microservices
online service systems |
0.5 | 1 | 2021 | PYLIVE: On-the-Fly Code Change for Python-based Online Services · USENIX ATC 2021 |
Software maintenance and evolution › dynamic software updating
runtime code update |
0.5 | 1 | 2021 | PYLIVE: On-the-Fly Code Change for Python-based Online Services · USENIX ATC 2021 |
Network management and operations
configuration management |
0.4 | 1 | 2020 | PracExtractor: Extracting Configuration Good Practices from Manuals to Detect Server Misconfigurations · USENIX ATC 2020 |
Network management and operations › configuration verification
misconfiguration detection |
0.4 | 1 | 2020 | PracExtractor: Extracting Configuration Good Practices from Manuals to Detect Server Misconfigurations · USENIX ATC 2020 |
Network management and operations › network configuration
security configuration |
0.1 | 1 | 2019 | Towards Continuous Access Control Validation and Forensics · CCS 2019 |
Methods — techniques the papers use, named apart from their topics
time-changing decision tree · 0.8log-based policy inference · 0.8
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Effective Bug Detection with Unused DefinitionsabstractUnused definitions are values assigned to variables but not used. Since unused definitions are usually considered redundant code causing no severe consequences except for wasting CPU cycles, system developers usually treat them as mild warnings and simply remove them. In this paper, we reevaluate the effect of unused definitions and discover that some unused definitions could indicate non-trivial bugs like security issues or data corruption, which calls for more attention from developers. Chengcheng Xiang, Haochen Huang, Bingyu Shen 0002, Eric Mugnier, Yuanyuan Zhou 0001 |
EuroSys | 2 |
| 2021 | PYLIVE: On-the-Fly Code Change for Python-based Online Services
Haochen Huang, Chengcheng Xiang, Yuanyuan Zhou 0001 |
USENIX ATC | 2 |
| 2021 | Can Systems Explain Permissions Better? Understanding Users' Misperceptions under Smartphone Runtime Permission Model
Bingyu Shen 0002, Chengcheng Xiang, Yudong Wu, Mingyao Shen, Yuanyuan Zhou 0001, Xinxin Jin |
USENIX Security Symposium | 3 |
| 2020 | PracExtractor: Extracting Configuration Good Practices from Manuals to Detect Server Misconfigurations
Chengcheng Xiang, Haochen Huang, Andrew Yoo, Yuanyuan Zhou 0001, Shankar Pasupathy |
USENIX ATC | 1 |
| 2019 | Towards Continuous Access Control Validation and ForensicsabstractAccess control is often reported to be "profoundly broken" in real-world practices due to prevalent policy misconfigurations introduced by system administrators (sysadmins). Given the dynamics of resource and data sharing, access control policies need to be continuously updated. Unfortunately, to err is human-sysadmins often make mistakes such as over-granting privileges when changing access control policies. With today's limited tooling support for continuous validation, such mistakes can stay unnoticed for a long time until eventually being exploited by attackers, causing catastrophic security incidents. We present P-DIFF, a practical tool for monitoring access control behavior to help sysadmins early detect unintended access control policy changes and perform postmortem forensic analysis upon security attacks. P-DIFF continuously monitors access logs and infers access control policies from them. To handle the challenge of policy evolution, we devise a novel time-changing decision tree to effectively represent access control policy changes, coupled with a new learning algorithm to infer the tree from access logs. P-DIFF provides sysadmins with the inferred policies and detected changes to assist the following two tasks: (1) validating whether the access control changes are intended or not; (2) pinpointing the historical changes responsible for a given security attack. We evaluate P-DIFF with a variety of datasets collected from five real-world systems, including two from industrial companies. P-DIFF can detect 86%-100% of access control policy changes with an average precision of 89%. For forensic analysis, P-DIFF can pinpoint the root-cause change that permits the target access in 85%-98% of the evaluated cases. Chengcheng Xiang, Yudong Wu, Bingyu Shen 0002, Mingyao Shen, Haochen Huang, Tianyin Xu, Yuanyuan Zhou 0001, Cindy Moore, Xinxin Jin, Tianwei Sheng |
CCS | 1 |
| 2017 | ForenVisor: A Tool for Acquiring and Preserving Reliable Data in Cloud Live ForensicsabstractLive forensics is an important technique in cloud security but is facing the challenge of reliability. Most of the live forensic tools in cloud computing run either in the target Operating System (OS), or as an extra hypervisor. The tools in the target OS are not reliable, since they might be deceived by the compromised OS. Furthermore, traditional general purpose hypervisors are vulnerable due to their huge code size. However, some modules of a general purpose hypervisor, such as device drivers, are indeed unnecessary for forensics. In this paper, we propose a special purpose hypervisor, called ForenVisor, which is dedicated to reliable live forensics. The reliability is improved in three ways: reducing Trusted Computing Base (TCB) size by leveraging a lightweight architecture, collecting evidence directly from the hardware, and protecting the evidence and other sensitive files with Filesafe module. We have implemented a proof-of-concept prototype on the Windows platform, which can acquire the process data, raw memory, and I/O data, such as keystrokes and network traffic. Furthermore, we evaluate ForenVisor in terms of code size, functionality, and performance. The experiment results show that ForenVisor has a relatively small TCB size of about 13 KLOC, and only causes less than 10 percent performance reduction to the target system. In particular, our experiments verify that ForenVisor can guarantee that the protected files remain untampered, even when the guest OS is compromised by viruses, such as `ILOVEYOU' and Worm.WhBoy. Also, our system can be loaded as a hypervisor without needing to pause the target OS. This allows it to not only avoid destructing but also to gather the live evidence of the target OS. We also posted the source code of ForenVisor on Github. Zhengwei Qi, Chengcheng Xiang, Ruhui Ma, Jian Li 0021, Haibing Guan, David S. L. Wei |
IEEE Trans. Cloud Comput. | 2 |
| 2015 | Flexible and Extensible Runtime Verification for JavaabstractRuntime verification validates the correctness of a program's execution trace.Much work has been done on improving the expressiveness and efficiency of runtime verification.However, current approaches require static deployment of the verification logic and are often restricted to a limited set of events that can be captured and analyzed, hindering the adoption of runtime verification in production systems.A popular system for runtime verification in Java, JavaMOP (Monitor-Oriented Programming in Java), suffers from the aforementioned limitations due to its dependence on AspectJ, which supports neither dynamic weaving nor an extensible join-point model.In this paper, we extend the JavaMOP framework with a dynamic deployment API and a new MOP specification translator, which targets the domain-specific aspect language DiSL instead of AspectJ; DiSL offers an open join-point model that allows for extensions.A case study on lambda expressions in Java8 demonstrates the extensibility of our approach.Moreover, in comparison with JavaMOP using load-time weaving, our implementation reduces runtime overhead by 21%, and heap memory usage by 16%, on average. Chengcheng Xiang, Zhengwei Qi, Walter Binder |
SEKE | 1 |
| 2015 | Flexible and Extensible Runtime Verification for Java (Extended Version)abstractRuntime verification validates the correctness of a program’s execution trace. Much work has been done on improving the expressiveness and efficiency of runtime verification. However, current approaches require static deployment of the verification logic and are often restricted to a limited set of events that can be captured and analyzed, hindering the adoption of runtime verification in production systems. A popular system for runtime verification in Java, JavaMOP (Monitor-Oriented Programming in Java), suffers from the aforementioned limitations due to its dependence on AspectJ, which supports neither dynamic weaving nor an extensible join-point model. In this article, we extend the JavaMOP framework with a dynamic deployment API and a new MOP specification translator, which targets the domain-specific aspect language DiSL instead of AspectJ; DiSL offers an open join-point model that allows for extensions. A case study on lambda expressions in Java8 demonstrates the extensibility of our approach. Moreover, in comparison with JavaMOP using load-time weaving, our implementation reduces runtime overhead by 32%, and heap memory usage by 13%, on average. Chengcheng Xiang, Zhengwei Qi, Walter Binder |
Int. J. Softw. Eng. Knowl. Eng. | 1 |
| 2013 | An Automation-Assisted Empirical Study on Lock Usage for Concurrent ProgramsabstractNowadays concurrent programs are becoming more and more important with the development of hardware and network technologies. However, it is not easy for programmers to write reliable concurrent programs. Concurrency characteristics such as thread-interleaving make it difficult to debug or maintain concurrent programs. Although there are lots of research work on concurrency such as multi-thread testing tools, concurrent program verification and data race detection, all of them leave open problems. For instance, some are not scalable enough for large real world applications and some may report false warnings. Since locks are widely used to protect shared memory, it is beneficial for both programmers and tool designers in all fields to have a good understanding of common lock usage patterns in real world concurrent programs. This paper reports an empirical study on lock usage in concurrent programs. It is based on our automatic lock analysis tool called LUPA. The study analyzes how lock is used in concurrent programs and how lock usage changes throughout the product environment. In this study, four representative concurrent programs (Apache httpd, Mysql, Aget, Pbzip2) are selected, of which both lock manifestation and lock usage pattern in different versions are studied. This study reveals some interesting findings including but not limited to: (1) about 80.5% of the lock related functions acquire only one lock, (2) simple lock patterns account for 54.5% of all lock usage in real world applications, (3) only 12 out of 527 detected patterns belong to condition lock pattern which may lead to vulnerabilities easily, (4) only 0.65% of the functions are lock related. Additionally, a potential bug caused by problematic locking pattern is found. Zhengwei Qi, Shiqiu Huang, Chengcheng Xiang, Yudi Zheng, Yin Wang 0001, Haibing Guan |
ICSM | 4 |