VLDB 2026 Research / reviewers in the wild / expert
Shenming Lu
dblp:237/7645
· DBLP profile ↗
3ranked-venue papers
0as first author
1since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2Software engineering, systems software and programming languages · 1 · 1 since 2021
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 · 81% Program verification · 19% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 88% Distributed systems · 12% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
1.3 | 3 | 2021 | Chianina: an evolving graph system for flow- and context-sensitive analyses of million lines of C code · PLDI 2021 Systemizing Interprocedural Static Analysis of Large-scale Systems Code with Graspan · ACM Trans. Comput. Syst. 2020 Grapple: A Graph System for Static Finite-State Property Checking of Large-Scale Systems Code · EuroSys 2019 |
Program analysis › data flow analysis
context-sensitive dataflow analysis |
0.5 | 1 | 2021 | Chianina: an evolving graph system for flow- and context-sensitive analyses of million lines of C code · PLDI 2021 |
Program analysis › static analysis › pointer analysis
context-sensitive pointer analysis |
0.4 | 1 | 2020 | Systemizing Interprocedural Static Analysis of Large-scale Systems Code with Graspan · ACM Trans. Comput. Syst. 2020 |
Program analysis
data flow analysis |
0.4 | 1 | 2020 | Systemizing Interprocedural Static Analysis of Large-scale Systems Code with Graspan · ACM Trans. Comput. Syst. 2020 |
Program analysis › static analysis
interprocedural analysis |
0.4 | 1 | 2020 | Systemizing Interprocedural Static Analysis of Large-scale Systems Code with Graspan · ACM Trans. Comput. Syst. 2020 |
Parallel and multicore computing
parallel graph algorithms |
0.4 | 1 | 2020 | Systemizing Interprocedural Static Analysis of Large-scale Systems Code with Graspan · ACM Trans. Comput. Syst. 2020 |
Parallel and multicore computing › parallel graph algorithms
transitive closure |
0.4 | 1 | 2020 | Systemizing Interprocedural Static Analysis of Large-scale Systems Code with Graspan · ACM Trans. Comput. Syst. 2020 |
Program verification › model checking
finite-state verification |
0.4 | 1 | 2019 | Grapple: A Graph System for Static Finite-State Property Checking of Large-Scale Systems Code · EuroSys 2019 |
Program verification › model checking
software model checking |
0.4 | 1 | 2019 | Grapple: A Graph System for Static Finite-State Property Checking of Large-Scale Systems Code · EuroSys 2019 |
Program analysis › static analysis
scalable static analysis |
0.1 | 1 | 2021 | Chianina: an evolving graph system for flow- and context-sensitive analyses of million lines of C code · PLDI 2021 |
Methods — techniques the papers use, named apart from their topics
edge-pair centric computation model · 0.9disk-based parallel graph system · 0.9graph-based analysis · 0.8out-of-core disk support · 0.5evolving graph · 0.5
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | Chianina: an evolving graph system for flow- and context-sensitive analyses of million lines of C codeabstractSophisticated static analysis techniques often have complicated implementations, much of which provides logic for tuning and scaling rather than basic analysis functionalities. This tight coupling of basic algorithms with special treatments for scalability makes an analysis implementation hard to (1) make correct, (2) understand/work with, and (3) reuse for other clients. This paper presents Chianina, a graph system we developed for fully context- and flow-sensitive analysis of large C programs. Chianina overcomes these challenges by allowing the developer to provide only the basic algorithm of an analysis and pushing the tuning/scaling work to the underlying system. Key to the success of Chianina is (1) an evolving graph formulation of flow sensitivity and (2) the leverage of out-of-core, disk support to deal with memory blowup resulting from context sensitivity. We implemented three context- and flow-sensitive analyses on top of Chianina and scaled them to large C programs like Linux (17M LoC) on a single commodity PC. Zhiqiang Zuo 0002, Yiyu Zhang, Qiuhong Pan, Shenming Lu, Yue Li 0006, Linzhang Wang, Xuandong Li, Guoqing Harry Xu |
PLDI | 4 |
| 2020 | Systemizing Interprocedural Static Analysis of Large-scale Systems Code with GraspanabstractThere is more than a decade-long history of using static analysis to find bugs in systems such as Linux. Most of the existing static analyses developed for these systems are simple checkers that find bugs based on pattern matching. Despite the presence of many sophisticated interprocedural analyses, few of them have been employed to improve checkers for systems code due to their complex implementations and poor scalability. In this article, we revisit the scalability problem of interprocedural static analysis from a “Big Data” perspective. That is, we turn sophisticated code analysis into Big Data analytics and leverage novel data processing techniques to solve this traditional programming language problem. We propose Graspan , a disk-based parallel graph system that uses an edge-pair centric computation model to compute dynamic transitive closures on very large program graphs. We develop two backends for Graspan, namely, Graspan-C running on CPUs and Graspan-G on GPUs, and present their designs in the article. Graspan-C can analyze large-scale systems code on any commodity PC, while, if GPUs are available, Graspan-G can be readily used to achieve orders of magnitude speedup by harnessing a GPU’s massive parallelism. We have implemented fully context-sensitive pointer/alias and dataflow analyses on Graspan. An evaluation of these analyses on large codebases written in multiple languages such as Linux and Apache Hadoop demonstrates that their Graspan implementations are language-independent, scale to millions of lines of code, and are much simpler than their original implementations. Moreover, we show that these analyses can be used to uncover many real-world bugs in large-scale systems code. Zhiqiang Zuo 0002, Kai Wang 0029, Aftab Hussain 0001, Ardalan Amiri Sani, Yiyu Zhang, Shenming Lu, Wensheng Dou, Linzhang Wang, Xuandong Li, Chenxi Wang 0005, Guoqing Harry Xu |
ACM Trans. Comput. Syst. | 6 |
| 2019 | Grapple: A Graph System for Static Finite-State Property Checking of Large-Scale Systems CodeabstractMany real-world bugs in large-scale systems are related to object state that is supposed to obey a specified finite state machine (FSM). They are triggered when unexpected events occur on objects in certain states, making these objects transition in a way that violates their specifications. Detecting such FSM-related bugs with static analysis is challenging, especially in distributed systems that have large codebases. Zhiqiang Zuo 0002, John Thorpe, Qiuhong Pan, Shenming Lu, Kai Wang 0029, Guoqing Harry Xu, Linzhang Wang, Xuandong Li |
EuroSys | 5 |