Abstraction-Driven Verification of Array Programs
Identifieur interne : 006C48 ( Main/Curation ); précédent : 006C47; suivant : 006C49Abstraction-Driven Verification of Array Programs
Auteurs : David Déharbe [Brésil] ; Abdessamad Imine [France] ; Silvio Ranise [France]Source :
- Lecture Notes in Computer Science [ 0302-9743 ]
Descripteurs français
- Pascal (Inist)
- Wicri :
- topic : Intelligence artificielle.
English descriptors
- KwdEn :
Abstract
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.
Url:
DOI: 10.1007/978-3-540-30210-0_23
Links toward previous steps (curation, corpus...)
- to stream Istex, to step Corpus: Pour aller vers cette notice dans l'étape Curation :000F77
- to stream Istex, to step Curation: Pour aller vers cette notice dans l'étape Curation :000F62
- to stream Istex, to step Checkpoint: Pour aller vers cette notice dans l'étape Curation :001857
- to stream Main, to step Merge: Pour aller vers cette notice dans l'étape Curation :006F52
- to stream PascalFrancis, to step Corpus: Pour aller vers cette notice dans l'étape Curation :000616
- to stream PascalFrancis, to step Curation: Pour aller vers cette notice dans l'étape Curation :000425
- to stream PascalFrancis, to step Checkpoint: Pour aller vers cette notice dans l'étape Curation :000632
- to stream Main, to step Merge: Pour aller vers cette notice dans l'étape Curation :007067
Links to Exploration step
ISTEX:431EA2D1BB13224E3E69D36991EA2E71B8C36934Le document en format XML
<record><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title xml:lang="en">Abstraction-Driven Verification of Array Programs</title>
<author><name sortKey="Deharbe, David" sort="Deharbe, David" uniqKey="Deharbe D" first="David" last="Déharbe">David Déharbe</name>
</author>
<author><name sortKey="Imine, Abdessamad" sort="Imine, Abdessamad" uniqKey="Imine A" first="Abdessamad" last="Imine">Abdessamad Imine</name>
</author>
<author><name sortKey="Ranise, Silvio" sort="Ranise, Silvio" uniqKey="Ranise S" first="Silvio" last="Ranise">Silvio Ranise</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:431EA2D1BB13224E3E69D36991EA2E71B8C36934</idno>
<date when="2004" year="2004">2004</date>
<idno type="doi">10.1007/978-3-540-30210-0_23</idno>
<idno type="url">https://api.istex.fr/ark:/67375/HCB-KCLJJGGQ-X/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">000F77</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">000F77</idno>
<idno type="wicri:Area/Istex/Curation">000F62</idno>
<idno type="wicri:Area/Istex/Checkpoint">001857</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">001857</idno>
<idno type="wicri:doubleKey">0302-9743:2004:Deharbe D:abstraction:driven:verification</idno>
<idno type="wicri:Area/Main/Merge">006F52</idno>
<idno type="wicri:source">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>
<idno type="wicri:Area/PascalFrancis/Checkpoint">000632</idno>
<idno type="wicri:explorRef" wicri:stream="PascalFrancis" wicri:step="Checkpoint">000632</idno>
<idno type="wicri:doubleKey">0302-9743:2004:Deharbe D:abstraction:driven:verification</idno>
<idno type="wicri:Area/Main/Merge">007067</idno>
<idno type="wicri:Area/Main/Curation">006C48</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a" type="main" xml:lang="en">Abstraction-Driven Verification of Array Programs</title>
<author><name sortKey="Deharbe, David" sort="Deharbe, David" uniqKey="Deharbe D" first="David" last="Déharbe">David Déharbe</name>
<affiliation wicri:level="1"><country xml:lang="fr">Brésil</country>
<wicri:regionArea>UFRN/DIMAp, Natal</wicri:regionArea>
<wicri:noRegion>Natal</wicri:noRegion>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">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="3"><country xml:lang="fr">France</country>
<wicri:regionArea>LORIA & INRIA-Lorraine, Nancy</wicri:regionArea>
<placeName><region type="region">Grand Est</region>
<region type="old region">Lorraine (région)</region>
<settlement type="city">Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">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="3"><country xml:lang="fr">France</country>
<wicri:regionArea>LORIA & INRIA-Lorraine, Nancy</wicri:regionArea>
<placeName><region type="region">Grand Est</region>
<region type="old region">Lorraine (région)</region>
<settlement type="city">Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">France</country>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<idno type="ISSN">0302-9743</idno>
<idno type="eISSN">1611-3349</idno>
<idno type="ISSN">0302-9743</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt><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>Abstraction</term>
<term>Arithmétique Presburger</term>
<term>Calcul symbolique</term>
<term>Démonstration théorème</term>
<term>Exactitude programme</term>
<term>Intelligence artificielle</term>
<term>Programme contrôle</term>
<term>Quantificateur</term>
<term>Satisfaisabilité</term>
<term>Théorie preuve</term>
<term>Théorie équationnelle</term>
<term>Viabilité</term>
<term>Vérification programme</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">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.</div>
</front>
</TEI>
<double idat="0302-9743:2004:Deharbe D:abstraction:driven:verification"><INIST><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>
<wicri:noRegion>UFRN/DIMAp</wicri:noRegion>
</affiliation>
</author>
<author><name sortKey="Imine, Abdessamad" sort="Imine, Abdessamad" uniqKey="Imine A" first="Abdessamad" last="Imine">Abdessamad Imine</name>
<affiliation wicri:level="3"><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>
<placeName><region type="region">Grand Est</region>
<region type="old region">Lorraine (région)</region>
<settlement type="city">Nancy</settlement>
</placeName>
</affiliation>
</author>
<author><name sortKey="Ranise, Silvio" sort="Ranise, Silvio" uniqKey="Ranise S" first="Silvio" last="Ranise">Silvio Ranise</name>
<affiliation wicri:level="3"><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>
<placeName><region type="region">Grand Est</region>
<region type="old region">Lorraine (région)</region>
<settlement type="city">Nancy</settlement>
</placeName>
</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>
<idno type="wicri:Area/PascalFrancis/Checkpoint">000632</idno>
<idno type="wicri:explorRef" wicri:stream="PascalFrancis" wicri:step="Checkpoint">000632</idno>
<idno type="wicri:doubleKey">0302-9743:2004:Deharbe D:abstraction:driven:verification</idno>
<idno type="wicri:Area/Main/Merge">007067</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>
<wicri:noRegion>UFRN/DIMAp</wicri:noRegion>
</affiliation>
</author>
<author><name sortKey="Imine, Abdessamad" sort="Imine, Abdessamad" uniqKey="Imine A" first="Abdessamad" last="Imine">Abdessamad Imine</name>
<affiliation wicri:level="3"><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>
<placeName><region type="region">Grand Est</region>
<region type="old region">Lorraine (région)</region>
<settlement type="city">Nancy</settlement>
</placeName>
</affiliation>
</author>
<author><name sortKey="Ranise, Silvio" sort="Ranise, Silvio" uniqKey="Ranise S" first="Silvio" last="Ranise">Silvio Ranise</name>
<affiliation wicri:level="3"><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>
<placeName><region type="region">Grand Est</region>
<region type="old region">Lorraine (région)</region>
<settlement type="city">Nancy</settlement>
</placeName>
</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>
<ISTEX><TEI wicri:istexFullTextTei="biblStruct"><teiHeader><fileDesc><titleStmt><title xml:lang="en">Abstraction-Driven Verification of Array Programs</title>
<author><name sortKey="Deharbe, David" sort="Deharbe, David" uniqKey="Deharbe D" first="David" last="Déharbe">David Déharbe</name>
</author>
<author><name sortKey="Imine, Abdessamad" sort="Imine, Abdessamad" uniqKey="Imine A" first="Abdessamad" last="Imine">Abdessamad Imine</name>
</author>
<author><name sortKey="Ranise, Silvio" sort="Ranise, Silvio" uniqKey="Ranise S" first="Silvio" last="Ranise">Silvio Ranise</name>
</author>
</titleStmt>
<publicationStmt><idno type="wicri:source">ISTEX</idno>
<idno type="RBID">ISTEX:431EA2D1BB13224E3E69D36991EA2E71B8C36934</idno>
<date when="2004" year="2004">2004</date>
<idno type="doi">10.1007/978-3-540-30210-0_23</idno>
<idno type="url">https://api.istex.fr/ark:/67375/HCB-KCLJJGGQ-X/fulltext.pdf</idno>
<idno type="wicri:Area/Istex/Corpus">000F77</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Corpus" wicri:corpus="ISTEX">000F77</idno>
<idno type="wicri:Area/Istex/Curation">000F62</idno>
<idno type="wicri:Area/Istex/Checkpoint">001857</idno>
<idno type="wicri:explorRef" wicri:stream="Istex" wicri:step="Checkpoint">001857</idno>
<idno type="wicri:doubleKey">0302-9743:2004:Deharbe D:abstraction:driven:verification</idno>
<idno type="wicri:Area/Main/Merge">006F52</idno>
</publicationStmt>
<sourceDesc><biblStruct><analytic><title level="a" type="main" xml:lang="en">Abstraction-Driven Verification of Array Programs</title>
<author><name sortKey="Deharbe, David" sort="Deharbe, David" uniqKey="Deharbe D" first="David" last="Déharbe">David Déharbe</name>
<affiliation wicri:level="1"><country xml:lang="fr">Brésil</country>
<wicri:regionArea>UFRN/DIMAp, Natal</wicri:regionArea>
<wicri:noRegion>Natal</wicri:noRegion>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">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="3"><country xml:lang="fr">France</country>
<wicri:regionArea>LORIA & INRIA-Lorraine, Nancy</wicri:regionArea>
<placeName><region type="region">Grand Est</region>
<region type="old region">Lorraine (région)</region>
<settlement type="city">Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">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="3"><country xml:lang="fr">France</country>
<wicri:regionArea>LORIA & INRIA-Lorraine, Nancy</wicri:regionArea>
<placeName><region type="region">Grand Est</region>
<region type="old region">Lorraine (région)</region>
<settlement type="city">Nancy</settlement>
</placeName>
</affiliation>
<affiliation wicri:level="1"><country wicri:rule="url">France</country>
</affiliation>
</author>
</analytic>
<monogr></monogr>
<series><title level="s" type="main" xml:lang="en">Lecture Notes in Computer Science</title>
<idno type="ISSN">0302-9743</idno>
<idno type="eISSN">1611-3349</idno>
<idno type="ISSN">0302-9743</idno>
</series>
</biblStruct>
</sourceDesc>
<seriesStmt><idno type="ISSN">0302-9743</idno>
</seriesStmt>
</fileDesc>
<profileDesc><textClass></textClass>
</profileDesc>
</teiHeader>
<front><div type="abstract" xml:lang="en">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.</div>
</front>
</TEI>
</ISTEX>
</double>
</record>
Pour manipuler ce document sous Unix (Dilib)
EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Main/Curation
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 006C48 | SxmlIndent | more
Ou
HfdSelect -h $EXPLOR_AREA/Data/Main/Curation/biblio.hfd -nk 006C48 | SxmlIndent | more
Pour mettre un lien sur cette page dans le réseau Wicri
{{Explor lien |wiki= Wicri/Lorraine |area= InforLorV4 |flux= Main |étape= Curation |type= RBID |clé= ISTEX:431EA2D1BB13224E3E69D36991EA2E71B8C36934 |texte= Abstraction-Driven Verification of Array Programs }}
![]() | This area was generated with Dilib version V0.6.33. | ![]() |