Shape analysis through predicate abstraction and model check(9)

时间:2025-04-10

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

4APredicateCalculatorforShapeAnalysis

Wehaveimplementedaprototypepredicateabstractorforshapeanalysis,basedonthesetofpredicatesdiscussedabove,inOCaml.Theinputtothistoolconsistsofa ow-chartprogramwithC-styleinstructionsandvariabletypesincludingallbasictypesaswellasstructandpointertypes.Nestedstructs,unions,andarraytypesarenotcurrentlyacceptedbythetoolbuttheirinclusionposesnotechnicaldi culties.Thetooldoesnotyethandleprocedurecalls.Alongwiththeprogram,asetofpredicate-locationpairsisgiven,ase.g.extractedfromthepropertytobechecked.Theseserveasthestartingpointforthewpcalculations.Finally,aniterationboundanda(possiblyempty)collectionofapproximationhintsaregivenasinput.

Thetool’smainchallengeisinsimplifyingthe“raw”formulasthatareob-tainedaswp’s.Thesemaybelargeduetocasedistinctionsforaliasing.Byrewritingnewlygeneratedpredicatestosimplerones,semanticalequivalencewithalready-computedpredicatescanoftenbedetected.Thisreducestheover-allnumberofgeneratedpredicates,whichisessentialinapracticalapplicationofthealgorithm.Also,itrendersthepredicatesmorereadable,whichfacili-tatestheidenti cationofgoodapproximations.Wehaveimplementedavarietyofrulesthataimtosimplifyindividualpredicateslikereachandtheirargu-ments,andpointer(in)equalities.Forexample,reach[A;F](null,e)rewritestofalseregardlessofA,F,ande;inreach[A;F](e1,e2),e2canberemovedfromtheavoidsetA;and&(x→n)=&yistruewhenyisavariable.Anotheressentialclassofrewriterulesisformedbytypereasoning,furtherdiscussedbe-low.Furthermore,weapplyseveralstandardrules,includingtheDavis-Putnam-Logemann-Lovelandprocedure[11],tosimplifybooleanexpressions.ThetoolincludesautomaticconversionofabstractprogramstoS/RorPromelaformat,theresp.inputformalismsforthemodelcheckersCOSPANandSPIN.Thecor-rectnesspropertytobeveri edcanbeaddedtotheabstractprogrambyusingassertionsortemporallogic.

4.1TypeReasoning

SupposethatxandyareprogramvariablesoftheListtypefromourexam-ples.Atypicalpredicatethatmayoccurduringthemanipulationofwp’sisreach[A;n](x,&y).Regardlessoftheavoidset,thispredicateisfalse,ascanbeseenbyreasoningabouttypes,asfollows.VariablexitselfisoftypeList.Bydereferencingx,wegetanobjectofstruct-typeNode,inwhichselectionofthen eldyieldsaListagain.SotheonlytypesthatarereachablefromListareListandNode.Thetypeof&yhoweverispointertoList.So&ycannotbereachablefromx.

Reachabilitybetweentypesisformalizedbyapredicatetypreach.ForasetFof eldnames,typreach[F](t1,t2)expressesthatfromanobjectofaddresstypet1itispossibletoreachanobjectofaddresstypet2ifonlyselectionof eldsfromFisallowed.Itispossibletoprovethekeycorrectnesspropertythatifreach[A;F](e1,e2),thentypreach[F](t1,t2)foranyaddressexpressionse1

…… 此处隐藏:880字,全部文档内容请下载后查看。喜欢就下载吧 ……
Shape analysis through predicate abstraction and model check(9).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219