F. Model checking software at compile time(3)

流年开花 分享 2021-06-02 下载文档

Wehaveastrongerfocusontheeffectivenessoftheanalysisandabandoninsomecasessoundnessasde nedbySteffen.Thismeans,wetreatprogramspurelyasasetofsyntacticobjectsontheprogram’sCFGandallowtocheckanyCTLpropertyonthatlevel.Whileouranalysisissoundonthissyntacticlevelitisnotnecessarilyasoundabstrac-tionoftheprogram’ssemantics.However,thisapproachhasbeenfollowedbyothers(e.g.,[12,11])andprovestobewell-suitedforcheckingreal-lifesystems.

AsimilarapproachtoourscanbefoundintheUnotool[17]anditslaterdevelopmentintoOrion[11].Theanalysisisalsodonebymodelcheckingonasyntacticlevel.However,theauthorsdonotuseanoff-the-shelfmodelchecker,butimplementmodelcheckingtechniques.Orioniscurrentlymorelimitedtocheckingforthreeproperties:uninitialisedvariables,nil-pointerdereferencesandout-of-boundsarrayindexing.Thetoolcurrentlyhasastrongfo-cusonachievingagoodsignaltonoiseratiobyincorpo-ratingsymbolicsolvertechniques.Goannafocusesonawiderrangeofproperties,withfutureplanstoincludeuser-de nedrulesandembeddedassembly.Itwillbeinterestingtocomparefutureversionsofbothtools.

Relatedtoourphilosophyis,e.g.,theworkinthestaticanalysiscommunitydonebyEngleretal.[12].Theauthorsusemeta-levelcompilation(MC)whichallowssystemim-plementorstobuildtheirownapplication-speci ccompilerextensionsbasedontheMetallanguage.Thoseextensionsareusedasspeci cationsforsearchingtheabstractsyntaxtree,control owanddata owgraph.Theapproachhasbeenfurtherdevelopedintoacommercialproduct[10].

2

Thereareothercommercialstaticanalysistools,e.g.[14,19,15,20]which,however,mostlydonotsupportspeci -cationlanguagessuchasMetalorCTL.Thislimitstheirapplicabilityforsystemdevelopment.

Asemanticmodelcheckingapproachtosoftwarever-i cationisrealisedinSLAM[1]anditssuccessorSDV,atoolusedtoverifydevicedrivers.SLAMisasuiteoftoolsforcounterexample-guidedabstractionre nement.SLAMstartswithacoarseBooleanprogramabstractionthatissubsequentlyre nedgivenpredicatesdiscoveredfromcounterexamplesintheabstraction,untilanabstrac-tionisfoundthatsatis estheproperty.Othertoolsthatim-plementcounterexample-guidedabstractionre nementareBlast[16]andMagic[4].

AtoolforboundedmodelcheckingofANSI-Ccodewaspresentedin[7].Thistool,calledCMBC,canbeusedtoverifysafetyproperties,andalsotoverifyanANSI-Cmodelofacircuitagainstaspeci cationinahardwarede-scriptionlanguagesuchasVerilog.Thetoolunrollsthepro-gramandcheckswithaSAT-solverifthereexistsanerrortraceuptothegivendepth.CMBCisparticularlyusefulfordebuggingsinceitcan ndallerrorsuptoacertaindepthquickly.

TheEauClairetool[5]makesuseofautomatictheoremproving.ItisanextendedstaticcheckerforC,basedontheearlierideasin[18].ThetooltranslatesCcodeintoasetofguardedcommandswhichwillthenbetransformedintoveri cationconditions.Theseveri cationconditionsarecheckedautomaticallybytheSimplifytheoremprover.Basedonabstractinterpretation[9]arethePoly-Space[24]andAstr´ee[3]staticanalyzers.Theyaimatprovingtheabsenceofrun-timeerrorsinprogramswrit-tenintheC/C++programminglanguages.Astr´eeanalyzesstructuredCprograms,withoutdynamicmemoryalloca-tionorrecursion.Abstractinterpretationisparticularlywellsuitedforarrayboundcheckingandalike,asitprovidesasemanticframeworktocapturedomainsandtheoperationsonthem,butsuffersfromhighcomputationalcostsresult-inginmuchlongeranalysistimes.

3SyntacticSoftwareModelChecking

Inthissectionwepresentdetailsofhowtoencodestaticanalysispropertiesbymodelcheckinginapracticalway.ThegoalistodeterminesyntacticpropertiesofC/C++pro-gramsrangingfromuninitializedvariablestonullpointerdereferences.GivenaprogramPandapropertyφthetaskofcheckingwhetherPsatis esφ,i.e.,P|=φ,isreducedtocheckingPs|=φswherePsisa nitesyntacticrepre-sentationofPandφsasyntacticencodingofφ.

Althoughweusemodelcheckingforouranalysis,thetypeofpropertiesweareaddressingaresimilartothoseinstaticanalysis.Forinstance,wecheckwhetheravariablev


F. Model checking software at compile time(3).doc 将本文的Word文档下载到电脑

下一篇:全国2010年1月高等教育自学考试领导科学试题V

相关推荐
相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

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

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