Skip to content
#software testing Book Open access

ACF: Infrastructure for Debugging Long-Running Systems with Tracing and Unit Test Execution

Sep 2026 · Proceedings of the 14th Workshop on Programming Languages and Operating Systems · 0 citations · 17 references

TL;DR

A debugging workflow that combines dynamic analysis with directed unit tests is introduced, and ACF, an infrastructure for automating this workflow is presented, indicating that ACF can help developers to isolate specific inputs causing an error, thus simplifying the process of locating faulty statements.

Abstract

Debugging software systems is a tedious and time-consuming activity, which includes reproduction of the observed errors, inspecting log files, usage of interactive debuggers, and running tests — all that is done with the goal of identifying a root cause. The process of debugging is even more challenging in the case of large systems with long computations, where programs (and test suites) may run for hours. We introduce a debugging workflow that combines dynamic analysis with directed unit tests, and present ACF, an infrastructure for automating this workflow. Dynamic analysis collects runtime data about procedure calls, their argument values, and relevant program states during execution of a target system. Tests use the recorded values as inputs. We have implemented the ACF infrastructure for C/C++ programs on top of LLVM. Our experiments with real-world systems indicate that ACF can help developers to isolate specific inputs causing an error, thus simplifying the process of locating faulty statements.

Read PDF

Similar papers

Open access Sep 2026

Goanna: a novel approach for automated type error debugging

Statically typed languages offer many advantages in software engineering, including bug prevention, enhanced code quality, and reduced maintenance costs. However, these benefits come at the expense of a steep learning curve and a slower development pace. Although known for its expressive and strong type system, Haskell...

Shuai Fu, Tim Dwyer, Peter James Stuckey et al. · 0 citations
Review Open access 2025

How to Spot and Fix Python Performance Issues Remotely- Strategies and Techniques

Python programs that are distributed or running in remote locations quite often encounter performance issues in a quite subtle manner which is one reason their local counterparts are easier to troubleshoot since one disadvantage is that in distributed/remote setups one doesn't have full visibility and there may also be...

Madhurima Kommuru · 0 citations
Preprint Aug 2026

Software Aging in LLM-Generated Applications: Runtime Evidence, Static Analysis, and Human-Written Comparisons

Large Language Models (LLMs) are increasingly used to generate executable software systems from natural language specifications, accelerating development and reducing manual implementation effort. Although recent studies have investigated the functional correctness, security, maintainability, and robustness of LLM-gene...

César Santos, Michele Vitagliano, Roberto Natella et al. · 0 citations

Related blog posts

MIT News · Artificial Intelligence Oct 2, 2026

Documenting the tech worker movement

Writing as a participant and researcher, PhD student JS Tan SM ’22 has co-authored a new book about the rise of tech worker protests and the employer backlash that followed.

GPT-Lab Sep 23, 2026

Requirements Don’t Live in Isolation: What We’re Exploring with Req-Space

Requirements in large systems rarely exist in isolation. Their meaning depends on the wider project context - other requirements, policies, decisions, tests, and implementation details. That becomes especially important when AI is used for review, because spotting a possible conflict or gap is only the beginning. ReqSpace explores how AI, visualisation, and connected project context can help reviewers understand those findings, trace the relationships behind them, and focus on the questions that…

GPT-Lab Sep 17, 2026

Beyond Prompt Engineering: The Role of Tacit Knowledge in Software Engineering

AI is making software generation faster, but speed does not remove the need for expertise. As more work is delegated to AI, tacit knowledge may become one of the most important human advantages in software engineering. The post Beyond Prompt Engineering: The Role of Tacit Knowledge in Software Engineering appeared first on GPT-Lab.

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