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/...
Gespeichert in:
| Veröffentlicht in: | Science of computer programming Jg. 147; S. 78 - 108 |
|---|---|
| Hauptverfasser: | , , , |
| 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 |