手机版

Shape analysis through predicate abstraction and model check(3)

发布时间:2021-06-05   来源:未知    
字号:

Abstract. We propose a new framework, based on predicate abstraction and model checking, for shape analysis of programs. Shape analysis is used to statically collect information — such as possible reachability and sharing — about program stores. Rather t

Thepredicatereach[;n](x,k)holdsatnei itsweakestprecondition(wp)

[12]holdsatn4.Whileweakestpreconditionsforsimpleconstructscanbecom-putedbysyntacticsubstitution,thisisnottrueforsecondorderpredicateslikereachability.WeshowinSection3howtocomputewpforreachability:forthepresentdiscussion,itsu cestoknowthatthewpforthispredicatesimpli estotheexpectedvalue:reach[;n](t,k).Theabstractionalgorithm(Section2)com-puteswp’sforindividualpredicatesinthisgoal-directed,“backward”manneruntiltheinitiallocationn1isreached.Theresultsareshownenclosedin{...}inFigure1(right)withwp’sforpredicatesatn3separatedbyacommaatn2.Thekeypointtonoteishowthewpcalculationsidentifyfurtherpredicatesthatarerelevanttothecorrectnessproperty.

n1:

n2:

n3:

n4:

ne:b2b2b1b0:=:=:=:=b0,b3:=false;b2,b3:=b3;b2\/b3;b1;b0b1b2b3<-><-><-><->reach[;n](x,k)reach[;n](t,k)reach[&(t->n);n](x,k)(t==k)

Fig.2.Predicate-booleancorrespondence(left)andabstractprogram(right)Theabstractprogram,andthepredicate-booleancorrespondence,isshowninFigure2.Theabstractactionsarecalculatedbysubstitutingbooleanvariablesforpredicatesintheresultsofthewpcalculations.Forinstance,theupdateforb1onedgen3ton4isgivenbyb2∨b3,whichistheresultofsubstitutiononthewpforitscorrespondingpredicatereach[;n](t,k).Notethatbooleansareonlyguaranteedtohavecorrectvalueswhereitmatters—e.g.b1mayhavethe(clearlywrong)valuetrueatn2,butitissettoitscorrectvalueatlocationn3,justbeforeitisusedtocalculateb0.Theabstractionalgorithmensuresthispropertywhich,inturn,ensuresthecorrectnessoftheabstraction.

Theadjustedcorrectnesspropertyfortheabstractprogram,G(b0@n1 G(true@ne b0@ne))canbeestablishedusingamodelchecker.Forthisex-ample,thepropertycanbeestablisheddirectlyfromthewpcalculations;how-ever,thisisdi culttodofortheanalysisofprogramswithloops.Ingeneral,thewpcalculationsservetotransformtheprogramlocally,whilethemodelcheckingdeterminesglobalproperties.Astheabstractionisalwaysconservativeinnature,apropertythatholdsoftheabstractionalsoholdsofthesourceprogram.Hence,thesourceprogramisalsocorrect.

Thevariouscomponentsoftheframeworkaredescribedindetailinsubse-quentsections.

2AbstractionbyIteratedWeakestPreconditions

InPredicateAbstraction[14],theabstractprogramisde nedoverasetofbooleanvariableswhichrepresentsourceprogrampredicates.Determiningasetofpredicatesrelevanttoshowingacorrectnesspropertyisundecidableingeneral

Shape analysis through predicate abstraction and model check(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)