<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<item>
  <id>06068937</id>
  <dt>a</dt>
  <an>06068937</an>
  <augroup>
    <au>Long, Zhenyue</au>
    <au>Calin, Georgel</au>
    <au>Majumdar, Rupak</au>
    <au>Meyer, Roland</au>
  </augroup>
  <ti>Language-theoretic abstraction refinement.</ti>
  <so>de Lara, Juan (ed.) et al., Fundamental approaches to software engineering. 15th international conference, FASE 2012, held as part of the European joint conferences on theory and practice of software, ETAPS 2012, Tallinn, Estonia, March 24--April 1, 2012. Proceedings. Berlin: Springer (ISBN 978-3-642-28871-5/pbk). Lecture Notes in Computer Science 7212, 362-376 (2012).</so>
  <py>2012</py>
  <pu>Berlin: Springer</pu>
  <lagroup>
    <la>EN</la>
  </lagroup>
  <ccgroup>
  </ccgroup>
  <utgroup>
  </utgroup>
  <cigroup>
  </cigroup>
  <ligroup>
    <li>doi:10.1007/978-3-642-28872-2_25</li>
  </ligroup>
  <abgroup>
    <ab>Summary: We give a language-theoretic counterexample-guided abstraction refinement (CEGAR) algorithm for the safety verification of recursive multi-threaded programs. First, we reduce safety verification to the (undecidable) language emptiness problem for the intersection of context-free languages. Initially, our CEGAR procedure overapproximates the intersection by a context-free language. If the overapproximation is empty, we declare the system safe. Otherwise, we compute a bounded language from the overapproximation and check emptiness for the intersection of the context free languages and the bounded language (which is decidable). If the intersection is non-empty, we report a bug. If empty, we refine the overapproximation by removing the bounded language and try again. The key idea of the CEGAR loop is the language-theoretic view: different strategies to get regular overapproximations and bounded approximations of the intersection give different implementations. We give concrete algorithms to approximate context-free languages using regular languages and to generate bounded languages representing a family of counterexamples. We have implemented our algorithms and provide an experimental comparison on various choices for the regular overapproximation and the bounded underapproximation.</ab>
    <rv></rv>
  </abgroup>
</item>