English

Correctness Kernels of Abstract Interpretations

Programming Languages 2013-04-22 v3 Logic in Computer Science

Abstract

In abstract interpretation-based static analysis, approximation is encoded by abstract domains. They provide systematic guidelines for designing abstract semantic functions that approximate some concrete system behaviors under analysis. It may happen that an abstract domain contains redundant information for the specific purpose of approximating a given concrete semantic function. This paper introduces the notion of correctness kernel of abstract interpretations, a methodology for simplifying abstract domains, i.e. removing abstract values from them, in a maximal way while retaining exactly the same approximate behavior of the system under analysis. We show that in abstract model checking correctness kernels provide a simplification paradigm of the abstract state space that is guided by examples, meaning that this simplification preserves spuriousness of examples (i.e., abstract paths). In particular, we show how correctness kernels can be integrated with the well-known CEGAR (CounterExample-Guided Abstraction Refinement) methodology.

Keywords

Cite

@article{arxiv.0910.4748,
  title  = {Correctness Kernels of Abstract Interpretations},
  author = {Roberto Giacobazzi and Francesco Ranzato},
  journal= {arXiv preprint arXiv:0910.4748},
  year   = {2013}
}

Comments

An extended abstract of this paper appeared in Proceedings of the 37th International Colloquium on Automata, Languages, and Programming (ICALP '10), Bordeaux, France. LNCS vol. 6199, pages 211-222, Springer, 2010

R2 v1 2026-06-21T14:03:04.078Z