VLDB 2026 Research / reviewers in the wild / expert
Xuepeng Fan
dblp:88/9078
· DBLP profile ↗
10ranked-venue papers
2as first author
1since 2021 · last 2023
0009-0005-7039-963XORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 2 · 1 first-author · 1 since 2021Computer networks · 2Software engineering, systems software and programming languages · 2Applied, interdisciplinary, general and emerging computing · 2 · 1 first-authorSecurity and privacy · 1
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 · 55% Software maintenance and evolution · 17% Empirical software engineering · 17% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Parallel and multicore computing · 58% Distributed systems · 42% |
Topics — the 9 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis
static analysis |
0.3 | 2 | 2015 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · IEEE Trans. Parallel Distributed Syst. 2015 Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · OSDI 2012 |
Program analysis
configuration analysis |
0.2 | 1 | 2015 | Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software · ESEC/SIGSOFT FSE 2015 |
Empirical software engineering
mining software repositories |
0.2 | 1 | 2015 | Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software · ESEC/SIGSOFT FSE 2015 |
Software maintenance and evolution
software configuration |
0.2 | 1 | 2015 | Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system software · ESEC/SIGSOFT FSE 2015 |
Program analysis
symbolic execution |
0.2 | 1 | 2015 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · IEEE Trans. Parallel Distributed Syst. 2015 |
Compilers and program optimization
compiler optimization |
0.1 | 1 | 2012 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · OSDI 2012 |
Parallel and multicore computing
data-parallel programming |
0.1 | 1 | 2012 | Optimizing Data Shuffling in Data-Parallel Computation by Understanding User-Defined Functions · NSDI 2012 |
Distributed systems › distributed data processing
data shuffling |
0.1 | 1 | 2012 | Optimizing Data Shuffling in Data-Parallel Computation by Understanding User-Defined Functions · NSDI 2012 |
Parallel and multicore computing
parallel programming models |
0.1 | 1 | 2012 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE · OSDI 2012 |
Methods — techniques the papers use, named apart from their topics
symbolic execution · 0.4dead code elimination · 0.4static analysis · 0.3code optimization · 0.3empirical study · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Phoenix: A Live Upgradable Blockchain ClientabstractBlockchain is an important supporting technology for various sustainable systems. It relies on a number of distributed nodes running blockchain client software, which is responsible for some critical tasks, such as communicating with other nodes and generating new blocks. However, the quick evolution of blockchain technology brings crucial challenges to blockchain client design. After carefully examining existing blockchain client software, we have identified a critical weakness: Blockchain clients are weak in supporting live upgrades, resulting in a blockchain fork that incurs security concerns and risks. In this article, we propose Phoenix, a novel blockchain client design that is live upgradable. Phoenix uses blockchain service encapsulation to decouple blockchain services. Based on service encapsulation, we propose a live upgrade scheme that packs upgrade codes into blockchain transactions and uses a Just-In-Time engine to avoid service interruption. A parallel execution engine is developed to increase service efficiency. We evaluated Phoenix on a 51-node blockchain, and experimental results show that Phoenix outperforms existing solutions in overhead and upgrade latency. Chenmin Wang, Peng Li 0017, Xuepeng Fan, Zaiyang Tang, Yulong Zeng, Kouichi Sakurai |
IEEE Trans. Sustain. Comput. | 3 |
| 2019 | FunctionFlow: coordinating parallel tasks
Xuepeng Fan, Xiaofei Liao, Hai Jin 0001 |
Frontiers Comput. Sci. | 1 |
| 2017 | Automatically Setting Parameter-Exchanging Interval for Deep Learning
Xiaofei Liao, Xuepeng Fan, Hai Jin 0001, Qiongjie Yao, Yu Zhang 0027 |
Mob. Networks Appl. | 3 |
| 2015 | Hey, you have given me too many knobs!: understanding and dealing with over-designed configuration in system softwareabstractConfiguration problems are not only prevalent, but also severely impair the reliability of today's system software. One fundamental reason is the ever-increasing complexity of configuration, reflected by the large number of configuration parameters ("knobs"). With hundreds of knobs, configuring system software to ensure high reliability and performance becomes a daunting, error-prone task. This paper makes a first step in understanding a fundamental question of configuration design: "do users really need so many knobs?" To provide the quantitatively answer, we study the configuration settings of real-world users, including thousands of customers of a commercial storage system (Storage-A), and hundreds of users of two widely-used open-source system software projects. Our study reveals a series of interesting findings to motivate software architects and developers to be more cautious and disciplined in configuration design. Motivated by these findings, we provide a few concrete, practical guidelines which can significantly reduce the configuration space. Take Storage-A as an example, the guidelines can remove 51.9% of its parameters and simplify 19.7% of the remaining ones with little impact on existing users. Also, we study the existing configuration navigation methods in the context of "too many knobs" to understand their effectiveness in dealing with the over-designed configuration, and to provide practices for building navigation support in system software. Tianyin Xu, Xuepeng Fan, Yuanyuan Zhou 0001, Shankar Pasupathy, Rukma Talwadker |
ESEC/SIGSOFT FSE | 3 |
| 2015 | Understanding and identifying latent data races cross-thread interleaving
Long Zheng 0003, Xiaofei Liao, Song Wu 0001, Xuepeng Fan, Hai Jin 0001 |
Frontiers Comput. Sci. | 4 |
| 2015 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPEabstractTo minimize the amount of data-shuffling I/O that occurs between the pipeline stages of a distributed data-parallel program, its procedural code must be optimized with full awareness of the pipeline that it executes in. Unfortunately, neither pipeline optimizers nor traditional compilers examine both the pipeline and procedural code of a data-parallel program so programmers must either hand-optimize their program across pipeline stages or live with poor performance. To resolve this tension between performance and programmability, this paper describes PeriSCOPE, which automatically optimizes a data-parallel program's procedural code in the context of data flow that is reconstructed from the program's pipeline topology. Such optimizations eliminate unnecessary code and data, perform early data filtering, and calculate small derived values (e.g., predicates) earlier in the pipeline, so that less data - sometimes much less data - is transferred between pipeline stages. PeriSCOPE further leverages symbolic execution to enlarge the scope of such optimizations by eliminating dead code. We describe how PeriSCOPE is implemented and evaluate its effectiveness on real production jobs. Xuepeng Fan, Hai Jin 0001, Xiaofei Liao, Hucheng Zhou, Sean McDirmid, Wei Lin 0016, Jingren Zhou 0001, Lidong Zhou |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2012 | Optimizing Data Shuffling in Data-Parallel Computation by Understanding User-Defined Functions
Hucheng Zhou, Rishan Chen, Xuepeng Fan, Haoxiang Lin, Jack Li 0001, Wei Lin 0016, Jingren Zhou 0001, Lidong Zhou |
NSDI | 4 |
| 2012 | Spotting Code Optimizations in Data-Parallel Pipelines through PeriSCOPE
Xuepeng Fan, Rishan Chen, Hucheng Zhou, Sean McDirmid, Chang Liu 0021, Wei Lin 0016, Jingren Zhou 0001, Lidong Zhou |
OSDI | 2 |
| 2012 | An Efficient Distributed Transactional Memory SystemabstractTransactional memory (TM) is a parallel programming concept which reduces challenges in parallel programming. Existing distributed transactional memory system consumes too much bandwidth and brings high latency. In this work, we present Transactional Memory System for Cluster (Clustm), a generalized and scalable distributed transactional memory system. Our system addresses several open issues posed by this domain, including transactional memory consistency protocol, cache consistency protocol, and the distribution strategy of the metadata of shared data across the cluster. Then, we evaluate our design with several workloads, and the results demonstrate outstanding performance. Xiaofei Liao, Hai Jin 0001, Xuepeng Fan, Xuping Tu, Linchen Yu |
TrustCom | 4 |
| 2010 | Meld: A Real-Time Message Logic Debugging System for Distributed SystemsabstractThe largest difference between a distributed and a non-distributed system is that the former introduces network messages to the system. Network messages bring the scalability to a distributed system as well as complexity to it. Testing large-scale distributed systems is a great challenge, because some errors happen after a distributed sequence of events that involves machine and network failures. Meld is a checker that allows developers to specify expected message logic on a deployed distributed system, and that verifies these logics while the system is running. When Meld finds a problem it starts collecting more information that led to the problem, allowing developers to quickly find the root cause. Developers write message logics on Meld and Meld verifies them through analyzing the collected abstract of messages. By using binary instrumentation, Meld works almost transparently with debugged systems and can change logics to be checked at runtime. An evaluation with a deployed system shows that Meld can detect non-trivial correctness at runtime. Xuping Tu, Hai Jin 0001, Xuepeng Fan, Jiang Ye |
APSCC | 3 |