您好,欢迎来到年旅网。
搜索
您的当前位置:首页Abstraction refinement via inductive learning

Abstraction refinement via inductive learning

来源:年旅网
AbstractionRefinementviaInductiveLearning

AlexeyLoginov1,ThomasReps1,andMoolySagiv2

1

Comp.Sci.Dept.,UniversityofWisconsin;{alexey,reps}@cs.wisc.edu2

SchoolofComp.Sci.,Tel-AvivUniversity;msagiv@post.tau.ac.il

Abstract.Thispaperconcernshowtoautomaticallycreateabstractionsforprogramanal-ysis.Weshowthatinductivelearning,thegoalofwhichistoidentifygeneralrulesfromasetofobservedinstances,providesnewleverageontheproblem.Anadvantageofanap-proachbasedoninductivelearningisthatitdoesnotrequiretheuseofatheoremprover.

1Introduction

Wepresentanapproachtoautomaticallycreatingabstractionsforuseinprogramanal-ysis.Asinsomepreviouswork[12,4,13,18,5,2,8],theapproachinvolvesthesucces-siverefinementoftheabstractioninuse.Unlikepreviouswork,theworkpresentedinthispaperisaimedatprogramsthatmanipulatepointersandheap-allocateddatastruc-tures.However,whilewedemonstrateourapproachonshape-analysisproblems,theapproachisapplicableinanyprogram-analysissettingthatusesfirst-orderlogic.

Thepaperpresentsanabstraction-refinementmethodforuseinstaticanalysesbasedon3-valuedlogic[21],wherethesemanticsofstatementsandthequeryofinterestareexpressedusinglogicalformulas.Inthissetting,amemoryconfigurationismodeledbyalogicalstructure;anindividualofthestructure’suniverseeithermodelsasin-glememoryelementor,inthecaseofasummaryindividual,itmodelsacollectionofmemoryelements.Summaryindividualsareusedtoensurethatabstractdescriptorshaveanaprioriboundedsize,whichguaranteesthatafixed-pointisalwaysreached.However,theconstraintofworkingwithlimited-sizedescriptorsimpliesalossofin-formationaboutthestore.Intuitively,certainpropertiesofconcreteindividualsarelostduetoabstraction,whichgroupstogethermultipleindividualsintosummaryindividu-als:apropertycanbetrueforsomeconcreteindividualsofthegroup,butfalseforotherindividuals.TheTVLAsystemisatoolforcreatingsuchanalyses[1].

Withthemethodproposedinthispaper,refinementisperformedbyintroducingnewinstrumentationrelations(definedvialogicalformulasovercorerelations,whichcap-turethebasicpropertiesofmemoryconfigurations).Instrumentationrelationsrecordauxiliaryinformationinalogicalstructure,thusprovidingamechanismtofine-tuneanabstraction:aninstrumentationrelationcapturesapropertythatanindividualmemorycellmayormaynotpossess.Ingeneral,theintroductionofadditionalinstrumentationrelationsrefinesanabstractionintoonethatispreparedtotrackfinerdistinctionsamongstores.Thechoiceofinstrumentationrelationsiscrucialtotheprecision,aswellasthecost,oftheanalysis.Untilnow,TVLAusershavebeenfacedwiththetaskofidenti-fyinganinstrumentation-relationsetthatgivesthemadefiniteanswertothequery,butdoesnotmakethecostprohibitive.ThiswasarguablythekeyremainingchallengeintheTVLAuser-model.Thecontributionsofthisworkcanbesummarizedasfollows:–Itestablishesanewconnectionbetweenprogramanalysisandmachinelearningbyshowingthatinductivelogicprogramming(ILP)[19,17,14]isrelevanttotheprob-lemofcreatingabstractions.WeuseILPforlearningnewinstrumentationrelationsthatpreserveinformationthatwouldotherwisebelostduetoabstraction.

–ThemethodhasbeenimplementedasanextensionofTVLA.Inthissystem,alloftheuser-levelobligationsforwhichTVLAhasbeencriticizedinthepasthavebeenaddressed.Theinputrequiredtospecifyaprogramanalysisconsistsof:(i)atransitionsystem,(ii)aquery(aformulathatidentifiesacceptableoutputs),and(iii)acharacterizationoftheprogram’svalidinputs.

–Wepresentexperimentalevidenceofthevalueoftheapproach.Wetestedthemethodonsortedness,stability,andantistabilityqueriesforasetofprogramsthatperformdestructivelistmanipulation,aswellasonpartial-correctnessqueriesfortwobinary-search-treeprograms.Themethodsucceedsinallcasestested.

Inductivelearningconcernsidentifyinggeneralrulesfromasetofobservedinstances—inourcase,fromrelationshipsobservedinalogicalstructure.Anadvantageofanap-proachbasedoninductivelearningisthatitdoesnotrequiretheuseofatheoremprover.Thisisparticularlybeneficialinoursettingbecauseourlogicisundecidable.nnThepaperisorganizedasfollows:§2introducestermi-x185nologyandnotation.ReadersfamiliarwithTVLAcanskipto§2.2,whichbrieflysummarizesILP.§3illustratesourgoalsFig.1.Apossiblestoreforontheproblemofverifyingthepartialcorrectnessofasort-alinkedlist.ingroutine.§4describesthetechniquesusedforlearningabstractions.(Furtherdetailscanbefoundin[16].)§5presentsexperimentalresults.§6discussesrelatedwork.2Background

IntendedMeaningDov1andv2denotethesamememorycell?Doespointervariableqpointtomemorycellv?Doesthenfieldofv1pointtov2?Isthedatafieldofv1lessthanorequaltothatofv2?(b)2.1StoresasLogicalStructuresandtheirAbstractionsRelationtypedefstructnode{eq(v1,v2)structnode*n;

q(v)intdata;

n(v1,v2)}*List;

dle(v1,v2)(a)

Table1.(a)Declarationofalinked-listdatatypeinC.(b)CorerelationsusedforrepresentingthestoresmanipulatedbyprogramsthatusetypeList.Ourworkextendsthe

tn,dleprogram-analysisframework

u1n,tnu2n,tnu3of[21].Inthatapproach,xrn,xrn,xrn,xdledleconcretememoryconfigura-tn,dletn,dletn,dletions(i.e.,stores)areencoded

xrn,xcnnu1u2u3tnu1u2u3dleu1u2u3aslogicalstructuresinterms

u1110u1010u1111u1111ofafixedcollectionofcoreu2010u2001u2011u2010relations,C.Corerelationsu3010u3000u3001u3011arepartoftheunderlying

semanticsofthelanguagetoFig.2.AlogicalstructureS2thatrepresentsthestoreshownbeanalyzed.Forinstance,inFig.1ingraphicalandtabularforms.Tab.1givesthedefinitionofaClinked-listdatatype,andliststherelationsthatwouldbeusedtorepresentthestoresmanipulatedbyprogramsthatusetypeList,suchasthestoreinFig.1.2-valuedlogicalstructuresthenrepresentmemoryconfigurations:theindividualsarethesetofmemorycells;inthisexample,unaryrelationsrepresentpointervariablesandbinaryrelationnrepresentsthen-fieldofaListcell.Thedatafieldismodeledindirectly,viathebinaryrelationdle(whichstandsfor“data2less-than-or-equal-to”)listedinTab.1.Fig.2shows2-valuedstructureS2,whichrepresentsthestoreofFig.1(relationstn,rn,x,andcnwillbeexplainedbelow).

LetR={eq,p1,...,pn}beafinitevocabularyofrelationsymbols,whereRkde-notesthesetofrelationsymbolsofarityk(andeq∈R2).A2-valuedlogicalstructureSoverRisasetofindividualsUS,alongwithaninterpretationthatmapseachrelationsymbolpofarityktoatruth-valuedfunction:pS:(US)k→{0,1},whereeqSistheequalityrelationonindividuals.Thesetof2-valuedstructuresisdenotedbyS2[R].In3-valuedlogic,athirdtruthvalue—1/2—isintroducedtodenoteuncertainty.Forl1,l2∈{0,1/2,1},theinformationorderisdefinedasfollows:l1⊑l2iffl1=l2orl2=1/2.A3-valuedlogicalstructureSisdefinedlikea2-valuedlogicalstruc-ture,exceptthatthevaluesinrelationscanbe{0,1/2,1}.AnindividualforwhicheqS(u,u)=1/2iscalledasummaryindividual.Asummaryindividualabstractsoneormorefragmentsofadatastructure,andcanrepresentmorethanoneconcretemem-orycell.Thesetof3-valuedstructuresisdenotedbyS3[R].

ConcreteandAbstractSemanticsAconcreteoperationalsemanticsisdefinedbyspecifyingastructuretransformerforeachkindofedgeethatcanappearinatransitionsystem.Astructuretransformerisspecifiedbyprovidingrelation-updateformulasforthecorerelations.3Theseformulasdefinehowthecorerelationsofa2-valuedlogicalstructureSthatarisesatthesourceofearetransformedbyetocreatea2-valuedlogicalstructureS′atthetargetofe.Edgeemayoptionallyhaveapreconditionformula,whichfiltersoutstructuresthatshouldnotfollowthetransitionalonge.

However,setsof2-valuedstructuresdonotyieldasuitableabstractdomain;forinstance,whenthelanguagebeingmodeledsupportsallocationfromtheheap,thesetofindividualsthatmayappearinastructureisunbounded,andthusthereisnoaprioriupperboundonthenumberof2-valuedstructuresthatmayariseduringtheanalysis.Toensuretermination,weabstractsetsof2-valuedstructuresusing3-valuedstruc-tures.Asetofstoresisthenrepresentedbya(finite)setof3-valuedlogicalstructures.Theabstractionisdefinedusinganequivalencerelationonindividuals:eachindivid-ualofa2-valuedlogicalstructure(representingaconcretememorycell)ismappedtoanindividualofa3-valuedlogicalstructureaccordingtothevectorofvaluesthattheconcreteindividualhasforauser-chosencollectionofunaryabstractionrelations:Definition(CanonicalAbstraction).LetS∈S2,andletA⊆R1besomechosensubsetoftheunaryrelationsymbols.TherelationsinAarecalledabstractionrelations;theydefinethefollowingequivalencerelation≃AonUS:

u1≃Au2⇐⇒forallp∈A,pS(u1)=pS(u2),

andthesurjectivefunctionfA:US→US/≃A,suchthatfA(u)=[u]≃A,whichmapsanindividualtoitsequivalenceclass.ThecanonicalabstractionofSwithre-specttoA(denotedbyfA(S))performsthejoin(intheinformationorder)ofpredicatevalues,therebyintroducing1/2’s.2

Ifallunaryrelationsareabstractionrelations(A=R1),thecanonicalabstractionof2-valuedlogicalstructureS2isS3,showninFig.3,withfA(u1)=u1andfA(u2)=

3

Formulasarefirst-orderformulaswithtransitiveclosure:aformulaoverthevocabularyRisdefinedasfollows(wherep∗(v1,v2)standsforthereflexivetransitiveclosureofp(v1,v2)):p∈R,ϕ::=0|1|p(v1,...,vk)|(¬ϕ1)|(v1=v2)ϕ∈Formulas,|(ϕ1∧ϕ2)|(ϕ1∨ϕ2)|(ϕ1→ϕ2)|(ϕ1↔ϕ2)v∈Variables|(∃v:ϕ1)|(∀v:ϕ1)|p∗(v1,v2)

3

fA(u3)=u23.S3representsalllistswithtwoormoreelements,inwhichthefirstelement’sdatavalueislowerthanthedatavaluesintherestofthelist.Thefollowinggraphicalnotationisusedfordepicting3-valuedlogicalstructures:

–Individualsarerepresentedbycirclescontainingtheirnamesand(non-0)valuesforunaryrelations.Summaryindividualsarerepresentedbydoublecircles.

–Aunaryrelationpcorrespondingtoapointer-valuedprogramvariableisrepre-sentedbyasolidarrowfromptotheindividualuforwhichp(u)=1,andbytheabsenceofap-arrowtoeachnodeu′forwhichp(u′)=0.(Ifp=0forallindividuals,therelationnamepisnotshown.)

–Abinaryrelationqisrepresentedbyasolidarrowlabeledqbetweeneachpairofindividualsuiandujforwhichq(ui,uj)=1,andbytheabsenceofaq-arrow

′′′

betweenpairsu′iandujforwhichq(ui,uj)=0.

–Relationswithvalue1/2arerepresentedbydottedarrows.Canonicalabstractionensuresu1tn,dleu23thateach3-valuedstructureisxrn,xrn,xnnolargerthansomefixedsize,tn,dlen,tn,dleknownapriori.Moreover,thexrn,xcnnu1u23tnu1u23dleu1u23meaningofagivenformulainu1110u101/2u111u111theconcretedomain(℘(S2))isu23010u2301/2u2301/2u2301/2consistentwithitsmeaningintheabstractdomain(℘(S3)),al-Fig.3.A3-valuedstructureS3thatisthecanonicalab-thoughtheformula’svalueinanstractionofstructureS2.abstractstructurefA(S)maybelessprecisethanitsvalueintheconcretestructureS.Abstractinterpretationcollectsasetof3-valuedstructuresateachprogrampoint.Itcanbeimplementedasaniterativeprocedurethatfindstheleastfixedpointofacertaincollectionofequationsonvariablesthattaketheirvaluesin℘(S3)[21].pIntendedMeaningψptn(v1,v2)Isv2reachablefromv1alongnfields?n∗(v1,v2)rn,x(v)Isvreachablefrompointervariablex∃v1:x(v1)∧tn(v1,v)alongnfields?cn(v)Isvonadirectedcycleofnfields?∃v1:n(v1,v)∧tn(v,v1)Table2.Definingformulasofsomecommonlyusedinstrumentationrelations.Thereisaseparate

reachabilityrelationrn,xforeveryprogramvariablex.

InstrumentationRelationsTheabstractionfunctiononwhichananalysisisbased,andhencetheprecisionoftheanalysisdefined,canbetunedby(i)choosingtoequipstructureswithadditionalinstrumentationrelationstorecordderivedproperties,and(ii)varyingwhichoftheunarycoreandunaryinstrumentationrelationsareusedasthesetofabstractionrelations.ThesetofinstrumentationrelationsisdenotedbyI.Eachrelationsymbolp∈Ik⊆Rkisdefinedbyaninstrumentation-relationdefinitionformulaψp(v1,...,vk).Instrumentationrelationsymbolsmayappearinthedefiningformulasofotherinstrumentationrelationsaslongastherearenocirculardependences.Theintroductionofunaryinstrumentationrelationsthatareusedasabstractionre-lationsprovidesawaytocontrolwhichconcreteindividualsaremergedtogether,andtherebycontroltheamountofinformationlostbyabstraction.Tab.2listssomeinstru-mentationrelationsthatareimportantfortheanalysisofprogramsthatusetypeList.

4

2.2InductiveLogicProgramming(ILP)

Givenalogicalstructure,thegoalofanILPalgorithmistolearnalogicalrelation(definedintermsofthelogicalstructure’sotherrelations)thatagreeswiththeclassi-ficationofinputexamples.ILPalgorithmsproducetheanswerintheformofalogicprogram.(Non-recursive)logicprogramscorrespondtoasubsetoffirst-orderlogic.4Alogicprogramcanbethoughtofasadisjunctionovertheprogramrules,witheachrulecorrespondingtoaconjunctionofliterals.Variablesnotappearingintheheadofaruleareimplicitlyexistentiallyquantified.

Definition(ILP).GivenasetofpositiveexampletuplesE+,asetofnegativeex-ampletuplesE−,andalogicalstructure,thegoalofILPistofindaformulaψEsuchthatalle∈E+aresatisfied(orcovered)byψEandnoe∈E−issatisfiedbyψE.2

Forexample,considerlearningaunaryformulathatu1u3u4u5holdsforlinked-listelementsthatarepointedtobythen

u2fieldsofmorethanoneelement(asusedin[11,3]).We

+−2-valuedFig.4.AlinkedlistwithletE={u3,u5}andE={u1,u4}inthedefstructureofFig.4.TheformulaψisShared(v)=∃v1,v2:sharedelements.n(v1,v)∧n(v2,v)∧¬eq(v1,v2)meetstheobjective,as

itcoversallpositiveandnonegativeexampletuples.Fig.5presentstheILPrelationE(v1,...,vk),algorithmusedbysystemsInput:TargetStructureS∈S3[R],suchasFOIL[19],modi-SetoftuplesPos,SetoftuplesNegfiedtoconstructtheanswer[1]ψE:=0while(Pos=∅)asafirst-orderlogicfor-[2][3]NewDisjunct:=1mulaindisjunctivenormal[4]NewNeg:=Negform.Thisalgorithmisca-[5]while(NewNeg=∅)Cand:=candidateliteralsusingRpableoflearningthefor-[6][7]Best:=L∈CandwithmaxGain(L,NewDisjunct)

mulaψisShared(v)(byper-[8]NewDisjunct:=NewDisjunct∧LNewNeg:=subsetofNewNegsatisfyingLformingoneiterationofthe[9][10]∃-quantifyNewDisjunctvariables∈/{v1,...,vk}

outerloopandthreeiter-[11]ψ:=ψ∨NewDisjunctEEationsoftheinnerloop[12]Pos:=subsetofPosnotsatisfyingNewDisjuncttosuccessivelychooselit-Fig.5.Pseudo-codeforFOIL.eralsn(v1,v),n(v2,v),and¬eq(v1,v2)).ItisasequentialcoveringalgorithmparameterizedbythefunctionGain,whichcharacterizestheusefulnessofaddingaparticularliteral(generally,insomeheuristicfashion).Thealgorithmcreatesanewdisjunctaslongastherearepositiveexamplesthatarenotcoveredbyexistingdisjuncts.Thedisjunctisextendedbycon-joininganewliteraluntilitcoversnonegativeexamples.EachliteralusesarelationsymbolfromthevocabularyofstructureS;validargumentstoaliteralarethevariablesoftargetrelationE,aswellasnewvariables,aslongasatleastoneoftheargumentsisavariablealreadyusedinthecurrentdisjunct.InFOIL,oneliteralischosenusingaheuristicvaluebasedontheinformationgain(seeline[7]).FOILusesinformationgaintofindtheliteralthatdifferentiatesbestbetweenpositiveandnegativeexamples.

3

4

Example:VerifyingSortedness

ILPalgorithmsarecapableofproducingrecursiveprograms,whichcorrespondtofirst-orderlogicplusaleast-fixpointoperator(whichismoregeneralthantransitiveclosure).

5

Giventhestatic-analysisalgorithmdefinedin§2.1,todemonstratethepartialcorrectnessofaproce-dure,theusermustsupplythefollowingprogram-specificinformation:

–Theprocedure’scontrol-flowgraph.

–Adata-structureconstructor(DSC):acodefragmentthatnon-deterministicallyconstructsallvalidinputs.

–Aquery;i.e.,aformulathatidentifiesthein-tendedoutputs.

TheanalysisalgorithmisrunontheDSCconcate-natedwiththeprocedure’scontrol-flowgraph;thequeryisthenevaluatedonthestructuresthataregeneratedatexit.

ConsidertheproblemofestablishingthatInsertSortshowninFig.6ispartiallycorrect.Thisisanassertionthatcomparesthestateofastoreattheendofaprocedurewithitsstateatthestart.Inparticular,acorrectsortingroutinemustperformapermutationoftheinputlist,i.e.alllistelementsreachablefromvariablexatthestartoftheroutinemustbereachablefromxattheend.Wecanexpressthepermutationpropertyasfollows:

[1]voidInsertSort(Listx){[2]Listr,pr,rn,l,pl;[3]r=x;

[4]pr=NULL;

[5]while(r!=NULL){[6]l=x;

[7]rn=r->n;[8]pl=NULL;

[9]while(l!=r){[10]if(l->data>r->data){[11]pr->n=rn;[12]r->n=l;[13]if(pl==NULL)x=r;[14]elsepl->n=r;[15]r=pr;[16]break;[17]}[18]pl=l;[19]l=l->n;[20]}

[21]pr=r;[22]r=rn;[23]}[24]}

Fig.6.Astableversionofinsertionsort.

0

∀v:rn,x(v)↔rn,x(v),

(1)

0

wherern,xdenotesthereachabilityrelationforxatthebeginningofInsertSort.IfFormula(1)holds,thentheelementsreachablefromxafterInsertSortexecutesareexactlythesameasthosereachableatthebeginning,andconsequentlytheprocedureperformsapermutationoflistx.Ingeneral,foreachrelationp,wehavesuchahistoryrelationp0.

Fig.7showsthethreestructuresthatcharacterizethevalidinputstoInsertSort(theyrepresentthesetofstoresinwhichprogramvariablexpointstoanacycliclinkedlist).ToverifythatInsertSortproducesasortedpermutationoftheinputlist,wewouldchecktoseewhether,forallofthestructuresthatariseattheprocedure’sexitnode,thefollowingformulaevaluatesto1:

∀v1:rn,x(v1)→(∀v2:n(v1,v2)→dle(v1,v2)).(2)

Ifitdoes,thenthenodesreachablefromxmustbeinnon-decreasingorder.

Abstractinterpretationcollects3-valuedstructureS3showninFig.3atline[24].NotethatFormula(2)evaluatesto1/2onS3.Whilethefirstlistelementisguaranteedtobeincorrectorderwithrespecttotheremainingelements,thereisnoguaranteethatalllistnodesrepresentedbythesummarynodeareincorrectorder.Inparticular,becauseS3representsS2,showninFig.2,theanalysisadmitsthepossibilitythatthe(correct)implementationofinsertionsortofFig.6canproducethestoreshowninFig.1.Thus,theabstractionthatweusedwasnotfine-grainedenoughtoestablishthepartialcorrectnessofInsertSort.Infact,theabstractionisnotfine-grainedenoughtoseparatethesetofsortedlistsfromthelistsnotinsortedorder.

6

In[15],Lev-Amietal.usedTVLAtoestablishthepartialcorrectnessofInsertSort.ThekeystepwastheintroductionofinstrumentationrelationinOrderdle,n(v),whichholdsfornodeswhosedata-componentsarelessthanorequaltothoseoftheirn-successors;inOrderdle,n(v)wasdefinedby:

inOrderdle,n(v)=∀v1:n(v,v1)→dle(v,v1).

Thesortednesspropertywasthenstatedasfollows(cf.Formula(2)):

∀v:rn,x(v)→inOrderdle,n(v).

(4)

def

(3)

Aftertheintroductionofrelationemptylist1-elementlistlistswith2ormoreelementsinOrderdle,n,the3-valuedstructuresthatdlenrrrxxarecollectedbyabstractinterpretationatn,xn,xn,xtntheendofInsertSortdescribealltn,dletn,dlen,tn,dlestoresinwhichvariablexpointstoan

acyclic,sortedlinkedlist.InalloftheseFig.7.Thestructuresthatdescribepossiblein-structures,Formulas(4)and(1)evaluateputstoInsertSort.to1.Consequently,InsertSortisguaranteedtoworkcorrectlyonallvalidinputs.4LearninganAbstraction

In[15],instrumentationrelationinOrderdle,nwasdefinedexplicitly(bytheTVLAuser).Heretofore,therehavereallybeentwoburdensplacedontheTVLAuser:(i)hemusthaveinsightintothebehavioroftheprogram,and(ii)hemusttranslatethisinsightintoappropriateinstrumentationrelations.Thegoalofthispaperistoauto-Input:atransitionsystem,matetheidentificationofappropri-adata-structureconstructor,aqueryϕ(aclosedformula)ateinstrumentationrelations,such

asinOrderdle,n.ForInsertSort,[1]Constructabstractinputthegoalistoobtaindefiniteanswers[2]doPerformabstractinterpretationwhenevaluatingFormula(2)onthe[3]

[4]LetS1,...,Skbethesetofstructurescollectedbyabstractin-3-valuedstructuresatexit

terpretationatline[24]ofFig.6.[5]i

ifforallSi,[[ϕ]]S3([])=1/2break

Fig.8givespseudo-codeforour[6]Findformulasψp1,...,ψpkfornewmethod,thestepsofwhichcanbeinstrumentationrelsp1,...,pk

[7]Refinetheactionsthatdefineexplainedasfollows:

thetransitionsystem–(Line[1];[16,§4.3])Use

Refinetheabstractinputadata-structureconstructorto[8]

computetheabstractinputstruc-[9]while(true)

turesthatrepresentallvalidin-Fig.8.Pseudo-codeforiterativeabstractionrefine-ment.putstotheprogram.

–Performanabstractinterpretationtocollectasetofstructuresateachprogrampoint,andevaluatethequeryonthestructuresatexit.Ifadefiniteanswerisobtainedonallstructures,terminate.Otherwise,performabstractionrefinement.

–(Line[6];§4.1and§4.2)Finddefiningformulasfornewinstrumentationrelations.–(Line[7])Replacealloccurrencesoftheseformulasinthequeryandinthedef-initionsofotherinstrumentationrelationswiththeuseofthecorrespondingnewinstrumentationrelationsymbols,andapplyfinitedifferencing[20]togeneratere-finedrelation-updateformulasforthetransitionsystem.

7

–(Line[8];[16,§4.3])Obtainthemostprecisepossiblevaluesforthenewlyintro-ducedinstrumentationrelationsinabstractstructuresthatdefinethevalidinputstotheprogram.Thisisachievedby“reconstructing”thevalidinputsbyperformingabstractinterpretationofthedata-structureconstructor.

Afirstattemptatabstractionrefinementcouldbetheintroductionofthequeryitselfasanewinstrumentationrelation.However,thisusuallydoesnotleadtoadefiniteanswer.Forinstance,withInsertSort,introducingthequeryasanewinstrumentationre-lationisineffectivebecausenostatementoftheprogramhastheeffectofchangingthevalueofsuchaninstrumentationrelationfrom1/2to1.

Incontrast,whenunaryinstrumentationrelationinOrderdle,nispresent,thereareseveralstatementsoftheprogramwhereabstractinterpretationresultsinnewdefiniteentriesforinOrderdle,n.Forinstance,becauseofthecomparisoninline[10]ofFig.6,theinsertioninlines[12]–[14]ofthenodepointedtobyr(sayu)beforethenodepointedtobylresultsinanewdefiniteentryinOrderdle,n(u).

Analgorithmtogeneratenewinstrumentationrelationsshouldtakeintoaccountthesourcesofimprecision.§4.1describessubformula-basedrefinement;§4.2describesILP-basedrefinement.Atpresent,weemploysubformula-basedrefinementfirst,be-causethecostofthisstrategyisreasonable(see§5)andthestrategyisoftensuccessful.Whensubformula-basedrefinementcannolongerrefinetheabstraction,weturntoILP.BecauseaqueryhasfinitelymanysubformulasandwecurrentlylimitourselvestooneroundofILP-basedrefinement,thenumberofabstraction-refinementstepsisfinite.Because,additionally,eachrunoftheanalysisexploresaboundednumberof3-valuedstructures,thealgorithmisguaranteedtoterminate.4.1Subformula-BasedRefinement

Whenthequeryϕevaluatesto1/2onastructureScollectedattheexitnode,weinvokefunctioninstrum,arecursive-descentproceduretogeneratedefiningformulasfornewinstrumentationrelationsbasedonthesubformulasofϕresponsiblefortheimprecision.Thedetailsoffunctioninstrumaregivenin[16,§4.1].

Example.Aswesawin§3,abstractinterpretationcollects3-valuedstructureS3ofFig.3attheexitnodeofInsertSort.Thesortednessquery(Formula(2))eval-uatesto1/2onS3,triggeringacalltoinstrumwithFormula(2)andstructureS3,asarguments.Column2ofTab.3showstheinstrumentationrelationsthatarecreatedasaresultofthecall.Notethatsorted3isdefinedexactlyasinOrderdle,n,whichwasthekeyinsightfortheresultsof[15].2

psorted1()sorted2(v1)sorted3(v1)sorted4(v1,v2)ψp(aftercalltoinstrum)∀v1:rn,x(v1)→(∀v2:n(v1,v2)→dle(v1,v2))rn,x(v1)→(∀v2:n(v1,v2)→dle(v1,v2))∀v2:n(v1,v2)→dle(v1,v2)n(v1,v2)→dle(v1,v2)ψp(finalversion)∀v1:sorted2(v1)rn,x(v1)→sorted3(v1)∀v2:sorted4(v1,v2)n(v1,v2)→dle(v1,v2)Table3.Instrumentationrelationscreatedbysubformula-basedrefinement.

Theactionsthatdefinetheprogram’stransitionrelationneedtobemodifiedtogainprecisionimprovementsfromstoringandmaintainingthenewinstrumentationrela-tions.Toaccomplishthis,refinementoftheprogram’sactions(line[7]inFig.8)re-placesalloccurrencesofthedefiningformulasforthenewinstrumentationrelationsin

8

thequeryandinthedefinitionsofotherinstrumentationrelationswiththeuseofthecorrespondingnewinstrumentation-relationsymbols.

Example.ForInsertSort,theuseofFormula(2)inthequeryisreplacedwiththeuseofthestoredvaluesorted1().Thenthedefinitionsofallinstrumentationre-lationsarescannedforoccurrencesofψsorted1,...,ψsorted4.Theseoccurrencesarereplacedwiththenamesofthefourrelations.Inthiscase,onlythenewrelations’defi-nitionsarechanged,yieldingthedefinitionsgiveninColumn3ofTab.3.

InallofthestructurescollectedattheexitnodeofInsertSortbythesecondrunofabstractinterpretation,sorted1()=1.Thepermutationpropertyalsoholdsonallofthestructures.ThesetwofactsestablishthepartialcorrectnessofInsertSort.Thisprocessrequiredoneiterationofabstractionrefinement,usedthebasicversionofthespecification(thevocabularyconsistedoftherelationsofTabs.1and2,togetherwiththecorrespondinghistoryrelations),andneedednouserintervention.2

4.2ILP-BasedRefinement

ShortcomingsofSubformula-BasedRefinementToillustrateaweaknessinsubformula-basedrefinement,weintroducethestabilityproperty.Thestabilityprop-ertyusuallyarisesinthecontextofsortingprocedures,butactuallyappliestolist-manipulatingprogramsingeneral:thestabilityquery(Formula(5))assertsthattherelativeorderofelementswithequaldata-componentsremainsthesame.5

∀v1,v2:(dle(v1,v2)∧dle(v2,v1)∧t0n(v1,v2))→tn(v1,v2)

(5)

ProcedureInsertSortconsistsoftwonestedloops(seeFig.6).Theouterloop

traversesthelist,settingpointervariablertopointtolistnodes.Foreachiterationoftheouterloop,theinnerloopfindsthecorrectplacetoinsertr’starget,bytraversingthelistfromthestartusingpointervariablel;r’stargetisinsertedbeforel’stargetwhenl->data>r->data.BecauseInsertSortsatisfiestheinvariantthatalllistnodesthatappearinthelistbeforer’stargetarealreadyinthecorrectorder,thedata-componentofr’stargetislessthanthedata-componentofallnodesaheadofwhichr’stargetismoved.Thus,InsertSortpreservestheoriginalorderofelementswithequaldata-components,andInsertSortisastableroutine.

However,subformula-basedrefinementisnotcapableofestablishingthestabilityofInsertSort.Byconsideringonlysubformulasofthequery(inthiscase,For-mula(5))ascandidateinstrumentationrelations,thestrategyisunabletointroduceinstrumentationrelationsthatmaintaininformationaboutthetransitivesuccessorswithwhichalistnodehasthecorrectrelativeorder.

LearningInstrumentationRelationsFig.9showsthestructureS9,whicharisesdur-ingabstractinterpretationjustbeforeline[6]ofFig.6,togetherwithatabularversionofrelationstnanddle.(Weomitreachabilityrelationsfromthefigureforclarity.)Af-tertheassignmentl=x;,nodesu2andu3haveidenticalvectorsofvaluesfortheunaryabstractionrelations.Thesubsequentapplicationofcanonicalabstractionpro-ducesstructureS10,showninFig.10.BoldentriesoftablesinFig.9indicatedefinite

5

Arelatedproperty,antistability,assertsthattheorderofelementswithequaldata-componentsisreversed:∀v1,v2:(dle(v1,v2)∧dle(v2,v1)∧t0n(v1,v2))→tn(v2,v1)OurtestsuitealsoincludesprogramInsertSortAS,whichisidenticaltoInsertSortexceptthatituses≥insteadof>inline[10]ofFig.6(i.e.,whenlookingforthecorrectplacetoinsertthecurrentnode).Thisimplementationofinsertionsortisantistable.

9

valuesthataretransformedinto1/2inS10.StructureS9satisfiesthesortednessinvari-antdiscussedabove:everynodeamongu1,...,u4hasthedlerelationshipwithallnodesappearinglaterinthelist,exceptr’starget,u5.However,apieceofthisinformationislostinstructureS10:dle(u23,u23)=1/2,indicatingthatsomenodesrepresentedbysummarynodeu23mightnotbeinsortedorderwithrespecttotheirsuccessors.Wewillrefertosuchabstractionstepsasinformation-losspoints.Anabstractstructuretransformer

lprx,plr,rnmaytemporarilycreateastructureS1

thatisnotintheimageofcanonical

u1n,dleu2n,dleu3n,dleu4nu5abstraction[21].Thesubsequentappli-cationofcanonicalabstractiontrans-dleu1u2u3u4u5tnu1u2u3u4u5formsS1intostructureS2bygrouping

u111111/2u111111asetU1oftwoormoreindividualsofu21/21111/2u201111S1intoasinglesummaryindividualofu300111/2u300111u4001/211/2u400011S2.Thelossofprecisionisduetoone

u51/21/21/21/21u500001orbothofthefollowingcircumstances:

–OneoftheindividualsinU1pos-Fig.9.StructureS9,whicharisesjustbeforesessesapropertythatanotherindi-line[6]ofFig.6.Unlabelededgesbetweennodesvidualdoesnotpossess;thus,therepresentthedlerelation.propertyforthesummaryindividualis1/2.–IndividualsinU1haveapropertyincommon,whichcannotberecomputedpre-ciselyinS2.

n,dlex,pl,lprr,rnInbothcases,thesolutionliesintheintroduc-nnunutionofnewinstrumentationrelations.Inthefor-u5u1423mercase,itisnecessarytointroduceaunaryab-dleu1u23u4u5tnu1u23u4u5stractionrelationtokeeptheindividualsofU1u11111/2u11111thatpossessthepropertyfrombeinggroupedu231/21/211/2u2301/211withthosethatdonot.Inthelattercase,itisu401/211/2u40011u51/21/21/21u50001sufficienttointroduceanon-abstractionrelationofappropriatearitythatcapturesthecommonFig.10.StructureS10,correspondingtopropertyofindividualsinU1.Thealgorithmde-thetransformationofS9bythestatementscribedin§2.2canbeusedtolearnformulasforonline[6]ofFig.6.Unlabelededgesbe-tweennodesrepresentthedlerelation.thefollowingthreekindsofrelations:6

+

TypeI:Unaryrelationr1withE={u}foroneu∈U1,andE−=U1−{u}.TypeII:Unaryrelationr2withE+=U1.TypeIII:Binaryrelationr3withE+=U1×U1.TypeIrelationsareintendedtopreventthegroupingofindividualswithdifferentproperties,whileTypesIIandIIIareintendedtocapturethecommonpropertiesofindividualsinU1.(TypeIIIrelationscanbegeneralizedtohigher-arityrelations.)ForthelogicalstructurethatservesasinputtoILP,wepassthestructureS1iden-tifiedataninformation-losspoint.Werestrictthealgorithmtouseonlynon-history6

Thesearewhatareneededforouranalysisframework,whichusesabstractionsthatgeneralizepredicate-abstractiondomains.AfourthuseofILPprovidesanewtechniqueforpredicateabstractionitself:ILPcanbeusedtoidentifynullaryrelationsthatdifferentiateapositive-examplestructureSfromtheotherstructuresarisingataprogrampoint.ThestepsofILPgobeyondmerelyformingBooleancombinationsofexistingrelations;theyinvolvethecreationofnewrelationsbyintroducingquantifiersduringthelearningprocess.

10

relationsofthestructurethatlosedefiniteentriesasaresultofabstraction(e.g.,tnanddleintheaboveexample).Definiteentriesofthoserelationsarethenusedtolearnfor-mulasthatevaluateto1foreverypositiveexampleandto0foreverynegativeexample.Wemodifiedthealgorithmof§2.2tolearnmultipleformulasinoneinvocationofthealgorithm.Ourmotivationisnottofindasingleinstrumentationrelationthatexplainssomethingaboutthestructure,butrathertofindallinstrumentationrelationsthathelptheanalysisestablishthepropertyofinterest.Wheneverwefindmultipleliteralsofthesamequality(seeline[7]ofFig.5),weextenddistinctcopiesofthecurrentdisjunctusingeachoftheliterals,andthenweextenddistinctcopiesofthecurrentformulausingtheresultingdisjuncts.

ThisvariantofILPisabletolearnausefulbinaryformulausingstructureS9ofFig.9.ThesetofindividualsofS9thataregroupedbytheabstractionisU={u2,u3},sotheinputsetofpositiveexamplesis{(u2,u2),(u2,u3),(u3,u2),(u3,u3)}.Thesetofrelationsthatlosedefinitevaluesduetoabstractionincludestnanddle.Literaldle(v1,v2)coversthreeofthefourexamplesbecauseitholdsforbindings(v1,v2)→(u2,u2),(v1,v2)→(u2,u3),and(v1,v2)→(u3,u3).Thealgorithmpicksthatliteraland,becausetherearenonegativeexamples,dle(v1,v2)becomesthefirstdisjunct.Lit-eral¬tn(v1,v2)coverstheremainingpositiveexample,(u3,u2),andthealgorithmreturnstheformula

def

ψr3(v1,v2)=dle(v1,v2)∨¬tn(v1,v2),(6)whichcanbere-writtenastn(v1,v2)→dle(v1,v2).

Relationr3allowstheabstractiontomaintaininformationaboutthetransitivesuc-cessorswithwhichalistnodehasthecorrectrelativeorder.Inparticular,althoughdle(u23,u23)is1/2inS10,r3(u23,u23)is1,whichallowsestablishingthefactthatalllistnodesappearingpriortor’stargetareinsortedorder.

Otherformulas,suchasdle(v1,v2)∨tn(v2,v1),arealsolearnedusingILP(cf.Fig.12).Notallofthemareusefultotheverificationprocess,butintroducingextrainstrumentationrelationscannotharmtheanalysis,asidefromincreasingitscost.

5ExperimentalEvaluation

WeextendedTVLAtoperformiterativeabstractionrefinement,andappliedittothreequeriesandfiveprograms(seeFig.11).BesidesInsertSort,thetestprogramsin-cludedsortingproceduresBubbleSortandInsertSortAS,list-mergingproce-dureMerge,andin-situlist-reversalprocedureReverse.

Atpresent,weemploysubformula-basedrefinementfirst.Duringeachiterationofsubformula-basedrefinement,wesavelogicalstructuresatinformation-losspoints.Uponthefailureofsubformula-basedrefinement,weinvoketheILPalgorithmde-scribedin§4.2.Tolowerthecostoftheanalysisweprunethereturnedsetoffor-mulas.Forexample,wecurrentlyremoveformulasdefinedintermsofasinglerelationsymbol;suchformulasareusuallytautologies(e.g.,dle(v1,v2)∨dle(v2,v1)).Wethendefinenewinstrumentationrelations,andusetheserelationstorefinetheabstractionbyperformingthestepsoflines[7]and[8]ofFig.8.Ourimplementationcanlearnrela-tionsofalltypesdescribedin§4.2:unary,binary,aswellasnullary.However,duetothepresentcostofmaintainingmanyunaryinstrumentationrelationsinTVLA,intheexperimentsreportedhereweonlylearnbinaryformulas(i.e.,ofTypeIII).Moreover,wedefinenewinstrumentationrelationsusingonlylearnedformulasofasimpleform

11

(currently,thosewithtwoatomicsubformulas).Weareintheprocessofextendingourtechniquesforpruninguselessinstrumentationrelations.ThisshouldmakeitpracticalforustousealltypesofrelationsthatcanbelearnedbyILPforrefiningtheabstraction.Example.WhenattemptingtoverifythestabilityofInsertSort,ILPcreatesnineformulasincludingFormula(6).ThesubsequentrunoftheanalysissuccessfullyverifiesthestabilityofInsertSort.2

Fig.11showsthatthemethodwasabletogen-TestProgramsortedstableantistableeratetherightinstrumentationrelationsforTVLA

BubbleSort111/2toestablishallpropertiesthatweexpecttohold.InsertSort111/2Namely,TVLAsucceedsindemonstratingthatInsertSortAS11/21Merge1/211/2allthreesortingroutinesproducesortedlists,thatReverse1/21/21BubbleSort,InsertSort,andMergeare

Fig.11.Resultsfromapplyingitera-stableroutines,andthatInsertSortASandtiveabstractionrefinementtotheveri-Reverseareantistableroutines.ficationofpropertiesofprogramsthatIndefiniteanswersareindicatedby1/2en-manipulatelinkedlists.tries.Itisimportanttounderstandthatalloftheoccurrencesof1/2inFig.11arethemostprecisecorrectanswers.Forinstance,theresultofapplyingReversetoanunsortedlistisusuallyanunsortedlist;however,inthecasethattheinputlisthappenstobeinnon-increasingorder,Reverseproducesasortedlist.Consequently,themostpreciseanswertothequeryis1/2,not0.

Fig.12showsthenumbersofinstru-sortedstableantistablementationrelationsusedduringthelastTestProgram#instrumrels#instrumrels#instrumrelstotal/ILPtotal/ILPtotal/ILPiterationofabstractionrefinement.The

BubbleSort31/032/041/9numberofILP-learnedrelationsusedbyInsertSort39/049/943/3theanalysisissmallrelativetothetotalInsertSortAS39/043/340/0numberofinstrumentationrelations.Merge30/328/031/3Reverse26/327/324/0Fig.13givesexecutiontimesthatFig.12.Thenumbersofinstrumentationrela-werecollectedona3GHzLinuxPC.Thetions(totalandlearnedbyILP)usedduringthelongest-runninganalysis,whichverifieslastiterationofabstractionrefinement.thatInsertSortisstable,takes8.5minutes.Sevenoftheanalysestakeunderaminute.Theresttakebetween70sec-ondsand6minutes.Thetotaltimeforthe15testsis35minutes.Thesenumbersareveryclosetohowlongittakestoverifythesortednessquerieswhentheusercarefullychoosestherightinstrumentationrelations[15].7Themaximumamountofmemoryusedbytheanalysesvariedfromjustunder2MBto32MB.8

ThecostoftheinvocationsoftheILPalgorithmwhenattemptingtoverifytheantistabilityofBubbleSortwas25seconds(total,for133information-losspoints).Forallotherbenchmarks,theILPcostwaslessthantenseconds.

Threeadditionalexperimentstestedtheapplicabilityofourmethodtootherqueriesanddatastructures.Inthefirstexperiment,subformula-basedrefinementsuccessfullyverifiedthatthein-situlist-reversalprocedureReverseindeedproducesalistthatisthereversaloftheinputlist.Thequerythatexpressesthispropertyis∀v1,v2:n(v1,v2)↔n0(v2,v1).Thisexperimenttookonly5secondsandusedlessthan2MBofmemory.Thesecondandthirdexperimentsinvolvedtwoprogramsthatmanipu-78

SortednessistheonlyqueryinoursettowhichTVLAhasbeenappliedbeforethiswork.TVLAiswritteninJava.Herewereportthemaximumoftotalmemoryminusfreememory,asreturnedbyRuntime.

12

latebinary-searchtrees.InsertBSTinsertsanewnodeintoabinary-searchtree,andDeleteBSTdeletesanodefromabinary-searchtree.Forbothprograms,subformula-basedrefinementsuccessfullyverifiedthequerythatthenodesofthetreepointedtobyvariabletremaininsortedorderattheendoftheprograms:

∀v1:rt(v1)→(∀v2:(left(v1,v2)→dle(v2,v1))∧(right(v1,v2)→dle(v1,v2)))

(7)

Theinitialspecificationsfortheanalysesincludedonlythreestandardinstrumentationrelations,similartothoselistedinTab.2.Relationrt(v1)fromFormula(7),forexam-ple,distinguishesnodesinthe(sub)treepointedtobyt.TheInsertBSTexperimenttook30secondsandusedlessthan3MBofmemory,whiletheDeleteBSTexperi-menttookapproximately10minutesandused37MBofmemory.6RelatedWork

350514Post-ILP iteration300TheworkreportedhereissimilarinspirittoPre-ILP iterationscounterexample-guidedabstractionrefinementsorted250stable[12,4,13,18,5,2,8,6].Akeydifferencebe-antistable200tweenthisworkandpriorworkinthemodel-150checkingcommunityistheabstractdomain:100priorworkhasusedabstractdomainsthatare50fixed,finite,CartesianproductsofBooleanval-ues(i.e.,predicate-abstractiondomains),and0BubbleInsertInsertMergeReversehencetheonlyrelationsintroducedarenullarySortSort ASrelations.OurworkappliestoaricherFig.13.Executiontimes.Foreachpro-classofabstractions—3-valuedstructures—gram,thethreebarsrepresentthethatgeneralizepredicate-abstractiondomains.sorted,stable,andantistablequeries.Theabstraction-refinementalgorithmdescribedIncaseswheresubformula-basedrefine-inthispapercanintroduceunary,binary,mentfailed,theupperportionofthebarsternary,etc.relations,inadditiontonullaryre-showsthecostofthelastiterationofthelations.Whilewedemonstratedourapproachanalysis(onboththeDSCandthepro-usingshape-analysisqueries,thisapproachisgram)togetherwiththeILPcost.

applicableinanysettinginwhichfirst-orderlogicisusedtodescribeprogramstates.Aseconddistinguishingfeatureofourworkisthatthemethodisdrivennotbycoun-terexampletraces,butinsteadbyimpreciseresultsofevaluatingaquery(inthecaseofsubformula-basedrefinement)andbylossofinformationduringabstractionsteps(inthecaseofILP-basedrefinement).Theredonotcurrentlyexisttheoremproversforfirst-orderlogicextendedwithtransitiveclosurecapableofidentifyinginfeasibleerrortraces[9];henceweneededtodeveloptechniquesdifferentfromthoseusedinSLAM,BLAST,etc.SLAMidentifiestheshortestprefixofaspuriouscounterexampletracethatcannotbeextendedtoafeasiblepath;ingeneral,however,thefirstinformation-losspointoccursbeforetheendoftheprefix.Information-loss-guidedrefinementcaniden-tifytheearliestpointsatwhichinformationislostduetoabstraction,aswellaswhatnewinstrumentationrelationsneedtobeaddedtotheabstractionatthosepoints.Apo-tentialadvantageofcounterexample-guidedrefinementoverinformation-loss-guidedrefinementisthattheformerisgoal-driven.Information-loss-guidedrefinementcandiscovermanyrelationshipsthatdonothelpinestablishingthequery.Toalleviatethisproblem,werestrictedtheILPalgorithmtoonlyuserelationsthatoccurinthequery.

(seconds)13

Abstraction-refinementtechniquesfromtheabstract-interpretationcommunityarecapableofrefiningdomainsthatarenotbasedonpredicateabstraction.In[10],forexample,apolyhedra-baseddomainisdynamicallyrefined.Ourworkisbasedonadifferentabstractdomain,andledustodevelopsomenewapproachestoabstractionrefinement,basedonmachinelearning.

Intheabstract-interpretationcommunity,astrong(albeitoftenunattainable)formofabstractionrefinementhasbeenidentifiedinwhichthegoalistomakeabstractinterpre-tationcomplete(a.k.a.“optimal”)[7].Inourcase,thegoalistoextendtheabstractionjustenoughtobeabletoanswerthequery,ratherthantomaketheabstractionoptimal.

References

1.TVLAsystem.http://www.cs.tau.ac.il/tvla/.

2.T.BallandS.Rajamani.Automaticallyvalidatingtemporalsafetypropertiesofinterfaces.InSPIN,pages103–122,2001.

3.D.R.Chase,M.Wegman,andF.Zadeck.Analysisofpointersandstructures.InPLDI,pages296–310,1990.

4.E.M.Clarke,O.Grumberg,S.Jha,Y.Lu,andH.Veith.Counterexample-guidedabstractionrefinement.InCAV,pages1–169,2000.

5.S.DasandD.Dill.Counter-examplebasedpredicatediscoveryinpredicateabstraction.InFMCAD,pages19–32,2002.

6.C.Flanagan.Softwaremodelcheckingviaiterativeabstractionrefinementofconstraintlogicqueries.InCP+CV,2004.

7.R.Giacobazzi,F.Ranzato,andF.Scozzari.Makingabstractinterpretationscomplete.J.ACM,47(2):361–416,2000.

8.T.Henzinger,R.Jhala,R.Majumdar,andK.McMillan.Abstractionsfromproofs.InPOPL,pages232–244,2004.

9.N.Immerman,A.Rabinovich,T.Reps,M.Sagiv,andG.Yorsh.Theboundarybetweendecidabilityandundecidabilityfortransitiveclosurelogics.InCSL,pages160–174,2004.10.B.Jeannet,N.Halbwachs,andP.Raymond.Dynamicpartitioninginanalysesofnumerical

properties.InSAS,pages39–50,1999.

11.N.JonesandS.Muchnick.FlowanalysisandoptimizationofLisp-likestructures.InPro-gramFlowAnalysis:TheoryandApplications,pages102–131.Prentice-Hall,1981.

12.R.Kurshan.Computer-aidedVerificationofCoordinatingProcesses.PrincetonUniversity

Press,1994.

13.Y.Lakhnech,S.Bensalem,S.Berezin,andS.Owre.Incrementalverificationbyabstraction.

InTACAS,pages98–112,2001.14.N.LavraˇcandS.Dˇzeroski.InductiveLogicProgramming:TechniquesandApplications.

EllisHorwood,1994.

15.T.Lev-Ami,T.Reps,M.Sagiv,andR.Wilhelm.Puttingstaticanalysistoworkforverifica-tion:Acasestudy.InISSTA,pages26–38,2000.

16.A.Loginov,T.Reps,andM.Sagiv.Learningabstractionsforverifyingdata-structureprop-erties.reportTR-1519,Comp.Sci.Dept.,Univ.ofWisconsin,January2005.Availableat“http://www.cs.wisc.edu/wpis/papers/tr1519.ps”.

17.S.Muggleton.Inductivelogicprogramming.NewGenerationComp.,8(4):295–317,1991.18.C.Pasareanu,M.Dwyer,andW.Visser.Findingfeasiblecounter-exampleswhenmodel

checkingJavaprograms.InTACAS,pages284–298,2001.

19.J.R.Quinlan.Learninglogicaldefinitionsfromrelations.Mach.Learn.,5:239–266,1990.20.T.Reps,M.Sagiv,andA.Loginov.Finitedifferencingoflogicalformulaswithapplications

toprogramanalysis.InESOP,pages380–398,2003.

21.M.Sagiv,T.Reps,andR.Wilhelm.Parametricshapeanalysisvia3-valuedlogic.TOPLAS,

24(3):217–298,2002.

14

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- oldu.cn 版权所有 浙ICP备2024123271号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务