Combinator-Based Fixpoint Algorithms for Big-Step Abstract Interpreters

S Keidel, S Erdweg, T Hombücher - Proceedings of the ACM on …, 2023 - dl.acm.org
Big-step abstract interpreters are an approach to build static analyzers based on big-step
interpretation. While big-step interpretation provides a number of benefits for the definition of …

Compositional Symbolic Execution for Correctness and Incorrectness Reasoning (Extended Version)

A Lööw, D Nantes-Sobrinho, SÉ Ayoun… - arXiv preprint arXiv …, 2024 - arxiv.org
The introduction of separation logic has led to the development of symbolic execution
techniques and tools that are (functionally) compositional with function specifications that …

Automatically deriving JavaScript static analyzers from specifications using meta-level static analysis

J Park, S An, S Ryu - Proceedings of the 30th ACM Joint European …, 2022 - dl.acm.org
JavaScript is one of the most dominant programming languages. However, despite its
popularity, it is a challenging task to correctly understand the behaviors of JavaScript …

Object-Oriented Fixpoint Programming with Datalog

D Klopp, S Erdweg, A Pacak - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
Modern usages of Datalog exceed its original design purpose in scale and complexity. In
particular, Datalog lacks abstractions for code organization and reuse, making programs …

Compiling with abstract interpretation

D Lesbre, M Lemerre - Proceedings of the ACM on Programming …, 2024 - dl.acm.org
Rewriting and static analyses are mutually beneficial techniques: program transformations
change the intensional aspects of the program, and can thus improve analysis precision …

Fusing industry and academia at GitHub (experience report)

P Thomson, R Rix, N Wu, T Schrijvers - Proceedings of the ACM on …, 2022 - dl.acm.org
GitHub hosts hundreds of millions of code repositories written in hundreds of different
programming languages. In addition to its hosting services, GitHub provides data and …

Sound and reusable components for abstract interpretation

S Keidel, S Erdweg - Proceedings of the ACM on Programming …, 2019 - dl.acm.org
Abstract interpretation is a methodology for defining sound static analysis. Yet, building
sound static analyses for modern programming languages is difficult, because these static …

Staged abstract interpreters: Fast and modular whole-program analysis via meta-programming

G Wei, Y Chen, T Rompf - Proceedings of the ACM on Programming …, 2019 - dl.acm.org
It is well known that a staged interpreter is a compiler: specializing an interpreter to a given
program produces an equivalent executable that runs faster. This connection is known as …

Compositional soundness proofs of abstract interpreters

S Keidel, CB Poulsen, S Erdweg - Proceedings of the ACM on …, 2018 - dl.acm.org
Abstract interpretation is a technique for developing static analyses. Yet, proving abstract
interpreters sound is challenging for interesting analyses, because of the high proof …

Practical multiverse debugging through user-defined reductions: Application to uml models

M Pasquier, C Teodorov, F Jouault, M Brun… - Proceedings of the 25th …, 2022 - dl.acm.org
Multiverse debugging is an extension of classical debugging methods, particularly adapted
to non-deterministic systems. Recently, a language-independent formalization was …