Abstraction-driven verification of array programs
Identifieur interne :
000425 ( PascalFrancis/Curation );
précédent :
000424;
suivant :
000426
Abstraction-driven verification of array programs
Auteurs : David Deharbe [
Brésil] ;
Abdessamad Imine [
France] ;
Silvio Ranise [
France]
Source :
-
Lecture notes in computer science [ 0302-9743 ] ; 2004.
RBID : Pascal:04-0542416
Descripteurs français
- Pascal (Inist)
- Calcul symbolique,
Intelligence artificielle,
Vérification programme,
Démonstration théorème,
Théorie preuve,
Théorie équationnelle,
Abstraction,
Satisfaisabilité,
Quantificateur,
Exactitude programme,
Programme contrôle,
Viabilité,
Arithmétique Presburger.
- Wicri :
English descriptors
- KwdEn :
- Abstraction,
Artificial intelligence,
Checking program,
Equational theory,
Presburger arithmetic,
Program correctness,
Program verification,
Proof theory,
Quantifier,
Satisfiability,
Symbolic computation,
Theorem proving,
Viability.
Abstract
We describe a refutation-based theorem proving algorithm capable of checking the satisfiability of non-ground formulae modulo (a combination of) theories. The key idea is the use of abstraction to drive the application of (i) ground satisfiability checking modulo theories axiomatized by equational clauses, (ii) Presburger arithmetic, and (iii) quantifier instantiation. A prototype implementation is used to discharge the proof obligations necessary to show the correctness of some typical programs manipulating arrays. On these benchmarks, the prototype automatically discharge more proof obligations than Simplify - the prover of reference for program checking - thereby confirming the viability of our approach.
pA |
A01 | 01 | 1 | | @0 0302-9743 |
---|
A05 | | | | @2 3249 |
---|
A08 | 01 | 1 | ENG | @1 Abstraction-driven verification of array programs |
---|
A09 | 01 | 1 | ENG | @1 AISC 2004 : artificial intelligence and symbolic computation : Linz, 22-24 September 2004 |
---|
A11 | 01 | 1 | | @1 DEHARBE (David) |
---|
A11 | 02 | 1 | | @1 IMINE (Abdessamad) |
---|
A11 | 03 | 1 | | @1 RANISE (Silvio) |
---|
A12 | 01 | 1 | | @1 BUCHBERGER (Bruno) @9 ed. |
---|
A12 | 02 | 1 | | @1 CAMPBELL (John A.) @9 ed. |
---|
A14 | 01 | | | @1 UFRN/DIMAp @2 Natal @3 BRA @Z 1 aut. |
---|
A14 | 02 | | | @1 LORIA & INRIA-Lorraine @2 Nancy @3 FRA @Z 2 aut. @Z 3 aut. |
---|
A20 | | | | @1 271-275 |
---|
A21 | | | | @1 2004 |
---|
A23 | 01 | | | @0 ENG |
---|
A26 | 01 | | | @0 3-540-23212-5 |
---|
A43 | 01 | | | @1 INIST @2 16343 @5 354000124355830230 |
---|
A44 | | | | @0 0000 @1 © 2004 INIST-CNRS. All rights reserved. |
---|
A45 | | | | @0 12 ref. |
---|
A47 | 01 | 1 | | @0 04-0542416 |
---|
A60 | | | | @1 P @2 C |
---|
A61 | | | | @0 A |
---|
A64 | 01 | 1 | | @0 Lecture notes in computer science |
---|
A66 | 01 | | | @0 DEU |
---|
C01 | 01 | | ENG | @0 We describe a refutation-based theorem proving algorithm capable of checking the satisfiability of non-ground formulae modulo (a combination of) theories. The key idea is the use of abstraction to drive the application of (i) ground satisfiability checking modulo theories axiomatized by equational clauses, (ii) Presburger arithmetic, and (iii) quantifier instantiation. A prototype implementation is used to discharge the proof obligations necessary to show the correctness of some typical programs manipulating arrays. On these benchmarks, the prototype automatically discharge more proof obligations than Simplify - the prover of reference for program checking - thereby confirming the viability of our approach. |
---|
C02 | 01 | X | | @0 001D02C02 |
---|
C02 | 02 | X | | @0 001D02A05 |
---|
C03 | 01 | X | FRE | @0 Calcul symbolique @5 01 |
---|
C03 | 01 | X | ENG | @0 Symbolic computation @5 01 |
---|
C03 | 01 | X | SPA | @0 Cálculo simbólico @5 01 |
---|
C03 | 02 | X | FRE | @0 Intelligence artificielle @5 02 |
---|
C03 | 02 | X | ENG | @0 Artificial intelligence @5 02 |
---|
C03 | 02 | X | SPA | @0 Inteligencia artificial @5 02 |
---|
C03 | 03 | X | FRE | @0 Vérification programme @5 06 |
---|
C03 | 03 | X | ENG | @0 Program verification @5 06 |
---|
C03 | 03 | X | SPA | @0 Verificación programa @5 06 |
---|
C03 | 04 | X | FRE | @0 Démonstration théorème @5 07 |
---|
C03 | 04 | X | ENG | @0 Theorem proving @5 07 |
---|
C03 | 04 | X | SPA | @0 Demostración teorema @5 07 |
---|
C03 | 05 | X | FRE | @0 Théorie preuve @5 08 |
---|
C03 | 05 | X | ENG | @0 Proof theory @5 08 |
---|
C03 | 05 | X | SPA | @0 Teoría demonstración @5 08 |
---|
C03 | 06 | X | FRE | @0 Théorie équationnelle @5 09 |
---|
C03 | 06 | X | ENG | @0 Equational theory @5 09 |
---|
C03 | 06 | X | SPA | @0 Teoría ecuaciónal @5 09 |
---|
C03 | 07 | X | FRE | @0 Abstraction @5 18 |
---|
C03 | 07 | X | ENG | @0 Abstraction @5 18 |
---|
C03 | 07 | X | SPA | @0 Abstracción @5 18 |
---|
C03 | 08 | X | FRE | @0 Satisfaisabilité @5 19 |
---|
C03 | 08 | X | ENG | @0 Satisfiability @5 19 |
---|
C03 | 08 | X | SPA | @0 Satisfactoriabilidad @5 19 |
---|
C03 | 09 | X | FRE | @0 Quantificateur @5 20 |
---|
C03 | 09 | X | ENG | @0 Quantifier @5 20 |
---|
C03 | 09 | X | SPA | @0 Cuantificador @5 20 |
---|
C03 | 10 | X | FRE | @0 Exactitude programme @5 21 |
---|
C03 | 10 | X | ENG | @0 Program correctness @5 21 |
---|
C03 | 10 | X | SPA | @0 Exactitud programa @5 21 |
---|
C03 | 11 | X | FRE | @0 Programme contrôle @5 22 |
---|
C03 | 11 | X | ENG | @0 Checking program @5 22 |
---|
C03 | 11 | X | SPA | @0 Programa control @5 22 |
---|
C03 | 12 | X | FRE | @0 Viabilité @5 23 |
---|
C03 | 12 | X | ENG | @0 Viability @5 23 |
---|
C03 | 12 | X | SPA | @0 Viabilidad @5 23 |
---|
C03 | 13 | X | FRE | @0 Arithmétique Presburger @4 CD @5 96 |
---|
C03 | 13 | X | ENG | @0 Presburger arithmetic @4 CD @5 96 |
---|
C03 | 13 | X | SPA | @0 Aritmético Presburger @4 CD @5 96 |
---|
N21 | | | | @1 306 |
---|
N44 | 01 | | | @1 OTO |
---|
N82 | | | | @1 OTO |
---|
|
pR |
A30 | 01 | 1 | ENG | @1 International conference on artificial intelligence and symbolic computation @2 7 @3 Linz AUT @4 2004-09-22 |
---|
|
Links toward previous steps (curation, corpus...)
- to stream PascalFrancis, to step Corpus: Pour aller vers cette notice dans l'étape Curation :000616
Links to Exploration step
Pascal:04-0542416
Le document en format XML
<record><TEI><teiHeader><fileDesc><titleStmt><title xml:lang="en" level="a">Abstraction-driven verification of array programs</title>
<author><name sortKey="Deharbe, David" sort="Deharbe, David" uniqKey="Deharbe D" first="David" last="Deharbe">David Deharbe</name>
<affiliation wicri:level="1"><inist:fA14 i1="01"><s1>UFRN/DIMAp</s1>
<s2>Natal</s2>
<s3>BRA</s3>
<sZ>1 aut.</sZ>
</inist:fA14>
<country>Brésil</country>
</affiliation>
</author>
<author><name sortKey="Imine, Abdessamad" sort="Imine, Abdessamad" uniqKey="Imine A" first="Abdessamad" last="Imine">Abdessamad Imine</name>
<affiliation wicri:level="1"><inist:fA14 i1="02"><s1>LORIA & INRIA-Lorraine</s1>
<s2>Nancy</s2>
<s3>FRA</s3>
<sZ>2 aut.</sZ>
<sZ>3 aut.</sZ>
</inist:fA14>
<country>France</country>
</affiliation>
</author>
<author><name sortKey="Ranise, Silvio" sort="Ranise, Silvio" uniqKey="Ranise S" first="Silvio" last="Ranise">Silvio Ranise</name>
<affiliation wicri:level="1"><inist:fA14 i1="02"><s1>LORIA & INRIA-Lorraine</s1>
<s2>Nancy</s2>
<s3>FRA</s3>
<sZ>2 aut.</sZ>
<sZ>3 aut.</sZ>
</inist:fA14>
<country>France</country>
</affiliation>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">INIST</idno>
<idno type="inist">04-0542416</idno>
<date when="2004">2004</date>
<idno type="stanalyst">PASCAL 04-0542416 INIST</idno>
<idno type="RBID">Pascal:04-0542416</idno>
<idno type="wicri:Area/PascalFrancis/Corpus">000616</idno>
<idno type="wicri:Area/PascalFrancis/Curation">000425</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title xml:lang="en" level="a">Abstraction-driven verification of array programs</title>
<author><name sortKey="Deharbe, David" sort="Deharbe, David" uniqKey="Deharbe D" first="David" last="Deharbe">David Deharbe</name>
<affiliation wicri:level="1"><inist:fA14 i1="01"><s1>UFRN/DIMAp</s1>
<s2>Natal</s2>
<s3>BRA</s3>
<sZ>1 aut.</sZ>
</inist:fA14>
<country>Brésil</country>
</affiliation>
</author>
<author><name sortKey="Imine, Abdessamad" sort="Imine, Abdessamad" uniqKey="Imine A" first="Abdessamad" last="Imine">Abdessamad Imine</name>
<affiliation wicri:level="1"><inist:fA14 i1="02"><s1>LORIA & INRIA-Lorraine</s1>
<s2>Nancy</s2>
<s3>FRA</s3>
<sZ>2 aut.</sZ>
<sZ>3 aut.</sZ>
</inist:fA14>
<country>France</country>
</affiliation>
</author>
<author><name sortKey="Ranise, Silvio" sort="Ranise, Silvio" uniqKey="Ranise S" first="Silvio" last="Ranise">Silvio Ranise</name>
<affiliation wicri:level="1"><inist:fA14 i1="02"><s1>LORIA & INRIA-Lorraine</s1>
<s2>Nancy</s2>
<s3>FRA</s3>
<sZ>2 aut.</sZ>
<sZ>3 aut.</sZ>
</inist:fA14>
<country>France</country>
</affiliation>
</author>
</analytic>
<series><title level="j" type="main">Lecture notes in computer science</title>
<idno type="ISSN">0302-9743</idno>
<imprint><date when="2004">2004</date>
</imprint>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt><title level="j" type="main">Lecture notes in computer science</title>
<idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass><keywords scheme="KwdEn" xml:lang="en"><term>Abstraction</term>
<term>Artificial intelligence</term>
<term>Checking program</term>
<term>Equational theory</term>
<term>Presburger arithmetic</term>
<term>Program correctness</term>
<term>Program verification</term>
<term>Proof theory</term>
<term>Quantifier</term>
<term>Satisfiability</term>
<term>Symbolic computation</term>
<term>Theorem proving</term>
<term>Viability</term>
</keywords>
<keywords scheme="Pascal" xml:lang="fr"><term>Calcul symbolique</term>
<term>Intelligence artificielle</term>
<term>Vérification programme</term>
<term>Démonstration théorème</term>
<term>Théorie preuve</term>
<term>Théorie équationnelle</term>
<term>Abstraction</term>
<term>Satisfaisabilité</term>
<term>Quantificateur</term>
<term>Exactitude programme</term>
<term>Programme contrôle</term>
<term>Viabilité</term>
<term>Arithmétique Presburger</term>
</keywords>
<keywords scheme="Wicri" type="topic" xml:lang="fr"><term>Intelligence artificielle</term>
</keywords>
</textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">We describe a refutation-based theorem proving algorithm capable of checking the satisfiability of non-ground formulae modulo (a combination of) theories. The key idea is the use of abstraction to drive the application of (i) ground satisfiability checking modulo theories axiomatized by equational clauses, (ii) Presburger arithmetic, and (iii) quantifier instantiation. A prototype implementation is used to discharge the proof obligations necessary to show the correctness of some typical programs manipulating arrays. On these benchmarks, the prototype automatically discharge more proof obligations than Simplify - the prover of reference for program checking - thereby confirming the viability of our approach.</div>
</front>
</TEI>
<inist><standard h6="B"><pA><fA01 i1="01" i2="1"><s0>0302-9743</s0>
</fA01>
<fA05><s2>3249</s2>
</fA05>
<fA08 i1="01" i2="1" l="ENG"><s1>Abstraction-driven verification of array programs</s1>
</fA08>
<fA09 i1="01" i2="1" l="ENG"><s1>AISC 2004 : artificial intelligence and symbolic computation : Linz, 22-24 September 2004</s1>
</fA09>
<fA11 i1="01" i2="1"><s1>DEHARBE (David)</s1>
</fA11>
<fA11 i1="02" i2="1"><s1>IMINE (Abdessamad)</s1>
</fA11>
<fA11 i1="03" i2="1"><s1>RANISE (Silvio)</s1>
</fA11>
<fA12 i1="01" i2="1"><s1>BUCHBERGER (Bruno)</s1>
<s9>ed.</s9>
</fA12>
<fA12 i1="02" i2="1"><s1>CAMPBELL (John A.)</s1>
<s9>ed.</s9>
</fA12>
<fA14 i1="01"><s1>UFRN/DIMAp</s1>
<s2>Natal</s2>
<s3>BRA</s3>
<sZ>1 aut.</sZ>
</fA14>
<fA14 i1="02"><s1>LORIA & INRIA-Lorraine</s1>
<s2>Nancy</s2>
<s3>FRA</s3>
<sZ>2 aut.</sZ>
<sZ>3 aut.</sZ>
</fA14>
<fA20><s1>271-275</s1>
</fA20>
<fA21><s1>2004</s1>
</fA21>
<fA23 i1="01"><s0>ENG</s0>
</fA23>
<fA26 i1="01"><s0>3-540-23212-5</s0>
</fA26>
<fA43 i1="01"><s1>INIST</s1>
<s2>16343</s2>
<s5>354000124355830230</s5>
</fA43>
<fA44><s0>0000</s0>
<s1>© 2004 INIST-CNRS. All rights reserved.</s1>
</fA44>
<fA45><s0>12 ref.</s0>
</fA45>
<fA47 i1="01" i2="1"><s0>04-0542416</s0>
</fA47>
<fA60><s1>P</s1>
<s2>C</s2>
</fA60>
<fA64 i1="01" i2="1"><s0>Lecture notes in computer science</s0>
</fA64>
<fA66 i1="01"><s0>DEU</s0>
</fA66>
<fC01 i1="01" l="ENG"><s0>We describe a refutation-based theorem proving algorithm capable of checking the satisfiability of non-ground formulae modulo (a combination of) theories. The key idea is the use of abstraction to drive the application of (i) ground satisfiability checking modulo theories axiomatized by equational clauses, (ii) Presburger arithmetic, and (iii) quantifier instantiation. A prototype implementation is used to discharge the proof obligations necessary to show the correctness of some typical programs manipulating arrays. On these benchmarks, the prototype automatically discharge more proof obligations than Simplify - the prover of reference for program checking - thereby confirming the viability of our approach.</s0>
</fC01>
<fC02 i1="01" i2="X"><s0>001D02C02</s0>
</fC02>
<fC02 i1="02" i2="X"><s0>001D02A05</s0>
</fC02>
<fC03 i1="01" i2="X" l="FRE"><s0>Calcul symbolique</s0>
<s5>01</s5>
</fC03>
<fC03 i1="01" i2="X" l="ENG"><s0>Symbolic computation</s0>
<s5>01</s5>
</fC03>
<fC03 i1="01" i2="X" l="SPA"><s0>Cálculo simbólico</s0>
<s5>01</s5>
</fC03>
<fC03 i1="02" i2="X" l="FRE"><s0>Intelligence artificielle</s0>
<s5>02</s5>
</fC03>
<fC03 i1="02" i2="X" l="ENG"><s0>Artificial intelligence</s0>
<s5>02</s5>
</fC03>
<fC03 i1="02" i2="X" l="SPA"><s0>Inteligencia artificial</s0>
<s5>02</s5>
</fC03>
<fC03 i1="03" i2="X" l="FRE"><s0>Vérification programme</s0>
<s5>06</s5>
</fC03>
<fC03 i1="03" i2="X" l="ENG"><s0>Program verification</s0>
<s5>06</s5>
</fC03>
<fC03 i1="03" i2="X" l="SPA"><s0>Verificación programa</s0>
<s5>06</s5>
</fC03>
<fC03 i1="04" i2="X" l="FRE"><s0>Démonstration théorème</s0>
<s5>07</s5>
</fC03>
<fC03 i1="04" i2="X" l="ENG"><s0>Theorem proving</s0>
<s5>07</s5>
</fC03>
<fC03 i1="04" i2="X" l="SPA"><s0>Demostración teorema</s0>
<s5>07</s5>
</fC03>
<fC03 i1="05" i2="X" l="FRE"><s0>Théorie preuve</s0>
<s5>08</s5>
</fC03>
<fC03 i1="05" i2="X" l="ENG"><s0>Proof theory</s0>
<s5>08</s5>
</fC03>
<fC03 i1="05" i2="X" l="SPA"><s0>Teoría demonstración</s0>
<s5>08</s5>
</fC03>
<fC03 i1="06" i2="X" l="FRE"><s0>Théorie équationnelle</s0>
<s5>09</s5>
</fC03>
<fC03 i1="06" i2="X" l="ENG"><s0>Equational theory</s0>
<s5>09</s5>
</fC03>
<fC03 i1="06" i2="X" l="SPA"><s0>Teoría ecuaciónal</s0>
<s5>09</s5>
</fC03>
<fC03 i1="07" i2="X" l="FRE"><s0>Abstraction</s0>
<s5>18</s5>
</fC03>
<fC03 i1="07" i2="X" l="ENG"><s0>Abstraction</s0>
<s5>18</s5>
</fC03>
<fC03 i1="07" i2="X" l="SPA"><s0>Abstracción</s0>
<s5>18</s5>
</fC03>
<fC03 i1="08" i2="X" l="FRE"><s0>Satisfaisabilité</s0>
<s5>19</s5>
</fC03>
<fC03 i1="08" i2="X" l="ENG"><s0>Satisfiability</s0>
<s5>19</s5>
</fC03>
<fC03 i1="08" i2="X" l="SPA"><s0>Satisfactoriabilidad</s0>
<s5>19</s5>
</fC03>
<fC03 i1="09" i2="X" l="FRE"><s0>Quantificateur</s0>
<s5>20</s5>
</fC03>
<fC03 i1="09" i2="X" l="ENG"><s0>Quantifier</s0>
<s5>20</s5>
</fC03>
<fC03 i1="09" i2="X" l="SPA"><s0>Cuantificador</s0>
<s5>20</s5>
</fC03>
<fC03 i1="10" i2="X" l="FRE"><s0>Exactitude programme</s0>
<s5>21</s5>
</fC03>
<fC03 i1="10" i2="X" l="ENG"><s0>Program correctness</s0>
<s5>21</s5>
</fC03>
<fC03 i1="10" i2="X" l="SPA"><s0>Exactitud programa</s0>
<s5>21</s5>
</fC03>
<fC03 i1="11" i2="X" l="FRE"><s0>Programme contrôle</s0>
<s5>22</s5>
</fC03>
<fC03 i1="11" i2="X" l="ENG"><s0>Checking program</s0>
<s5>22</s5>
</fC03>
<fC03 i1="11" i2="X" l="SPA"><s0>Programa control</s0>
<s5>22</s5>
</fC03>
<fC03 i1="12" i2="X" l="FRE"><s0>Viabilité</s0>
<s5>23</s5>
</fC03>
<fC03 i1="12" i2="X" l="ENG"><s0>Viability</s0>
<s5>23</s5>
</fC03>
<fC03 i1="12" i2="X" l="SPA"><s0>Viabilidad</s0>
<s5>23</s5>
</fC03>
<fC03 i1="13" i2="X" l="FRE"><s0>Arithmétique Presburger</s0>
<s4>CD</s4>
<s5>96</s5>
</fC03>
<fC03 i1="13" i2="X" l="ENG"><s0>Presburger arithmetic</s0>
<s4>CD</s4>
<s5>96</s5>
</fC03>
<fC03 i1="13" i2="X" l="SPA"><s0>Aritmético Presburger</s0>
<s4>CD</s4>
<s5>96</s5>
</fC03>
<fN21><s1>306</s1>
</fN21>
<fN44 i1="01"><s1>OTO</s1>
</fN44>
<fN82><s1>OTO</s1>
</fN82>
</pA>
<pR><fA30 i1="01" i2="1" l="ENG"><s1>International conference on artificial intelligence and symbolic computation</s1>
<s2>7</s2>
<s3>Linz AUT</s3>
<s4>2004-09-22</s4>
</fA30>
</pR>
</standard>
</inist>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/PascalFrancis/Curation
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 000425 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/PascalFrancis/Curation/biblio.hfd -nk 000425 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien
|wiki= Wicri/Lorraine
|area= InforLorV4
|flux= PascalFrancis
|étape= Curation
|type= RBID
|clé= Pascal:04-0542416
|texte= Abstraction-driven verification of array programs
}}
| This area was generated with Dilib version V0.6.33. Data generation: Mon Jun 10 21:56:28 2019. Site generation: Fri Feb 25 15:29:27 2022 | ![](Common/icons/LogoDilib.gif) |