Simmo Saan
YOU?
Author Swipe
View article: Same Engine, Multiple Gears: Parallelizing Fixpoint Iteration at Different Granularities
Same Engine, Multiple Gears: Parallelizing Fixpoint Iteration at Different Granularities Open
Artifact for the TACAS '26 Paper Same Engine, Multiple Gears: Parallelizing Fixpoint Iteration at Different Granularities Fixpoint iteration constitutes the algorithmic core of static analyzers. Parallelizing the fixpoint engine can signif…
View article: Correctness Witnesses for Concurrent Programs: Bridging the Semantic Divide with Ghosts (Extended Version)
Correctness Witnesses for Concurrent Programs: Bridging the Semantic Divide with Ghosts (Extended Version) Open
Static analyzers are typically complex tools and thus prone to contain bugs themselves. To increase the trust in the verdict of such tools, witnesses encode key reasoning steps underlying the verdict in an exchangeable format, enabling ind…
View article: Interactive abstract interpretation: reanalyzing multithreaded C programs for cheap
Interactive abstract interpretation: reanalyzing multithreaded C programs for cheap Open
To put sound program analysis at the fingertips of the software developer, we propose a framework for interactive abstract interpretation of multithreaded C code. Abstract interpretation provides sound analysis results, but can be quite co…
View article: When long jumps fall short: control-flow tracking and misuse detection for nonlocal jumps in C
When long jumps fall short: control-flow tracking and misuse detection for nonlocal jumps in C Open
The C programming language offers as a mechanism for nonlocal control flow. This mechanism has complicated semantics. As most developers do not encounter it day-to-day, they may be unfamiliar with all its intricacies – leading to subtle pr…
View article: Goblint: Abstract Interpretation for Memory Safety and Termination
Goblint: Abstract Interpretation for Memory Safety and Termination Open
Goblint is an abstract interpreter of C programs, focusing on the analysis of multi-threaded code. It is equipped with a variety of abstract domains, as well as analyses which allow it to reason about an array of program properties in a hi…
View article: Goblint Validator: Correctness Witness Validation by Abstract Interpretation
Goblint Validator: Correctness Witness Validation by Abstract Interpretation Open
Goblint is an abstract interpretation framework for C programs with a specialty in concurrency. Using a novel approach, we turn it into a validator of YAML correctness witnesses for all SV-COMP categories. We describe its results at SV-COM…
View article: Correctness Witness Validation by Abstract Interpretation
Correctness Witness Validation by Abstract Interpretation Open
Witnesses record automated program analysis results and make them exchangeable. To validate correctness witnesses through abstract interpretation, we introduce a novel abstract operation unassume. This operator incorporates witness invaria…
View article: When Long Jumps Fall Short: Control-Flow Tracking and Misuse Detection for Non-local Jumps in C
When Long Jumps Fall Short: Control-Flow Tracking and Misuse Detection for Non-local Jumps in C Open
The C programming language offers setjmp/longjmp as a mechanism for non-local control flow. This mechanism has complicated semantics. As most developers do not encounter it day-to-day, they may be unfamiliar with all its intricacies – lead…
View article: Clustered Relational Thread-Modular Abstract Interpretation with Local Traces
Clustered Relational Thread-Modular Abstract Interpretation with Local Traces Open
We construct novel thread-modular analyses that track relational information for potentially overlapping clusters of global variables - given that they are protected by common mutexes. We provide a framework to systematically increase the …
View article: Clustered Relational Thread-Modular Abstract Interpretation with Local Traces
Clustered Relational Thread-Modular Abstract Interpretation with Local Traces Open
We construct novel thread-modular analyses that track relational information for potentially overlapping clusters of global variables – given that they are protected by common mutexes. We provide a framework to systematically increase the …
View article: Interactive Abstract Interpretation: Reanalyzing Whole Programs for Cheap
Interactive Abstract Interpretation: Reanalyzing Whole Programs for Cheap Open
To put static program analysis at the fingertips of the software developer, we propose a framework for interactive abstract interpretation. While providing sound analysis results, abstract interpretation in general can be quite costly. To …