Guoliang Jin

dblp:73/8636 · DBLP profile ↗
← Back
24ranked-venue papers
4as first author
7since 2021 · last 2026
0000-0002-6303-6858ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 17 · 4 first-author · 3 since 2021Systems, architecture and hardware · 7 · 1 since 2021Databases, data management, data science and information retrieval · 2 · 2 since 2021Applied, interdisciplinary, general and emerging computing · 2 · 1 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Computer networks · 1 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021Theory of computation · 1
YearPublicationVenuePosition
2026 Themis: Detecting Distributed Concurrency Bugs through RPC-Driven Race-Directed Test Generation and Fuzzing
Hongchen Cao, Jingzhu He, Guoliang Jin
NSDI4
2024 Dockless Electric Scooters Worldwide: Methods and Analysis
abstract
Usage data on Dockless Electric Scooters (DES) is crucial for developing policies and mobility applications to support shared transportation by understanding their supply and utilization. However, such data is not publicly available and prior DES studies relied on DES providers for the provision of usage data, which is often incomplete and difficult to obtain. This limits the ability to audit these datasets and study DES usage trends globally and over time. This paper addresses these limitations by introducing scalable methods to continuously collect DES data globally without relying on providers. We collect DES usage trends from 12 providers across 11 cities worldwide and examine supply and utilization trends and provider competition in this study.
Hassan Ali Khan, Muhammad Shahzad 0001, Guoliang Jin
SIGSPATIAL/GIS3
2022 Understanding and Reaching the Performance Limit of Schedule Tuning on Stable Synchronization Determinism
abstract
Deterministic MultiThreading (DMT) systems eliminate nondeterminism from the dynamic executions of multithreaded programs. They can greatly simplify multithreaded programming and ease the deployment of systems that rely on replication. We first categorize and compare existing DMT system designs along three axes, incorporating the most recent advances in DMT systems. From our study, we conclude that stable synchronization determinism is the most cost-effective design, and it is thus the focus of our work.
Qi Zhao 0003, Zhengyi Qiu, Shudi Shao, Xinning Hui, Hassan Ali Khan, Guoliang Jin
PACT6
2022 RMS: Removing Barriers to Analyze the Availability and Surge Pricing of Ridesharing Services
abstract
Ridesharing services do not make data of their availability (supply, utilization, idle time, and idle distance) and surge pricing publicly available. It limits the opportunities to study the spatiotemporal trends of the availability and surge pricing of these services. Only a few research studies conducted in North America analyzed these features for only Uber and Lyft. Despite the interesting observations, the results of prior works are not generalizable or reproducible because: i) the datasets collected in previous publications are spatiotemporally sensitive, i.e., previous works do not represent the current availability and surge pricing of ridesharing services in different parts of the world; and ii) the analyses presented in previous works are limited in scope (in terms of countries and ridesharing services they studied). Hence, prior works are not generally applicable to ridesharing services operating in different countries.
Hassan Ali Khan, Hassan Iqbal, Muhammad Shahzad 0001, Guoliang Jin
CHI4
2022 A Deep Study of the Effects and Fixes of Server-Side Request Races in Web Applications
abstract
Server-side web applications are vulnerable to request races. While some previous studies of real-world request races exist, they primarily focus on the root cause of these bugs. To better combat request races in server-side web applications, we need a deep understanding of their characteristics. In this paper, we provide a complementary focus on race effects and fixes with an enlarged set of request races from web applications developed with Object-Relational Mapping (ORM) frameworks. We revisit characterization questions used in previous studies on newly included request races, distinguish the external and internal effects of request races, and relate request-race fixes with concurrency control mechanisms in languages and frameworks for developing server-side web applications.
Zhengyi Qiu, Shudi Shao, Qi Zhao 0003, Hassan Ali Khan, Xinning Hui, Guoliang Jin
MSR6
2021 A Characteristic Study of Deadlocks in Database-Backed Web Applications
abstract
Deadlocks in database-backed web applications could involve different numbers of HTTP requests, and they could be caused by locks explicitly requested in application code or implicitly requested by databases during query execution. To help developers understand these deadlocks and guide the design of tools for combating these deadlocks, we conduct a characteristic study with 49 deadlocks collected from real-world web applications developed following different programming paradigms. We provide categorization results based on HTTP request numbers and resource types, with a special focus on cat-egorizing deadlocks on database locks. We expect our results to be useful for application developers to understand web-application deadlocks and for tool researchers to design comprehensive support for combating web-application deadlocks.
Zhengyi Qiu, Shudi Shao, Qi Zhao 0003, Guoliang Jin
ISSRE4
2021 Understanding and detecting server-side request races in web applications
abstract
Modern web sites often run web applications on the server to handle HTTP requests from users and generate dynamic responses. Due to their concurrent nature, web applications are vulnerable to server-side request races. The problem becomes more severe with the ever-increasing popularity of web applications.
Zhengyi Qiu, Shudi Shao, Qi Zhao 0003, Guoliang Jin
ESEC/SIGSOFT FSE4
2020 HangFix: automatically fixing software hang bugs for production cloud systems
abstract
Software hang bugs are notoriously difficult to debug, which often cause serious service outages in cloud systems. In this paper, we present HangFix, a software hang bug fixing framework which can automatically fix a hang bug that is triggered and detected in production cloud environments. HangFix first leverages stack trace analysis to localize the hang function and then performs root cause pattern matching to classify hang bugs into different types based on likely root causes. Next, HangFix generates effective code patches based on the identified root cause patterns. We have implemented a prototype of HangFix and evaluated the system on 42 real-world software hang bugs in 10 commonly used cloud server applications. Our results show that HangFix can successfully fix 40 out of 42 hang bugs in seconds.
Jingzhu He, Xiaohui Gu, Guoliang Jin
SoCC4
2020 Database-Access Performance Antipatterns in Database-Backed Web Applications
abstract
Database-backed web applications are prone to performance bugs related to database accesses. While much work has been conducted on database-access antipatterns with some recent work focusing on performance impact, there still lacks a comprehensive view of database-access performance antipatterns in database-backed web applications. To date, no existing work systematically reports known antipatterns in the literature, and no existing work has studied database-access performance bugs in major types of web applications that access databases differently.To address this issue, we first summarize all known database-access performance antipatterns found through our literature survey, and we report all of them in this paper. We further collect database-access performance bugs from web applications that access databases through language-provided SQL interfaces, which have been largely ignored by recent work, to check how extensively the known antipatterns can cover these bugs. For bugs not covered by the known antipatterns, we extract new database-access performance antipatterns based on real-world performance bugs from such web applications. Our study in total reports 24 known and 10 new database-access performance antipatterns. Our results can guide future work to develop effective tool support for different types of web applications.
Shudi Shao, Zhengyi Qiu, Wei Yang 0013, Guoliang Jin, Tao Xie 0001, Xintao Wu
ICSME5
2020 BarrierFinder: recognizing ad hoc barriers
Tao Wang 0077, Zhengyi Qiu, Guoliang Jin, Frank Mueller 0001
Empir. Softw. Eng.4
2019 BARRIERFINDER: Recognizing Ad Hoc Barriers
abstract
Ad hoc synchronizations are pervasive in multi-threaded programs. Due to their diversity and complexity, understanding the enforced synchronization relationships of ad hoc synchronizations is challenging but crucial to multi-threaded program development and maintenance. Existing techniques can partially detect primitive ad hoc synchronizations, but they cannot recognize complete implementations or infer the enforced synchronization relationships. In this paper, we propose a framework to automatically identify complex ad hoc synchronizations in full and infer their synchronization relationships for barriers. We instantiate the framework with a tool called BARRIERFINDER, which features various techniques, including program slicing and bounded symbolic execution, to efficiently explore interleaving space of ad hoc synchronizations within multi-threaded programs for their traces. BARRIERFINDER then uses these traces to recognize ad hoc barriers. Our evaluation shows that BARRIERFINDER is both effective and efficient in recognizing ad hoc barriers automatically.
Tao Wang 0077, Zhengyi Qiu, Guoliang Jin, Frank Mueller 0001
ICSME4
2019 Semantics-aware scheduling policies for synchronization determinism
abstract
A common task for all deterministic multithreading (DMT) systems is to enforce synchronization determinism. However, synchronization determinism has not been the focus of existing DMT research. Instead, most DMT systems focused on how to order data races remained after synchronization determinism is enforced. Consequently, existing scheduling policies for synchronization determinism all have limitations. They may either require performance annotations to achieve good performance or fail to provide schedule stability.
Qi Zhao 0003, Zhengyi Qiu, Guoliang Jin
PPoPP3
2018 Dataflow tunneling: mining inter-request data dependencies for request-based applications
abstract
Request-based applications, e.g., most server-side applications, expose services to users in a request-based paradigm, in which requests are served by request-handler methods. An important task for request-based applications is inter-request analysis, which analyzes request-handler methods that are related by inter-request data dependencies together. However, in the request-based paradigm, data dependencies between related request-handler methods are implicitly established by the underlying frameworks that execute these methods. As a result, existing analysis tools are usually limited to the scope of each single method without the knowledge of dependencies between different methods.
Guoliang Jin
ICSE2
2016 CloudSeer: Workflow Monitoring of Cloud Infrastructures via Interleaved Logs
abstract
Cloud infrastructures provide a rich set of management tasks that operate computing, storage, and networking resources in the cloud. Monitoring the executions of these tasks is crucial for cloud providers to promptly find and understand problems that compromise cloud availability. However, such monitoring is challenging because there are multiple distributed service components involved in the executions. CloudSeer enables effective workflow monitoring. It takes a lightweight non-intrusive approach that purely works on interleaved logs widely existing in cloud infrastructures. CloudSeer first builds an automaton for the workflow of each management task based on normal executions, and then it checks log messages against a set of automata for workflow divergences in a streaming manner. Divergences found during the checking process indicate potential execution problems, which may or may not be accompanied by error log messages. For each potential problem, CloudSeer outputs necessary context information including the affected task automaton and related log messages hinting where the problem occurs to help further diagnosis. Our experiments on OpenStack, a popular open-source cloud infrastructure, show that CloudSeer's efficiency and problem-detection capability are suitable for online monitoring.
Pallavi Joshi, Jianwu Xu, Guoliang Jin, Hui Zhang 0002, Guofei Jiang
ASPLOS4
2015 What change history tells us about thread synchronization
abstract
Multi-threaded programs are pervasive, yet difficult to write. Missing proper synchronization leads to correctness bugs and over synchronization leads to performance problems. To improve the correctness and efficiency of multi-threaded software, we need a better understanding of synchronization challenges faced by real-world developers. This paper studies the code repositories of open-source multi-threaded software projects to obtain a broad and in- depth view of how developers handle synchronizations. We first examine how critical sections are changed when software evolves by checking over 250,000 revisions of four representative open-source software projects. The findings help us answer questions like how often synchronization is an afterthought for developers; whether it is difficult for devel- opers to decide critical section boundaries and lock variables; and what are real-world over-synchronization problems. We then conduct case studies to better understand (1) how critical sections are changed to solve performance prob- lems (i.e. over-synchronization issues) and (2) how soft- ware changes lead to synchronization-related correctness problems (i.e. concurrency bugs). This in-depth study shows that tool support is needed to help developers tackle over-synchronization problems; it also shows that concur- rency bug avoidance, detection, and testing can be improved through better awareness of code revision history.
Guoliang Jin, Linhai Song, Linjie Zhu, Shan Lu 0001
ESEC/SIGSOFT FSE2
2015 Fixing, preventing, and recovering from concurrency bugs
Dongdong Deng, Guoliang Jin, Marc de Kruijf, Ben Liblit, Shan Lu 0001, Shanxiang Qi, Jinglei Ren, Karthikeyan Sankaralingam, Linhai Song, Yongwei Wu 0001, Wei Zhang 0022
Sci. China Inf. Sci.2
2014 Leveraging the short-term memory of hardware to diagnose production-run software failures
abstract
Failures caused by software bugs are widespread in production runs, causing severe losses for end users. Unfortunately, diagnosing production-run failures is challenging. Existing work cannot satisfy privacy, run-time overhead, diagnosis capability, and diagnosis latency requirements all at once.
Joy Arulraj, Guoliang Jin, Shan Lu 0001
ASPLOS2
2013 Production-run software failure diagnosis via hardware performance counters
abstract
Sequential and concurrency bugs are widespread in deployed software. They cause severe failures and huge financial loss during production runs. Tools that diagnose production-run failures with low overhead are needed. The state-of-the-art diagnosis techniques use software instrumentation to sample program properties at run time and use off-line statistical analysis to identify properties most correlated with failures. Although promising, these techniques suffer from high run-time overhead, which is sometimes over 100%, for concurrency-bug failure diagnosis and hence are not suitable for production-run usage.
Joy Arulraj, Po-Chun Chang, Guoliang Jin, Shan Lu 0001
ASPLOS3
2013 Validating Library Usage Interactively
William R. Harris, Guoliang Jin, Shan Lu 0001, Somesh Jha
CAV2
2012 Automated Concurrency-Bug Fixing
Guoliang Jin, Wei Zhang 0022, Dongdong Deng
OSDI1
2012 Understanding and detecting real-world performance bugs
abstract
Developers frequently use inefficient code sequences that could be fixed by simple patches. These inefficient code sequences can cause significant performance degradation and resource waste, referred to as performance bugs. Meager increases in single threaded performance in the multi-core era and increasing emphasis on energy efficiency call for more effort in tackling performance bugs.
Guoliang Jin, Linhai Song, Joel Scherpelz, Shan Lu 0001
PLDI1
2011 ConSeq: detecting concurrency bugs through sequential errors
abstract
Concurrency bugs are caused by non-deterministic interleavings between shared memory accesses. Their effects propagate through data and control dependences until they cause software to crash, hang, produce incorrect output, etc. The lifecycle of a bug thus consists of three phases: (1) triggering, (2) propagation, and (3) failure.
Wei Zhang 0022, Junghee Lim, Ramya Olichandran, Joel Scherpelz, Guoliang Jin, Shan Lu 0001, Thomas W. Reps
ASPLOS5
2011 Automated atomicity-violation fixing
abstract
Fixing software bugs has always been an important and time-consuming process in software development. Fixing concurrency bugs has become especially critical in the multicore era. However, fixing concurrency bugs is challenging, in part due to non-deterministic failures and tricky parallel reasoning. Beyond correctly fixing the original problem in the software, a good patch should also avoid introducing new bugs, degrading performance unnecessarily, or damaging software readability. Existing tools cannot automate the whole fixing process and provide good-quality patches.
Guoliang Jin, Linhai Song, Wei Zhang 0022, Shan Lu 0001, Ben Liblit
PLDI1
2010 Instrumentation and sampling strategies for cooperative concurrency bug isolation
abstract
Fixing concurrency bugs (or crugs) is critical in modern software systems. Static analyses to find crugs such as data races and atomicity violations scale poorly, while dynamic approaches incur high run-time overheads. Crugs manifest only under specific execution interleavings that may not arise during in-house testing, thereby demanding a lightweight program monitoring technique that can be used post-deployment. We present Cooperative Crug Isolation (CCI), a lowoverhead instrumentation framework to diagnose productionrun failures caused by crugs. CCI tracks specific thread interleavings at run-time, and uses statistical models to identify strong failure predictors among these. We offer a varied suite of predicates that represent different trade-offs between complexity and fault isolation capability. We also develop variant random sampling strategies that suit different types of predicates and help keep the run-time overhead low. Experiments with 9 real-world bugs in 6 non-trivial C applications show that these schemes span a wide spectrum of performance and diagnosis capabilities, each suitable for different usage scenarios.
Guoliang Jin, Aditya V. Thakur, Ben Liblit, Shan Lu 0001
OOPSLA1