Published November 15, 2024 | Version v1
Journal article Open

If At First You Don't Succeed, Try, Try, Again...? Insights and LLM-informed Tooling for Detecting Retry Bugs in Software Systems

Description

Retry---the re-execution of a task on failure---is a common mechanism to enable resilient software systems. Yet, despite its commonality and long history, retry remains difficult to implement and test.

Guided by our study of real-world retry issues, we propose a novel suite of static and dynamic techniques to detect retry problems in software. We find that the ad-hoc nature of retry implementation poses challenges for traditional program analysis but can be well suited for large language models; and that carefully repurposing existing unit tests can, along with fault injection, expose various types of retry problems.

Files

If-At-First-You-Dont-Succeed-Try-Try-Again-Insights-and-LLM-informed-Tooling.pdf

Additional details

Identifiers

DOI
10.1145/3694715.3695971
Other
oai:uchicago.tind.io:14028

Funding

National Science Foundation
CNS-2313190
National Science Foundation
CCF-2119184
National Science Foundation
CNS-1956180
Chameleon Cloud Project
Eckhardt Fellowship
University of Chicago
Quad Undergraduate Research grants

UChicago Information

Division(s)
Physical Sciences Division
Department(s)
Computer Science