Abstraction and Acceleration in SMT-based Model-Checking for Array Programs

نویسندگان

  • Francesco Alberti
  • Silvio Ghilardi
  • Natasha Sharygina
چکیده

ion and Acceleration in SMT-based Model-Checking for Array Programs Francesco Alberti1, Silvio Ghilardi2, Natasha Sharygina1 1 Faculty of Informatics, University of Lugano, Switzerland 2 Università degli Studi di Milano, Milan, Italy Abstract Abstraction (in its various forms) is a powerful established technique in modelchecking; still, when unbounded data-structures are concerned, it cannot always cope with divergence phenomena in a satisfactory way. Acceleration is an approach which is widely used to avoid divergence, but it has been applied mostly to integer programs. This paper addresses the problem of accelerating transition relations for unbounded arrays with the ultimate goal of avoiding divergence during reachability analysis of abstract programs. For this, we first design a format to compute accelerations in this domain; then we show how to adapt the so-called ‘monotonic abstraction’ technique to efficiently handle complex formulæ with nested quantifiers generated by the acceleration preprocessing. Notably, our technique can be easily plugged-in into abstraction/refinement loops, and strongly contributes to avoid divergence: experiments conducted with the MCMT model checker attest the effectiveness of our approach on programs with unbounded arrays, where acceleration and abstraction/refinement technologies fail if applied alone. Report Info Published October 2012 Revised April 2013 Number USI-INF-TR-2012-1 Institution Faculty of Informatics University of Lugano Lugano, Switzerland Online Access www.inf.usi.ch/techreportsAbstraction (in its various forms) is a powerful established technique in modelchecking; still, when unbounded data-structures are concerned, it cannot always cope with divergence phenomena in a satisfactory way. Acceleration is an approach which is widely used to avoid divergence, but it has been applied mostly to integer programs. This paper addresses the problem of accelerating transition relations for unbounded arrays with the ultimate goal of avoiding divergence during reachability analysis of abstract programs. For this, we first design a format to compute accelerations in this domain; then we show how to adapt the so-called ‘monotonic abstraction’ technique to efficiently handle complex formulæ with nested quantifiers generated by the acceleration preprocessing. Notably, our technique can be easily plugged-in into abstraction/refinement loops, and strongly contributes to avoid divergence: experiments conducted with the MCMT model checker attest the effectiveness of our approach on programs with unbounded arrays, where acceleration and abstraction/refinement technologies fail if applied alone. Report Info Published October 2012 Revised April 2013 Number USI-INF-TR-2012-1 Institution Faculty of Informatics University of Lugano Lugano, Switzerland Online Access www.inf.usi.ch/techreports

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Definability of Accelerated Relations in a Theory of Arrays and Its Applications

ion and Acceleration in SMT-based Model-Checking for Array Programs Francesco Alberti1, Silvio Ghilardi2, Natasha Sharygina1 1 Faculty of Informatics, University of Lugano, Switzerland 2 Università degli Studi di Milano, Milan, Italy Abstract Abstraction (in its various forms) is a powerful established technique in modelchecking; still, when unbounded data-structures are concerned, it cannot al...

متن کامل

Light-Weight SMT-based Model Checking

Recently, the notion of an array-based system has been introduced as an abstraction of infinite state sys-tems (such as mutual exclusion protocols or sorting programs) which allows for model checking of invariant(safety) and recurrence (liveness) properties by Satisfiability Modulo Theories (SMT) techniques. Unfortu-nately, the use of quantified first-order formulae to describe sets...

متن کامل

Counter Abstractions in Model Checking of Distributed Broadcast Algorithms: Some Case Studies

The automated, formal verification of distributed algorithms is a crucial, although challenging, task. In this paper, we study the properties of distributed algorithms solving the reliable broadcast problem in various failure models. We investigate the suitability of a direct Satisfiability Modulo Theories (SMT) approach to model these algorithms in order to validate safety properties. In a pre...

متن کامل

Towards SMT Model Checking of Array-Based Systems

We introduce the notion of array-based system as a suitable abstraction of infinite state systems such as broadcast protocols or sorting programs. By using a class of quantified-first order formulae to symbolically represent array-based systems, we propose methods to check safety (invariance) and liveness (recurrence) properties on top of Satisfiability Modulo Theories solvers. We find hypothes...

متن کامل

SMT-based Software Model Checking: An Experimental Comparison of Four Algorithms

After many years of successful development of new algorithms for software model checking, there is a need to consolidate the knowledge about the different algorithms and approaches. This paper gives a coarse overview in terms of effectiveness and efficiency of four algorithms. We compare the following different “schools of thought” of algorithms: bounded model checking, k-induction, predicate a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1304.4499  شماره 

صفحات  -

تاریخ انتشار 2013