Skip to content
Preprint

Inferring Empirical Sound Resource Bounds via Symbolic Execution and Linear Programming (Extended Version)

Aug 2026 · 0 citations
Computer Science

TL;DR

A novel hybrid approach that systematically derives upper bounds for the worst-case resource consumption of functional programs by combines dynamic symbolic execution to exhaustively explore all possible computation paths within a constrained input space with mixed-integer linear programming to derive empirically sound upper bounds.

Abstract

Existing approaches to resource analysis of programs can be classified into two main paradigms: static analysis and dynamic analysis methods. The former allow for formal guarantees but are inherently incomplete; the latter are widely applicable but may miss rare but characteristic (worst-case) scenarios and thus lack soundness. Hybrid approaches attempt to combine the strengths of both paradigms, thereby enabling the analysis of programs that are either too complex for purely static techniques or where dynamic approaches suffer from combinatorial explosion. In this paper, we present a novel hybrid approach that systematically derives upper bounds for the worst-case resource consumption of functional programs. Our method combines dynamic symbolic execution to exhaustively explore all possible computation paths within a constrained input space with mixed-integer linear programming to derive empirically sound upper bounds. We have implemented the methodology in a prototype tool, dubbed CompAS, which we made available on Zenodo.

View source

Similar papers

#software testing Open access Oct 2026

Random Testing via Runtime Abstract Interpretation

Property-based testing of C programs can be automated by synthesizing random input generators from separation-logic specifications. Existing work in this space, such as the Bennet testing tool, uses randomized backtracking search, generating random values and checking them against constraints, backtracking on failure....

Zain K. Aamer, Benjamin C. Pierce · 1 citation
Open access Aug 2026

QuickChecking Convergence of Rewriting Systems (Functional Pearl)

A QuickCheck testing method based on generating and shrinking random execution traces based on checking if the first and last terms of a generated trace share the same deterministic normal form that efficiently finds counterexamples and enables fast, robust shrinking.

Koen Claessen · 0 citations
Open access Aug 2026

Type-Directed Discretization of Probabilistic Programs

The empirical evaluation shows two complementary strengths of Slice when paired with discrete backends: it enables exact inference for challenging continuous programs that lie beyond the reach of previous exact systems, and is competitive with state-of-the-art exact inference systems for continuous programs.

Katherine Wu, Jules Jacobs, Kevin Batz et al. · 0 citations
Open access Oct 2026

STARS: Static Analysis-Guided Assertion Synthesis using Large Language Models

Automated unit test generation promises to reduce the cost of software quality assurance, and hence, is attracting attention from both academia and industry. Yet, generating assertions that are executable, meaningful to developers, and able to catch faults remains an unsolved challenge. Existing approaches either rando...

Jia-Lun Cao, Hao-Yu Wang, Hao-Ran Yan et al. · 0 citations
#software testing Book Open access Oct 2026

Towards a Vertically Integrated Compiler Infrastructure to Improve Solver Time during Symbolic Execution

The potential of integrating the compiler infrastructure with symbolic execution, thereby obtaining a program representation optimized for SMT solving, is illustrated by contributing conditional representation, a novel compiler transformation tailored to symbolic execution that results in a solver-efficient representat...

Sören Tempel, Christian Dietrich · 0 citations

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