Skip to content
Book Open access

From Thread to Pool: Modeling and Static Detection of Thread Pool Misuses in Java Programs

Oct 2026 · Proceedings of the 41st IEEE/ACM International Conference on Automated Software Engineering · pp. 2690-2702 · 0 citations · 38 references

TL;DR

PoolGuard, a static analysis framework for detecting both executor-generic lifecycle/result-handling defects and ThreadPoolExecutor-specific configuration misuses, is developed and applied to large-scale open-source systems.

Abstract

Asynchronous programming is fundamental to modern software performance, and Java ExecutorService-based executors have become a standard abstraction for managing concurrent tasks. While existing research has extensively studied traditional concurrency bugs, management misuses of executors remain under-analyzed. These defects arise not from the business logic of asynchronous tasks, but from how executors are configured, used, and terminated. We present a taxonomy of seven executor-management misuse patterns and formalize them using a resource-management model. Based on this, we develop PoolGuard, a static analysis framework for detecting both executor-generic lifecycle/result-handling defects and ThreadPoolExecutor-specific configuration misuses. Extensive evaluation on a benchmark suite with real-world defects shows that PoolGuard is better than specialized async detectors as well as general-purpose analyzers such as SpotBugs and Infer. Applying PoolGuard to large-scale open-source systems, we identified 50 previously unknown issues, 24 of which have already been fixed or confirmed by developers, demonstrating the practical value of semantic analysis for executor-management defects.

Read PDF

Similar papers

Oct 2026

“Wait, My Tool Can’t Do That?” A Fine-Grained Capability Study of Modern Static Taint Analyzers

Static taint analyzers are widely used in software security, yet aggregate vulnerability-detection metrics provide limited insight into the specific language constructs and analysis capabilities that cause tools to succeed or fail. This paper presents xAST, a fine-grained benchmark containing 844 paired capability case...

Yan-Jie Zhao, Shen-Ao Wang, Jian Zhao et al. · 0 citations
Open access Oct 2026

AsyncLeakBench: A Curated Benchmark of Asynchronous Resource Leaks in Open-Source Java Projects

Asynchronous programming is widely used in modern Java software, including server-side processing, network I/O, reactive streams, task scheduling, and RPC communication. Unlike synchronous executions, resource creation and release in asynchronous programs are distributed across callbacks, Future/Promise chains, threads...

Jinyoung Kim, Jinseok Heo, Dongwook Choi et al. · 0 citations
Book Open access Oct 2026

Understanding Real-World Ordering-Related Concurrency Bugs under Weak-Memory and Cross-Architecture Settings

Modern systems software is increasingly deployed across heterogeneous architectures such as x86, ARM, and RISC‑V, which provide substantially different memory-ordering guarantees. Under weak memory models, hardware and compilers may reorder memory operations or delay their visibility, causing concurrent code that appea...

Shao-Hao Wang, Cheng Wen, Yuan-Dao Cai et al. · 0 citations
Book Open access Oct 2026

SAF: An AI-Agent-Ready and Browser-Accessible Static Analysis Framework for LLVM IR

Static program analysis finds bugs before software ships, and modern checkers for C/C++ depend on whole-program infrastructure: pointer analysis, value-flow tracking, taint analysis, and IFDS-based data flow on top of LLVM. Today’s LLVM-IR frameworks fall short. SVF, Phasar, and Lotus expose their analyses through C++...

Yue-Kang Li, Wei Li, Wei Song et al. · 0 citations
Open access Aug 2026

From Logging Configuration to Code Execution: A Systematization of Log4j 2 File-Write Primitives in HTTP-Exposed JMX

This work distinguishes ActiveMQ paths from documentation-limited Apache James, WildFly, Apache Karaf, and Red Hat AMQ cases, and distinguishes ActiveMQ paths from documentation-limited Apache James, WildFly, Apache Karaf, and Red Hat AMQ cases.

A. Caciulescu, Matei Badanoiu, R. Rughiniș et al. · 0 citations

We use cookies to run the site and, with your consent, for analytics and to show ads. See our Cookie Policy.