We present a method for verifying properties of imperativeprograms by using techniques based on constraint logic programming(CLP). We consider a simple imperative language, called SIMP, extendedwith a nondeterministic choice operator and we address the problem ofchecking whether or not asafetyproperty?(that specifies that anunsafeconfiguration cannot be reached) holds for a SIMP programP.Theop-erational semantics of the language SIMP is specified via an interpreterIwritten as a CLP program. The first phase of our verification methodconsists in specializingIwith respect toP, thereby deriving a specializedinterpreterIP. Then, we specializeIPwith respect to the property?andthe input values ofP, with the aim of deriving, if possible, a programwhose least model is a finite set of constrained facts. To this purpose weintroduce a novel generalization strategy which, during specialization,has the objecting of preserving the so called branching behaviour of thepredicate definitions. We have fully automated our method and we havemade its experimental evaluation on some examples taken from the liter-ature. The evaluation shows that our method is competitive with respectto state-of-the-art software model checkers.

Specialization with Constrained Generalization for Software Model Checking

Emanuele De Angelis;Fabio Fioravanti;Alberto Pettorossi;Maurizio Proietti
2013

Abstract

We present a method for verifying properties of imperativeprograms by using techniques based on constraint logic programming(CLP). We consider a simple imperative language, called SIMP, extendedwith a nondeterministic choice operator and we address the problem ofchecking whether or not asafetyproperty?(that specifies that anunsafeconfiguration cannot be reached) holds for a SIMP programP.Theop-erational semantics of the language SIMP is specified via an interpreterIwritten as a CLP program. The first phase of our verification methodconsists in specializingIwith respect toP, thereby deriving a specializedinterpreterIP. Then, we specializeIPwith respect to the property?andthe input values ofP, with the aim of deriving, if possible, a programwhose least model is a finite set of constrained facts. To this purpose weintroduce a novel generalization strategy which, during specialization,has the objecting of preserving the so called branching behaviour of thepredicate definitions. We have fully automated our method and we havemade its experimental evaluation on some examples taken from the liter-ature. The evaluation shows that our method is competitive with respectto state-of-the-art software model checkers.
2013
Istituto di Analisi dei Sistemi ed Informatica ''Antonio Ruberti'' - IASI
Inglese
7844
51
70
Sì, ma tipo non specificato
Program Verification
In: E. Albert (Ed.), Proceedings of the 22nd International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2012), Leuven, Belgium, September 18-20, 2012.
4
info:eu-repo/semantics/article
262
Emanuele De Angelis; Fabio Fioravanti; Alberto Pettorossi; Maurizio Proietti
01 Contributo su Rivista::01.01 Articolo in rivista
none
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/20.500.14243/220550
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact