Context Gas and friends: taming context-sensitivity on the fly

Abstract Context-sensitive analysis of programs containing recursive procedures may be expensive. This may particularly be the case when expressive domains are used, rendering the set of possible contexts large or even infinite. Here we present a framework for context-sensitivity and, as a base step, show how to formalize full contexts, partial contexts, and call strings in it. In this framework, we propose three generic lifters that allow bounding the number of encountered contexts for existing analyses on the fly, i.e., without requiring a preanalysis: Context Widening , Loopfree Callsting , and Context Gas . The proposed analysis lifters maintain the soundness of the underlying base analyses. For these approaches, we prove that only finitely many function contexts are encountered during fixpoint iteration—a key requirement for termination—when the fixpoint iteration is known to update the value of each unknown only a finite number of times. Context Gas and friends are implemented within the abstract interpreter Goblint and compared to existing approaches to context-sensitivity on the SV-COMP benchmark suite. On a subset of recursive benchmarks, all proposed lifters manage to reduce the number of stack overflows and timeouts compared to a full context approach, with one configuration of the Context Gas approach improving the number of correct verdicts by $31\%$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mn>31</mml:mn> <mml:mi>%</mml:mi> </mml:math> and showing promising results on the considered SV-COMP categories.

Authors

Institutions

Publication Details

Journal
International Journal on Software Tools for Technology Transfer
Published
2025-04-01
DOI
https://doi.org/10.1007/s10009-025-00803-3
Citations
1
Primary Topic
Software Engineering Research
Type
article
Field-Weighted Citation Impact
3.25

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

Context Gas and friends: taming context-sensitivity on the fly

Michael Schwarz, Julian Erhard, Helmut Seidl, Johanna Franziska Schinabeck
1 citations
International Journal on Software Tools for Technology Transfer
Software Engineering Research
3.25
article

Context Gas and friends: taming context-sensitivity on the fly

Michael Schwarz, Julian Erhard, Helmut Seidl, Johanna Franziska Schinabeck
article en
1 citations

Abstract

Abstract Context-sensitive analysis of programs containing recursive procedures may be expensive. This may particularly be the case when expressive domains are used, rendering the set of possible contexts large or even infinite. Here we present a framework for context-sensitivity and, as a base step, show how to formalize full contexts, partial contexts, and call strings in it. In this framework, we propose three generic lifters that allow bounding the number of encountered contexts for existing analyses on the fly, i.e., without requiring a preanalysis: Context Widening , Loopfree Callsting , and Context Gas . The proposed analysis lifters maintain the soundness of the underlying base analyses. For these approaches, we prove that only finitely many function contexts are encountered during fixpoint iteration—a key requirement for termination—when the fixpoint iteration is known to update the value of each unknown only a finite number of times. Context Gas and friends are implemented within the abstract interpreter Goblint and compared to existing approaches to context-sensitivity on the SV-COMP benchmark suite. On a subset of recursive benchmarks, all proposed lifters manage to reduce the number of stack overflows and timeouts compared to a full context approach, with one configuration of the Context Gas approach improving the number of correct verdicts by $31\%$ <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML"> <mml:mn>31</mml:mn> <mml:mi>%</mml:mi> </mml:math> and showing promising results on the considered SV-COMP categories.

International Journal on Software Tools for Technology TransferVol. 27(2)
Technical University of Munich (DE), Ludwig-Maximilians-Universität München (DE)
Deutsche Forschungsgemeinschaft, Technische Universität München
Openalex Percentile: Top 9%
Software Engineering Research
3.25
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.