Semantics-based generation of verification conditions via program specialization

We present a method for automatically generating verification conditions for a class of imperative programs and safety properties. Our method is parametric with respect to the semantics of the imperative programming language, as it generates the verification conditions by specializing, using unfold/...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Science of computer programming Jg. 147; S. 78 - 108
Hauptverfasser: De Angelis, E., Fioravanti, F., Pettorossi, A., Proietti, M.
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Elsevier B.V 01.11.2017
Schlagworte:
ISSN:0167-6423, 1872-7964
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract We present a method for automatically generating verification conditions for a class of imperative programs and safety properties. Our method is parametric with respect to the semantics of the imperative programming language, as it generates the verification conditions by specializing, using unfold/fold transformation rules, a Horn clause interpreter that encodes that semantics. We define a multi-step operational semantics for a fragment of the C language and compare the verification conditions obtained by using this semantics with those obtained by using a more traditional small-step semantics. The flexibility of the approach is further demonstrated by showing that it is possible to easily take into account alternative operational semantics definitions for modeling additional language features. We have proved that the verification condition generation takes a number of transformation steps that is linear with respect to the size of the imperative program to be verified. Also the size of the verification conditions is linear with respect to the size of the imperative program. Besides the theoretical computational complexity analysis, we also provide an experimental evaluation of the method by generating verification conditions using the multi-step and the small-step semantics for a few hundreds of programs taken from various publicly available benchmarks, and by checking the satisfiability of these verification conditions by using state-of-the-art Horn clause solvers. These experiments show that automated verification of programs from a formal definition of the operational semantics is indeed feasible in practice.
AbstractList We present a method for automatically generating verification conditions for a class of imperative programs and safety properties. Our method is parametric with respect to the semantics of the imperative programming language, as it generates the verification conditions by specializing, using unfold/fold transformation rules, a Horn clause interpreter that encodes that semantics. We define a multi-step operational semantics for a fragment of the C language and compare the verification conditions obtained by using this semantics with those obtained by using a more traditional small-step semantics. The flexibility of the approach is further demonstrated by showing that it is possible to easily take into account alternative operational semantics definitions for modeling additional language features. We have proved that the verification condition generation takes a number of transformation steps that is linear with respect to the size of the imperative program to be verified. Also the size of the verification conditions is linear with respect to the size of the imperative program. Besides the theoretical computational complexity analysis, we also provide an experimental evaluation of the method by generating verification conditions using the multi-step and the small-step semantics for a few hundreds of programs taken from various publicly available benchmarks, and by checking the satisfiability of these verification conditions by using state-of-the-art Horn clause solvers. These experiments show that automated verification of programs from a formal definition of the operational semantics is indeed feasible in practice.
Author Pettorossi, A.
Proietti, M.
Fioravanti, F.
De Angelis, E.
Author_xml – sequence: 1
  givenname: E.
  surname: De Angelis
  fullname: De Angelis, E.
  email: emanuele.deangelis@unich.it
  organization: DEC, University “G. d'Annunzio” of Chieti-Pescara, Viale Pindaro 42, 65127 Pescara, Italy
– sequence: 2
  givenname: F.
  surname: Fioravanti
  fullname: Fioravanti, F.
  email: fabio.fioravanti@unich.it
  organization: DEC, University “G. d'Annunzio” of Chieti-Pescara, Viale Pindaro 42, 65127 Pescara, Italy
– sequence: 3
  givenname: A.
  surname: Pettorossi
  fullname: Pettorossi, A.
  email: adp@iasi.cnr.it
  organization: DICII, University of Rome Tor Vergata, Via del Politecnico 1, 00133 Roma, Italy
– sequence: 4
  givenname: M.
  surname: Proietti
  fullname: Proietti, M.
  email: proietti@iasi.cnr.it
  organization: CNR-IASI, Via dei Taurini 19, 00185 Roma, Italy
BookMark eNqFkM9OwzAMxiM0JLbBE3DpC7TEbdMmBw5o4p80CSTgHKWJO3namimpKsHT026cOMDJtvz9LH_fgs063yFj18Az4FDdbLNoyfosH4cMIOM8P2NzkHWe1qoqZ2w-Luq0KvPigi1i3HLOq7KGOXt9w73perIxbUxEl2yww2B68l3i22TAQC3Z02x952jqYjKQSQ7Bb4LZJ_GAlsyOvo6qS3beml3Eq5-6ZB8P9--rp3T98vi8uluntihlnwqplOC2QtVKVSDkxqGQUtatyMHyxgocnfGqEUapohSQuxJa25TCSeE4FEumTndt8DEGbLWl_vhBHwztNHA9RaO3-hiNnqLRAHqMZmSLX-wh0N6Ez3-o2xOFo62BMEwa7Cw6Cmh77Tz9yX8DIUeB-A
CitedBy_id crossref_primary_10_1017_S1471068418000157
crossref_primary_10_1017_S1471068421000430
crossref_primary_10_1017_S1471068417000497
crossref_primary_10_1017_S1471068421000272
crossref_primary_10_1017_S1471068418000091
crossref_primary_10_1007_s10270_024_01161_5
crossref_primary_10_1109_ACCESS_2018_2853153
crossref_primary_10_1016_j_scico_2017_12_006
crossref_primary_10_1017_S1471068421000211
crossref_primary_10_1093_logcom_exab090
Cites_doi 10.1017/S1471068411000627
10.1016/j.ic.2014.01.005
10.1016/j.scico.2014.05.017
10.1016/j.scico.2004.01.006
10.1016/0743-1066(91)90027-M
10.1016/0304-3975(95)00148-4
10.1016/0743-1066(94)90033-7
10.1016/j.jlap.2010.03.012
10.3233/FI-2012-738
10.1016/j.infsof.2009.04.010
10.1016/0304-3975(94)00227-A
10.3233/FI-2015-1257
10.1017/S1471068415000204
10.1145/373243.360220
10.1017/S1471068415000289
10.1017/S147106840200145X
ContentType Journal Article
Copyright 2016 Elsevier B.V.
Copyright_xml – notice: 2016 Elsevier B.V.
DBID AAYXX
CITATION
DOI 10.1016/j.scico.2016.11.002
DatabaseName CrossRef
DatabaseTitle CrossRef
DatabaseTitleList
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISSN 1872-7964
EndPage 108
ExternalDocumentID 10_1016_j_scico_2016_11_002
S016764231630199X
GroupedDBID --K
--M
.DC
.~1
0R~
123
1B1
1RT
1~.
1~5
4.4
457
4G.
5VS
7-5
71M
8P~
9JN
AACTN
AAEDW
AAFTH
AAIAV
AAIKJ
AAKOC
AALRI
AAOAW
AAQFI
AAXUO
AAYFN
ABBOA
ABJNI
ABMAC
ABVKL
ABYKQ
ACDAQ
ACGFS
ACRLP
ACZNC
ADBBV
ADEZE
ADHUB
AEBSH
AEKER
AENEX
AEXQZ
AFKWA
AFTJW
AGUBO
AGYEJ
AHHHB
AHZHX
AIALX
AIEXJ
AIKHN
AITUG
AJBFU
AJOXV
ALMA_UNASSIGNED_HOLDINGS
AMFUW
AMRAJ
AOUOD
AXJTR
BKOJK
BLXMC
CS3
DU5
E.L
EBS
EFJIC
EFLBG
EJD
EO8
EO9
EP2
EP3
FDB
FEDTE
FIRID
FNPLU
FYGXN
G-Q
GBLVA
GBOLZ
HVGLF
IHE
IXB
J1W
KOM
LG9
M26
M41
MO0
N9A
O-L
O9-
OAUVE
OK1
OZT
P-8
P-9
P2P
PC.
Q38
RIG
ROL
RPZ
SDF
SDG
SDP
SES
SPC
SPCBC
SSV
SSZ
T5K
TN5
XPP
ZMT
~G-
9DU
AAEDT
AAQXK
AATTM
AAXKI
AAYWO
AAYXX
ABFNM
ABWVN
ABXDB
ACLOT
ACNNM
ACRPL
ACVFH
ADCNI
ADMUD
ADNMO
ADVLN
AEIPS
AEUPX
AFFNX
AFJKZ
AFPUW
AGHFR
AGQPQ
AIGII
AIIUN
AKBMS
AKRWK
AKYEP
ANKPU
APXCP
ASPBG
AVWKF
AZFZN
CITATION
EFKBS
FGOYB
G-2
HZ~
R2-
SEW
WUQ
ZY4
~HD
ID FETCH-LOGICAL-c348t-589950c6e9f893e12ade58887f521c0bc5e10106b5a9934512d41fcb45d85d013
ISICitedReferencesCount 19
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000410014200005&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
ISSN 0167-6423
IngestDate Sat Nov 29 03:37:18 EST 2025
Tue Nov 18 21:26:50 EST 2025
Fri Feb 23 02:37:18 EST 2024
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed true
IsScholarly true
Keywords Software model checking
Semantics of programming languages
Horn clauses
Program verification
Program specialization
Language English
LinkModel OpenURL
MergedId FETCHMERGED-LOGICAL-c348t-589950c6e9f893e12ade58887f521c0bc5e10106b5a9934512d41fcb45d85d013
OpenAccessLink http://hdl.handle.net/2108/184695
PageCount 31
ParticipantIDs crossref_citationtrail_10_1016_j_scico_2016_11_002
crossref_primary_10_1016_j_scico_2016_11_002
elsevier_sciencedirect_doi_10_1016_j_scico_2016_11_002
PublicationCentury 2000
PublicationDate 2017-11-01
2017-11-00
PublicationDateYYYYMMDD 2017-11-01
PublicationDate_xml – month: 11
  year: 2017
  text: 2017-11-01
  day: 01
PublicationDecade 2010
PublicationTitle Science of computer programming
PublicationYear 2017
Publisher Elsevier B.V
Publisher_xml – name: Elsevier B.V
References Leuschel, Sørensen (br0380) 1996; vol. 1207
De Angelis, Fioravanti, Pettorossi, Proietti (br0100) 2014; vol. 8413
Kafle, Gallagher (br0360) 2015
Leuschel, Vidal (br0400) 2014; 235
Reynolds (br0520) 1998
Filliâtre, Paskevich (br0180) 2013; vol. 7792
Moore (br0460) 2003; vol. 2860
Fioravanti, Pettorossi, Proietti, Senni (br0210) 2013; 13
Cousot, Halbwachs (br0080) 1978
Fioravanti, Pettorossi, Proietti (br0190) 2001; vol. 2042
De Angelis, Fioravanti, Navas, Proietti (br0090) 2014; vol. 169
Jaffar, Maher (br0330) 1994; 19
van Leeuwen (br0550) 2007; vol. 191
Albert, Gómez-Zamalloa, Hubert, Puebla (br0010) 2007; vol. 4354
Gange, Navas, Schachte, Søndergaard, Stuckey (br0260) 2015; 15
Leuschel, Bruynooghe (br0370) 2002; 2
Cousot, Cousot (br0070) 1977
Barnett, Chang, De Line, Jacobs, Leino (br0020) 2006; vol. 4111
Flanagan (br0220) 2004; 50
Grebenshchikov, Gupta, Lopes, Popeea, Rybalchenko (br0280) 2012; vol. 7214
Lloyd, Shepherdson (br0430) 1991; 11
Matthews, Moore, Ray, Vroon (br0440) 2006; vol. 4246
De Angelis, Fioravanti, Pettorossi, Proietti (br0120) 2015
Tange (br0540) Feb. 2011; 36
Necula, McPeak, Rahul, Weimer (br0470) 2002; vol. 2304
Fioravanti, Pettorossi, Proietti, Senni (br0200) 2012; 119
Henzinger, Hottelier, Kovács (br0310) 2008
De Angelis, Fioravanti, Pettorossi, Proietti (br0140) 2015; 140
Cousot (br0060) 1997
McMillan, Rybalchenko (br0450) 2013
Hojjat, Konecný, Garnier, Iosif, Kuncak, Rümmer (br0320) 2012; vol. 7436
Gallagher, Kafle (br0250) 2014; 14
Gallagher (br0240) 1993
Rosu, Serbanuta (br0530) 2010; 79
Flanagan, Saxe (br0230) 2001; 36
Peralta, Gallagher, Saglam (br0490) 1998; vol. 1503
Jones, Gomard, Sestoft (br0350) 1993
de Moura, Bjørner (br0160) 2008; vol. 4963
Pierce (br0500) 2002
Bjørner, McMillan, Rybalchenko (br0030) 2012
Henriksen, Gallagher (br0300) 2006
Peralta, Gallagher (br0480) 2000; vol. 1817
Etalle, Gabbrielli (br0170) 1996; 166
Leuschel, Craig, Bruynooghe, Vanhoof (br0390) 2004; vol. 3049
Cimatti, Griggio, Schaafsma, Sebastiani (br0040) 2013; vol. 7795
Gómez-Zamalloa, Albert, Puebla (br0270) October 2009; 51
Proietti, Pettorossi (br0510) 1995; 142
Cok, Kiniry (br0050) 2005
De Angelis, Fioravanti, Pettorossi, Proietti (br0130) 2015; 15
Lev-Ami, Manevich, Sagiv (br0410) 2004; vol. 156
Lloyd (br0420) 1987
Jaffar, Navas, Santosa (br0340) 2012; vol. 7186
De Angelis, Fioravanti, Pettorossi, Proietti (br0150) 2016; vol. 9837
Grebenshchikov, Lopes, Popeea, Rybalchenko (br0290) 2012
De Angelis, Fioravanti, Pettorossi, Proietti (br0110) 2014; 95, Part 2
Henriksen (10.1016/j.scico.2016.11.002_br0300) 2006
Bjørner (10.1016/j.scico.2016.11.002_br0030) 2012
De Angelis (10.1016/j.scico.2016.11.002_br0150) 2016; vol. 9837
De Angelis (10.1016/j.scico.2016.11.002_br0130) 2015; 15
Fioravanti (10.1016/j.scico.2016.11.002_br0200) 2012; 119
Grebenshchikov (10.1016/j.scico.2016.11.002_br0290) 2012
Henzinger (10.1016/j.scico.2016.11.002_br0310) 2008
Necula (10.1016/j.scico.2016.11.002_br0470) 2002; vol. 2304
de Moura (10.1016/j.scico.2016.11.002_br0160) 2008; vol. 4963
Leuschel (10.1016/j.scico.2016.11.002_br0370) 2002; 2
De Angelis (10.1016/j.scico.2016.11.002_br0110) 2014; 95, Part 2
Matthews (10.1016/j.scico.2016.11.002_br0440) 2006; vol. 4246
Cimatti (10.1016/j.scico.2016.11.002_br0040) 2013; vol. 7795
Tange (10.1016/j.scico.2016.11.002_br0540) 2011; 36
Fioravanti (10.1016/j.scico.2016.11.002_br0210) 2013; 13
Cousot (10.1016/j.scico.2016.11.002_br0060) 1997
Rosu (10.1016/j.scico.2016.11.002_br0530) 2010; 79
Cousot (10.1016/j.scico.2016.11.002_br0070) 1977
Leuschel (10.1016/j.scico.2016.11.002_br0400) 2014; 235
Flanagan (10.1016/j.scico.2016.11.002_br0230) 2001; 36
Lloyd (10.1016/j.scico.2016.11.002_br0430) 1991; 11
Albert (10.1016/j.scico.2016.11.002_br0010) 2007; vol. 4354
Cok (10.1016/j.scico.2016.11.002_br0050) 2005
De Angelis (10.1016/j.scico.2016.11.002_br0120) 2015
Lloyd (10.1016/j.scico.2016.11.002_br0420) 1987
Etalle (10.1016/j.scico.2016.11.002_br0170) 1996; 166
Leuschel (10.1016/j.scico.2016.11.002_br0390) 2004; vol. 3049
Jones (10.1016/j.scico.2016.11.002_br0350) 1993
Jaffar (10.1016/j.scico.2016.11.002_br0330) 1994; 19
Gallagher (10.1016/j.scico.2016.11.002_br0250) 2014; 14
Jaffar (10.1016/j.scico.2016.11.002_br0340) 2012; vol. 7186
Gallagher (10.1016/j.scico.2016.11.002_br0240) 1993
Barnett (10.1016/j.scico.2016.11.002_br0020) 2006; vol. 4111
Gange (10.1016/j.scico.2016.11.002_br0260) 2015; 15
Pierce (10.1016/j.scico.2016.11.002_br0500) 2002
Lev-Ami (10.1016/j.scico.2016.11.002_br0410) 2004; vol. 156
De Angelis (10.1016/j.scico.2016.11.002_br0090) 2014; vol. 169
Leuschel (10.1016/j.scico.2016.11.002_br0380) 1996; vol. 1207
Proietti (10.1016/j.scico.2016.11.002_br0510) 1995; 142
Cousot (10.1016/j.scico.2016.11.002_br0080) 1978
Flanagan (10.1016/j.scico.2016.11.002_br0220) 2004; 50
Peralta (10.1016/j.scico.2016.11.002_br0480) 2000; vol. 1817
Reynolds (10.1016/j.scico.2016.11.002_br0520) 1998
Fioravanti (10.1016/j.scico.2016.11.002_br0190) 2001; vol. 2042
Gómez-Zamalloa (10.1016/j.scico.2016.11.002_br0270) 2009; 51
Filliâtre (10.1016/j.scico.2016.11.002_br0180) 2013; vol. 7792
Grebenshchikov (10.1016/j.scico.2016.11.002_br0280) 2012; vol. 7214
Moore (10.1016/j.scico.2016.11.002_br0460) 2003; vol. 2860
Peralta (10.1016/j.scico.2016.11.002_br0490) 1998; vol. 1503
De Angelis (10.1016/j.scico.2016.11.002_br0100) 2014; vol. 8413
McMillan (10.1016/j.scico.2016.11.002_br0450) 2013
van Leeuwen (10.1016/j.scico.2016.11.002_br0550) 2007; vol. 191
De Angelis (10.1016/j.scico.2016.11.002_br0140) 2015; 140
Hojjat (10.1016/j.scico.2016.11.002_br0320) 2012; vol. 7436
Kafle (10.1016/j.scico.2016.11.002_br0360) 2015
References_xml – volume: 15
  start-page: 635
  year: 2015
  end-page: 650
  ident: br0130
  article-title: Proving correctness of imperative programs by linearizing constrained Horn clauses
  publication-title: Theory Pract. Log. Program.
– volume: 13
  start-page: 175
  year: 2013
  end-page: 199
  ident: br0210
  article-title: Generalization strategies for the verification of infinite state systems
  publication-title: Theory Pract. Log. Program.
– volume: 36
  start-page: 42
  year: Feb. 2011
  end-page: 47
  ident: br0540
  article-title: Gnu parallel – the command-line power tool
  publication-title: ;Login, USENIX Mag.
– volume: vol. 2304
  start-page: 209
  year: 2002
  end-page: 265
  ident: br0470
  article-title: CIL: intermediate language and tools for analysis and transformation of C programs
  publication-title: Compiler Construction
– volume: 51
  start-page: 1409
  year: October 2009
  end-page: 1427
  ident: br0270
  article-title: Decompilation of Java bytecode to Prolog by partial evaluation
  publication-title: Inf. Softw. Technol.
– volume: vol. 7436
  start-page: 247
  year: 2012
  end-page: 251
  ident: br0320
  article-title: A verification toolkit for numerical transition systems
  publication-title: Formal Methods, Proceedings of the 18th International Symposium
– volume: 36
  start-page: 193
  year: 2001
  end-page: 205
  ident: br0230
  article-title: Avoiding exponential explosion: generating compact verification conditions
  publication-title: SIGPLAN Not.
– volume: vol. 1817
  start-page: 102
  year: 2000
  end-page: 117
  ident: br0480
  article-title: Imperative program specialisation: an approach using CLP
  publication-title: Logic Programming Synthesis and Transformation, 9th International Workshop
– volume: 79
  start-page: 397
  year: 2010
  end-page: 434
  ident: br0530
  article-title: An overview of the K semantic framework
  publication-title: J. Log. Algebraic Program.
– volume: vol. 4354
  start-page: 124
  year: 2007
  end-page: 139
  ident: br0010
  article-title: Verification of Java bytecode using analysis and transformation of logic programs
  publication-title: Practical Aspects of Declarative Languages
– start-page: 88
  year: 1993
  end-page: 98
  ident: br0240
  article-title: Tutorial on specialisation of logic programs
  publication-title: Proceedings of the 1993 ACM SIGPLAN Symposium on Partial Evaluation and Semantics Based Program Manipulation
– volume: vol. 1207
  start-page: 83
  year: 1996
  end-page: 103
  ident: br0380
  article-title: Redundant argument filtering of logic programs
  publication-title: Logic Program Synthesis and Transformation, Proceedings
– volume: vol. 156
  start-page: 367
  year: 2004
  end-page: 375
  ident: br0410
  article-title: Tvla: a system for generating abstract interpreters
  publication-title: Building the Information Society
– volume: 142
  start-page: 89
  year: 1995
  end-page: 124
  ident: br0510
  article-title: Unfolding–definition–folding, in this order, for avoiding unnecessary variables in logic programs
  publication-title: Theor. Comput. Sci.
– start-page: 405
  year: 2012
  end-page: 416
  ident: br0290
  article-title: Synthesizing software verifiers from proof rules
  publication-title: Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation
– start-page: 84
  year: 1978
  end-page: 96
  ident: br0080
  article-title: Automatic discovery of linear restraints among variables of a program
  publication-title: Proceedings of the Fifth ACM Symposium on Principles of Programming Languages
– volume: vol. 169
  start-page: 3
  year: 2014
  end-page: 18
  ident: br0090
  article-title: Verification of programs by combining iterated specialization with interpolation
  publication-title: Proceedings First Workshop on Horn Clauses for Verification and Synthesis
– volume: 95, Part 2
  start-page: 149
  year: 2014
  end-page: 175
  ident: br0110
  article-title: Program verification via iterated specialization
  publication-title: Selected and Extended Papers from Partial Evaluation and Program Manipulation 2013
– volume: vol. 4246
  start-page: 362
  year: 2006
  end-page: 376
  ident: br0440
  article-title: Verification condition generation via theorem proving
  publication-title: Logic for Programming, Artificial Intelligence, and Reasoning
– start-page: 108
  year: 2005
  end-page: 128
  ident: br0050
  article-title: ESC/Java2: uniting ESC/Java and JML
  publication-title: Proceedings of the 2004 International Conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
– volume: vol. 4963
  start-page: 337
  year: 2008
  end-page: 340
  ident: br0160
  article-title: Z3: an efficient SMT solver
  publication-title: Proceedings of the 14th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
– volume: vol. 7186
  start-page: 396
  year: 2012
  end-page: 411
  ident: br0340
  article-title: Unbounded symbolic execution for program verification
  publication-title: Proceedings of the 2nd International Conference on Runtime Verification
– start-page: 85
  year: 2015
  end-page: 90
  ident: br0360
  article-title: Constraint specialisation in Horn clause verification
  publication-title: Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation
– volume: 235
  start-page: 70
  year: 2014
  end-page: 97
  ident: br0400
  article-title: Fast offline partial evaluation of logic programs
  publication-title: Inf. Comput.
– start-page: 91
  year: 2015
  end-page: 102
  ident: br0120
  article-title: Semantics-based generation of verification conditions by program specialization
  publication-title: Proceedings of the 17th International Symposium on Principles and Practice of Declarative Programming
– start-page: 3
  year: 2012
  end-page: 11
  ident: br0030
  article-title: Program verification as satisfiability modulo theories
  publication-title: Proceedings of the 10th International Workshop on Satisfiability Modulo Theories
– volume: vol. 7795
  start-page: 93
  year: 2013
  end-page: 107
  ident: br0040
  article-title: The MathSAT5 SMT solver
  publication-title: Proceedings of TACAS
– year: 1993
  ident: br0350
  article-title: Partial Evaluation and Automatic Program Generation
– year: 2013
  ident: br0450
  article-title: Solving Constrained Horn Clauses Using Interpolation
– volume: 15
  start-page: 526
  year: 2015
  end-page: 542
  ident: br0260
  article-title: Horn clauses as an intermediate representation for program analysis and transformation
  publication-title: Theory Pract. Log. Program.
– volume: vol. 1503
  start-page: 246
  year: 1998
  end-page: 261
  ident: br0490
  article-title: Analysis of imperative programs through analysis of constraint logic programs
  publication-title: Proceedings of the 5th International Symposium on Static Analysis
– volume: vol. 7792
  start-page: 125
  year: 2013
  end-page: 128
  ident: br0180
  article-title: Why3 – where programs meet provers
  publication-title: Programming Languages and Systems, Proceedings of the 22nd European Symposium on Programming, ESOP '13, held as part of the European Joint Conferences on Theory and Practice of Software
– start-page: 333
  year: 2008
  end-page: 342
  ident: br0310
  article-title: Valigator: a verification tool with bound and invariant generation
  publication-title: Logic for Programming, Artificial Intelligence, and Reasoning, Proceedings of the 15th International Conference
– volume: vol. 3049
  start-page: 340
  year: 2004
  end-page: 375
  ident: br0390
  article-title: Specialising interpreters using offline partial deduction
  publication-title: Program Development in Computational Logic
– year: 1987
  ident: br0420
  article-title: Foundations of Logic Programming
– volume: 2
  start-page: 461
  year: 2002
  end-page: 515
  ident: br0370
  article-title: Logic program specialisation through partial deduction: control issues
  publication-title: Theory Pract. Log. Program.
– volume: vol. 191
  start-page: 73
  year: 2007
  end-page: 83
  ident: br0550
  article-title: Building verification condition generators by compositional extension
  publication-title: Proceedings of the Doctoral Symposium Affiliated with the Fifth Integrated Formal Methods Conference
– year: 1998
  ident: br0520
  article-title: Theories of Programming Languages
– volume: 19
  start-page: 503
  year: 1994
  end-page: 581
  ident: br0330
  article-title: Constraint logic programming: a survey
  publication-title: J. Log. Program.
– volume: 50
  start-page: 253
  year: 2004
  end-page: 270
  ident: br0220
  article-title: Automatic software model checking via constraint logic
  publication-title: Sci. Comput. Program.
– year: 2002
  ident: br0500
  article-title: Types and Programming Languages
– start-page: 103
  year: 2006
  end-page: 179
  ident: br0300
  article-title: Abstract interpretation of pic programs through logic programming
  publication-title: Proceedings of the 6th IEEE International Workshop on Source Code Analysis and Manipulation
– volume: vol. 8413
  start-page: 568
  year: 2014
  end-page: 574
  ident: br0100
  article-title: VeriMAP: a tool for verifying programs through transformations
  publication-title: Proceedings of the 20th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
– start-page: 238
  year: 1977
  end-page: 252
  ident: br0070
  article-title: Abstract interpretation: a unified lattice model for static analysis of programs by construction of approximation of fixpoints
  publication-title: Proceedings of the 4th ACM–SIGPLAN Symposium on Principles of Programming Languages
– volume: 119
  start-page: 281
  year: 2012
  end-page: 300
  ident: br0200
  article-title: Improving reachability analysis of infinite state systems by specialization
  publication-title: Fundam. Inform.
– volume: 14
  start-page: 90
  year: 2014
  end-page: 101
  ident: br0250
  article-title: Analysis and transformation tools for constrained Horn clause verification
  publication-title: Theory Pract. Log. Program.
– volume: vol. 2042
  start-page: 125
  year: 2001
  end-page: 146
  ident: br0190
  article-title: Automated strategies for specializing constraint logic programs
  publication-title: Proceedings of the Tenth International Workshop on Logic-Based Program Synthesis and Transformation
– volume: vol. 4111
  start-page: 364
  year: 2006
  end-page: 387
  ident: br0020
  article-title: Boogie: a modular reusable verifier for object-oriented programs
  publication-title: Formal Methods for Components and Objects
– volume: 166
  start-page: 101
  year: 1996
  end-page: 146
  ident: br0170
  article-title: Transformations of CLP modules
  publication-title: Theor. Comput. Sci.
– volume: 11
  start-page: 217
  year: 1991
  end-page: 242
  ident: br0430
  article-title: Partial evaluation in logic programming
  publication-title: J. Log. Program.
– volume: vol. 9837
  start-page: 147
  year: 2016
  end-page: 169
  ident: br0150
  article-title: Relational verification through Horn clause transformation
  publication-title: Proceedings of the 23rd International Symposium on Static Analysis
– volume: vol. 2860
  start-page: 289
  year: 2003
  end-page: 303
  ident: br0460
  article-title: Inductive assertions and operational semantics
  publication-title: Correct Hardware Design and Verification Methods
– start-page: 388
  year: 1997
  end-page: 394
  ident: br0060
  article-title: Abstract interpretation based static analysis parameterized by semantics
  publication-title: Proceedings of the 4th International Symposium on Static Analysis
– volume: vol. 7214
  start-page: 549
  year: 2012
  end-page: 551
  ident: br0280
  article-title: HSF(C): a software verifier based on Horn clauses
  publication-title: Proc. of the 18th International Conference on Tools and Algorithms for the Construction and Analysis of Systems
– volume: 140
  start-page: 329
  year: 2015
  end-page: 355
  ident: br0140
  article-title: A rule-based verification strategy for array manipulating programs
  publication-title: Fundam. Inform.
– volume: 13
  start-page: 175
  issue: 2
  year: 2013
  ident: 10.1016/j.scico.2016.11.002_br0210
  article-title: Generalization strategies for the verification of infinite state systems
  publication-title: Theory Pract. Log. Program.
  doi: 10.1017/S1471068411000627
– start-page: 84
  year: 1978
  ident: 10.1016/j.scico.2016.11.002_br0080
  article-title: Automatic discovery of linear restraints among variables of a program
– volume: vol. 4963
  start-page: 337
  year: 2008
  ident: 10.1016/j.scico.2016.11.002_br0160
  article-title: Z3: an efficient SMT solver
– volume: 235
  start-page: 70
  year: 2014
  ident: 10.1016/j.scico.2016.11.002_br0400
  article-title: Fast offline partial evaluation of logic programs
  publication-title: Inf. Comput.
  doi: 10.1016/j.ic.2014.01.005
– start-page: 388
  year: 1997
  ident: 10.1016/j.scico.2016.11.002_br0060
  article-title: Abstract interpretation based static analysis parameterized by semantics
– volume: vol. 1817
  start-page: 102
  year: 2000
  ident: 10.1016/j.scico.2016.11.002_br0480
  article-title: Imperative program specialisation: an approach using CLP
– start-page: 88
  year: 1993
  ident: 10.1016/j.scico.2016.11.002_br0240
  article-title: Tutorial on specialisation of logic programs
– volume: vol. 7436
  start-page: 247
  year: 2012
  ident: 10.1016/j.scico.2016.11.002_br0320
  article-title: A verification toolkit for numerical transition systems
– start-page: 238
  year: 1977
  ident: 10.1016/j.scico.2016.11.002_br0070
  article-title: Abstract interpretation: a unified lattice model for static analysis of programs by construction of approximation of fixpoints
– volume: 95, Part 2
  start-page: 149
  year: 2014
  ident: 10.1016/j.scico.2016.11.002_br0110
  article-title: Program verification via iterated specialization
  publication-title: Sci. Comput. Program.
  doi: 10.1016/j.scico.2014.05.017
– volume: 50
  start-page: 253
  issue: 1–3
  year: 2004
  ident: 10.1016/j.scico.2016.11.002_br0220
  article-title: Automatic software model checking via constraint logic
  publication-title: Sci. Comput. Program.
  doi: 10.1016/j.scico.2004.01.006
– volume: vol. 156
  start-page: 367
  year: 2004
  ident: 10.1016/j.scico.2016.11.002_br0410
  article-title: Tvla: a system for generating abstract interpreters
– volume: vol. 169
  start-page: 3
  year: 2014
  ident: 10.1016/j.scico.2016.11.002_br0090
  article-title: Verification of programs by combining iterated specialization with interpolation
– volume: vol. 1503
  start-page: 246
  year: 1998
  ident: 10.1016/j.scico.2016.11.002_br0490
  article-title: Analysis of imperative programs through analysis of constraint logic programs
– volume: vol. 191
  start-page: 73
  year: 2007
  ident: 10.1016/j.scico.2016.11.002_br0550
  article-title: Building verification condition generators by compositional extension
– volume: 11
  start-page: 217
  year: 1991
  ident: 10.1016/j.scico.2016.11.002_br0430
  article-title: Partial evaluation in logic programming
  publication-title: J. Log. Program.
  doi: 10.1016/0743-1066(91)90027-M
– volume: vol. 7792
  start-page: 125
  year: 2013
  ident: 10.1016/j.scico.2016.11.002_br0180
  article-title: Why3 – where programs meet provers
– volume: 166
  start-page: 101
  year: 1996
  ident: 10.1016/j.scico.2016.11.002_br0170
  article-title: Transformations of CLP modules
  publication-title: Theor. Comput. Sci.
  doi: 10.1016/0304-3975(95)00148-4
– year: 2013
  ident: 10.1016/j.scico.2016.11.002_br0450
– year: 1993
  ident: 10.1016/j.scico.2016.11.002_br0350
– volume: vol. 7214
  start-page: 549
  year: 2012
  ident: 10.1016/j.scico.2016.11.002_br0280
  article-title: HSF(C): a software verifier based on Horn clauses
– volume: vol. 2042
  start-page: 125
  year: 2001
  ident: 10.1016/j.scico.2016.11.002_br0190
  article-title: Automated strategies for specializing constraint logic programs
– volume: 19
  start-page: 503
  issue: 20
  year: 1994
  ident: 10.1016/j.scico.2016.11.002_br0330
  article-title: Constraint logic programming: a survey
  publication-title: J. Log. Program.
  doi: 10.1016/0743-1066(94)90033-7
– volume: 79
  start-page: 397
  issue: 6
  year: 2010
  ident: 10.1016/j.scico.2016.11.002_br0530
  article-title: An overview of the K semantic framework
  publication-title: J. Log. Algebraic Program.
  doi: 10.1016/j.jlap.2010.03.012
– year: 1987
  ident: 10.1016/j.scico.2016.11.002_br0420
– start-page: 91
  year: 2015
  ident: 10.1016/j.scico.2016.11.002_br0120
  article-title: Semantics-based generation of verification conditions by program specialization
– volume: vol. 2304
  start-page: 209
  year: 2002
  ident: 10.1016/j.scico.2016.11.002_br0470
  article-title: CIL: intermediate language and tools for analysis and transformation of C programs
– volume: vol. 3049
  start-page: 340
  year: 2004
  ident: 10.1016/j.scico.2016.11.002_br0390
  article-title: Specialising interpreters using offline partial deduction
– volume: 119
  start-page: 281
  issue: 3–4
  year: 2012
  ident: 10.1016/j.scico.2016.11.002_br0200
  article-title: Improving reachability analysis of infinite state systems by specialization
  publication-title: Fundam. Inform.
  doi: 10.3233/FI-2012-738
– start-page: 108
  year: 2005
  ident: 10.1016/j.scico.2016.11.002_br0050
  article-title: ESC/Java2: uniting ESC/Java and JML
– volume: vol. 9837
  start-page: 147
  year: 2016
  ident: 10.1016/j.scico.2016.11.002_br0150
  article-title: Relational verification through Horn clause transformation
– volume: 51
  start-page: 1409
  issue: 10
  year: 2009
  ident: 10.1016/j.scico.2016.11.002_br0270
  article-title: Decompilation of Java bytecode to Prolog by partial evaluation
  publication-title: Inf. Softw. Technol.
  doi: 10.1016/j.infsof.2009.04.010
– volume: 142
  start-page: 89
  issue: 1
  year: 1995
  ident: 10.1016/j.scico.2016.11.002_br0510
  article-title: Unfolding–definition–folding, in this order, for avoiding unnecessary variables in logic programs
  publication-title: Theor. Comput. Sci.
  doi: 10.1016/0304-3975(94)00227-A
– volume: vol. 8413
  start-page: 568
  year: 2014
  ident: 10.1016/j.scico.2016.11.002_br0100
  article-title: VeriMAP: a tool for verifying programs through transformations
– volume: vol. 4354
  start-page: 124
  year: 2007
  ident: 10.1016/j.scico.2016.11.002_br0010
  article-title: Verification of Java bytecode using analysis and transformation of logic programs
– volume: vol. 7795
  start-page: 93
  year: 2013
  ident: 10.1016/j.scico.2016.11.002_br0040
  article-title: The MathSAT5 SMT solver
– volume: vol. 1207
  start-page: 83
  year: 1996
  ident: 10.1016/j.scico.2016.11.002_br0380
  article-title: Redundant argument filtering of logic programs
– start-page: 3
  year: 2012
  ident: 10.1016/j.scico.2016.11.002_br0030
  article-title: Program verification as satisfiability modulo theories
– start-page: 85
  year: 2015
  ident: 10.1016/j.scico.2016.11.002_br0360
  article-title: Constraint specialisation in Horn clause verification
– volume: 140
  start-page: 329
  issue: 3–4
  year: 2015
  ident: 10.1016/j.scico.2016.11.002_br0140
  article-title: A rule-based verification strategy for array manipulating programs
  publication-title: Fundam. Inform.
  doi: 10.3233/FI-2015-1257
– volume: 14
  start-page: 90
  issue: 4–5
  year: 2014
  ident: 10.1016/j.scico.2016.11.002_br0250
  article-title: Analysis and transformation tools for constrained Horn clause verification
  publication-title: Theory Pract. Log. Program.
– start-page: 103
  year: 2006
  ident: 10.1016/j.scico.2016.11.002_br0300
  article-title: Abstract interpretation of pic programs through logic programming
– volume: vol. 4246
  start-page: 362
  year: 2006
  ident: 10.1016/j.scico.2016.11.002_br0440
  article-title: Verification condition generation via theorem proving
– volume: vol. 4111
  start-page: 364
  year: 2006
  ident: 10.1016/j.scico.2016.11.002_br0020
  article-title: Boogie: a modular reusable verifier for object-oriented programs
– volume: 15
  start-page: 526
  issue: 4–5
  year: 2015
  ident: 10.1016/j.scico.2016.11.002_br0260
  article-title: Horn clauses as an intermediate representation for program analysis and transformation
  publication-title: Theory Pract. Log. Program.
  doi: 10.1017/S1471068415000204
– volume: vol. 2860
  start-page: 289
  year: 2003
  ident: 10.1016/j.scico.2016.11.002_br0460
  article-title: Inductive assertions and operational semantics
– volume: 36
  start-page: 193
  issue: 3
  year: 2001
  ident: 10.1016/j.scico.2016.11.002_br0230
  article-title: Avoiding exponential explosion: generating compact verification conditions
  publication-title: SIGPLAN Not.
  doi: 10.1145/373243.360220
– year: 1998
  ident: 10.1016/j.scico.2016.11.002_br0520
– volume: 15
  start-page: 635
  issue: 4–5
  year: 2015
  ident: 10.1016/j.scico.2016.11.002_br0130
  article-title: Proving correctness of imperative programs by linearizing constrained Horn clauses
  publication-title: Theory Pract. Log. Program.
  doi: 10.1017/S1471068415000289
– volume: vol. 7186
  start-page: 396
  year: 2012
  ident: 10.1016/j.scico.2016.11.002_br0340
  article-title: Unbounded symbolic execution for program verification
– volume: 2
  start-page: 461
  issue: 4–5
  year: 2002
  ident: 10.1016/j.scico.2016.11.002_br0370
  article-title: Logic program specialisation through partial deduction: control issues
  publication-title: Theory Pract. Log. Program.
  doi: 10.1017/S147106840200145X
– year: 2002
  ident: 10.1016/j.scico.2016.11.002_br0500
– start-page: 333
  year: 2008
  ident: 10.1016/j.scico.2016.11.002_br0310
  article-title: Valigator: a verification tool with bound and invariant generation
– start-page: 405
  year: 2012
  ident: 10.1016/j.scico.2016.11.002_br0290
  article-title: Synthesizing software verifiers from proof rules
– volume: 36
  start-page: 42
  issue: 1
  year: 2011
  ident: 10.1016/j.scico.2016.11.002_br0540
  article-title: Gnu parallel – the command-line power tool
  publication-title: ;Login, USENIX Mag.
SSID ssj0006471
Score 2.3375392
Snippet We present a method for automatically generating verification conditions for a class of imperative programs and safety properties. Our method is parametric...
SourceID crossref
elsevier
SourceType Enrichment Source
Index Database
Publisher
StartPage 78
SubjectTerms Horn clauses
Program specialization
Program verification
Semantics of programming languages
Software model checking
Title Semantics-based generation of verification conditions via program specialization
URI https://dx.doi.org/10.1016/j.scico.2016.11.002
Volume 147
WOSCitedRecordID wos000410014200005&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
journalDatabaseRights – providerCode: PRVESC
  databaseName: Elsevier SD Freedom Collection Journals 2021
  customDbUrl:
  eissn: 1872-7964
  dateEnd: 20180131
  omitProxy: false
  ssIdentifier: ssj0006471
  issn: 0167-6423
  databaseCode: AIEXJ
  dateStart: 19950201
  isFulltext: true
  titleUrlDefault: https://www.sciencedirect.com
  providerName: Elsevier
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwtV1NbxMxELVCy4ELlC-1pSAfuJVdxZv9sI8VSkURVJVapNxWXtuLUrWbKglR_0L_Nc9rezclqAIkLqvEiTfOzOzMG2v8hpD3umZJXjERcW2KKB1VKhK8GkVJhXAFvF0VquWZ_VKcnvLJRJwNBnfhLMzqqmgafnsrbv6rqjEGZdujs3-h7u6mGMBrKB1XqB3XP1L8ubmGtKZqEdkIpW2PZDPvgCH-ji0Ocu-RC2tXsnW4mspQq3W4cD3p_QnNdfgaPIGvRbftIMKs6xADLSq2ZCffjW-1Po47I7F8ACu7uhYzx71fXlomBTyeravqx-ezKT5qR7_G6xsUCHrs3gbF5skZt5EJB43cxzk345wvL4D2hWM177yzI-T0_tW1-_GRmrWMEJtBwO1HXMbAEMqe72R5bIlah0kf87pKxHO7ELsO4FKgXTF5RLaTIhPw8dtHJ-PJ5y6s5y577xYeKKzaYsGNn_o9zFmDLhc75KnPOeiRs5XnZGCaF-RZ6OdBvVJfkrNfTIf2pkNnNV03HdqbDoXpUG8E9L7pvCLfjscXHz9FvuNGpEYpX0YZsu9sqHIjauBYwxKpTcYRh2qgPDWsVGaY3USoMglcmwIs6pTVqkozzTONbOI12WpmjdklVHIhZSEwDpBouWelyqXOC5mYNOWS7ZEkCKhUno7edkW5KkPd4WXZSrW0UkWiWkKqe-RDN-nGsbE8_PU8SL70gNIBxRKm8tDE_X-d-IY86R-BA7K1nP8wb8ljtVpOF_N33qR-AiCfnIg
linkProvider Elsevier
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Semantics-based+generation+of+verification+conditions+via+program+specialization&rft.jtitle=Science+of+computer+programming&rft.au=De+Angelis%2C+E.&rft.au=Fioravanti%2C+F.&rft.au=Pettorossi%2C+A.&rft.au=Proietti%2C+M.&rft.date=2017-11-01&rft.pub=Elsevier+B.V&rft.issn=0167-6423&rft.eissn=1872-7964&rft.volume=147&rft.spage=78&rft.epage=108&rft_id=info:doi/10.1016%2Fj.scico.2016.11.002&rft.externalDocID=S016764231630199X
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0167-6423&client=summon
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0167-6423&client=summon
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0167-6423&client=summon