A Categorical Basis for Robust Program Analysis
Zachary Kincaid, Shaowei Zhu
Abstract
Users of program analyses expect that results change predictably in response to changes in their programs, but many analyses do not ensure such robustness. This paper introduces a theoretical framework that provides a unified language to articulate robustness properties. We adopt a categorical view in which programs and their properties form a category, and robust analyses are characterized as structure-preserving functors. A diverse range of robustness properties-e.g., invariance under variable renaming and monotonicity-arise from instantiating the category's arrows accordingly. Beyond formulating the meaning of robustness, this paper provides methods for achieving it. The first is a general recipe for designing robust analyses, by lifting a sound and robust analysis from a restricted (sub-Turing) model of computation to a sound and robust analysis for general programs. This recipe demystifies the design of several existing loop summarization and termination analyses by showing they are instantiations of this general recipe, and furthermore elucidates their robustness properties. The second is a characterization of a sense in which an algebraic program analysis is robust, provided that it is comprised of robust operators. In particular, we show that such analyses behave predictably under common refactoring patterns, such as variable renaming and loop unrolling.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 6e530b6b-9a85-4abd-ba76-fc97cf766667Builds on5
- Termination analysis without the tearsShaowei Zhu, Zachary KincaidPLDI 2021 · 16 citations
- Solvable Polynomial Ideals: The Ideal Reflection for Program AnalysisJohn Cyphert, Zachary KincaidPOPL 2024 · 11 citations
- Compiling with Abstract InterpretationDorian Lesbre, Matthieu LemerrePLDI 2024 · 6 citations
- Monotone Procedure Summarization via Vector Addition Systems and Inductive PotentialsNikhil Pimpalkhare, Zachary KincaidOOPSLA 2024 · 4 citations
- Breaking the Mold: Nonlinear Ranking Function Synthesis Without TemplatesShaowei Zhu, Zachary KincaidCAV 2024 · 2 citations
Related papers
- Automatic and efficient variability-aware lifting of functional programsRamy Shahin, Marsha ChechikOOPSLA 2020 · 18 citations
- Monotonicity and the Precision of Program AnalysisMarco Campion, Mila Dalla Preda, Roberto Giacobazzi, Caterina UrbanPOPL 2024 · 1 citation
- Semantic Analysis of Macro Usage for PortabilityBrent Pappas, Paul GazzilloICSE 2024 · 2 citations
- A Taxonomy of Hoare-Like Logics: Towards a Holistic View using Predicate Transformers and Kleene Algebras with Top and TestsLena Verscht, Benjamin Lucien KaminskiPOPL 2025 · 3 citations
- Verifying observational robustness against a c11-style memory modelRoy David Margalit, Ori LahavPOPL 2021 · 22 citations
