×

使用模型检查和(k)-归纳法自动分析DMA竞争。 (英语) Zbl 1233.68124号

概述:现代多核处理器,如Cell Broadband Engine,通过为加速器内核配备小型“便笺簿”存储器来实现高性能。提高性能的代价是更高的编程复杂性——程序员必须使用直接内存访问(DMA)操作手动协调数据移动。使用异步DMA操作进行编程容易出错,DMA竞争可能导致不确定的错误,这些错误很难重现和修复。我们提出了一种在C程序中进行DMA竞争分析的方法。我们的方法通过使用对内存流控制器语义建模的断言来自动检测程序。然后,可以使用最先进的软件模型检查器分析被检测的程序。我们证明了有界模型检查对于检测有缺陷程序中的DMA竞争是有效的。为了能够自动验证仪器化程序的正确性,我们提出了一种面向软件的新的归纳公式,作为循环操作的证明规则。我们的技术是作为一种工具来实现的,刮擦,我们将其应用于IBMCellSDK提供的大量程序,在这些程序中我们发现了以前未知的错误。我们的实验结果表明,我们的k归纳法在这类问题上表现得非常好。据我们所知,这标志着(k)归纳法在软件验证中的首次应用,也是异构多核处理器环境中软件模型检查的第一个示例。

MSC公司:

68纳米30 软件工程的数学方面(规范、验证、度量、需求等)
60年第68季度 规范和验证(程序逻辑、模型检查等)
68甲19 其他编程范式(面向对象、顺序、并发、自动等)
PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Abadi M,Lamport L(1991)精炼映射的存在性。计算机科学理论82(2):253-284·Zbl 0728.68083号 ·doi:10.1016/0304-3975(91)90224-P
[2] Aho AV、Lam MS、Sethi R、Ullman JD(2006)《编译器:原理、技术和工具》。Addison Wesley,雷丁
[3] Armoni R、Fix L、Fraer R、Huddleston S、Piterman N、Vardi MY(2005),基于SAT的临时安全属性诱导。计算机科学电子笔记119(2):3–16·doi:10.1016/j.entcs.2004.12.021
[4] Bellens P、Perez JM、Badia RM、Labarta J(2006)CellS:Cell BE架构的编程模型。收录:2006年ACM/IEEE超级计算会议(SC)会议记录。ACM,纽约,第86页
[5] Beyer D、Henzinger TA、Jhala R、Majumdar R(2007)软件模型检查器Blast。国际J Softw Tools Technol Transf 9(5–6):505–525·doi:10.1007/s10009-007-0044-z
[6] Biere A、Cimatti A、Clarke EM、Strichman O、Zhu Y(2003)有界模型检验。高级计算58:118–149
[7] Bjesse P,Claessen K(2000),基于SAT的验证,无状态空间遍历。输入:FMCAD。LNCS,第1954卷。施普林格,柏林,第372–389页
[8] Botinan M、Dodds M、Donaldson AF、Parkinson MJ(2011)《异步内存操作的自动安全证明》。包含:PPOPP。ACM,纽约,第313–314页
[9] Clarke E、Kroening D、Lerda F(2004),检查ANSI-C程序的工具。包含:TACAS。LNCS,第2988卷。柏林施普林格,第168-176页·Zbl 1126.68470号
[10] Clarke E,Kroening D,Sharygina N,Yorav K(2005)SATABS:基于SAT的ANSI-C谓词抽象。In:TACAS。LNCS,第3440卷。柏林施普林格,第570-574页·Zbl 1087.68586号
[11] Cook B,Koskinen E(2011)使用决策谓词进行预言。输入:POPL。ACM,纽约,第399–410页·Zbl 1284.68389号
[12] Cooper P、Dolinsky U、Donaldson AF、Richards A、Riley C、Russell G(2010)卸载——自动化代码迁移到异构多核系统。输入:HiPEAC。LNCS,第5952卷。柏林施普林格,第337-352页
[13] Cordeiro L(2010)基于SMT的嵌入式系统中多线程软件的有界模型检查。包含:ICSE(2)。ACM,纽约,第373–376页
[14] Cordeiro L、Fischer B、Marques-Silva J(2009)嵌入式ANSI-C软件基于SMT的有界模型检查。输入:ASE
[15] Déharbe D,Moreira AM(1997)使用归纳法和BDD对检查不变量建模。在:CHARME.IFIP会议记录,第105卷。查普曼&伦敦霍尔,第203-213页
[16] Donaldson AF,Keir P,Lokhmotov A(2009)在Cell BE处理器的自动并行系统中编译时间和运行时间问题。参加:2008年欧洲-保时捷研讨会。LNCS,第5415卷。柏林施普林格,第163-173页
[17] Donaldson AF,Dolinsky U,Richards A,Russell G(2010)Cell BE处理器的C++自动卸载:使用卸载的案例研究。输入:MuCoCoS。IEEE出版社,纽约,第901-906页
[18] Donaldson AF、Kroening D、Rümmer P(2010)《异构多核处理器的便笺簿存储器代码的自动分析》。包含:TACAS。LNCS,第6015卷。柏林施普林格,第280-295页
[19] Donaldson AF、Haller L、Kroening D(2011),通过轻量级静态分析加强基于导入的比赛检查。收录人:Jhala R,Schmidt DA(eds)VMCAI。LNCS,第6538卷。施普林格,柏林,第169–183页·Zbl 1317.68113号
[20] Donaldson AF,Kroening D,Rümmer P(2011)SCRATCH:DMA竞赛的自动分析工具。包含:PPOPP。ACM,纽约,第311-312页
[21] Eén n,Sörensson n(2003)增量SAT求解的时间归纳。计算机科学电子笔记89(4)·Zbl 1271.68215号
[22] Emmi M、Qadeer S、Rakamaric Z(2011)《延迟调度》。输入:POPL。ACM,纽约,第411-422页·Zbl 1284.68087号
[23] Engler D,Ashcraft K(2003)RacerX:有效、静态检测比赛条件和死锁。包含:SOSP。ACM,纽约,第237–252页
[24] Fatahalian K、Horn DR、Knight TJ、Leem L、Houston M、Park JY、Erez M、Ren M、Aiken A、Dally WJ、Hanrahan P(2006)《红杉:编程内存层次结构》。In:超级计算(SC)。ACM,纽约,第83页
[25] Flanagan C,Freund SN(2000)Java基于类型的种族检测。输入:PLDI。ACM,纽约,第219-232页
[26] Flanagan C,Godefroid P(2005),模型检查软件的动态部分阶降阶。输入:POPL。ACM,纽约,第110–121页·Zbl 1369.68135号
[27] Franzén A(2006)使用可满足性模理论对Lustre程序进行归纳验证。计算机科学电子笔记144(1):19–33·doi:10.1016/j.entcs.2005.07.017
[28] Große D、Le HM、Drechsler R(2010)《证明非定时SystemC TLM设计的事务和系统级属性》。输入:MEMOCODE。IEEE出版社,纽约,第113-122页
[29] Hagen G,Tinelli C(2008)利用基于SMT的技术扩大Lustre程序的正式验证。输入:FMCAD。IEEE出版社,纽约,第109-117页
[30] Harel D(1980)关于福克定理。通信ACM 23(7):379–389·Zbl 0432.68009号 ·doi:10.1145/358886.358892
[31] Helmstetter C、Maraninchi F、Maillet-Contoz L、Moy M(2006)《自动生成时间表以提高系统芯片测试覆盖率》。输入:FMCAD。IEEE出版社,纽约,第171–178页
[32] Hofstee HP(2005)节能处理器体系结构和Cell处理器。收件人:HPCA。IEEE出版社,纽约,第258-262页
[33] Honda K,Vasconcelos VT,Yoshida N(2009),多核编程的类型定向编译。电子笔记理论计算机科学241:101-111·doi:10.1016/j.entcs.2009.06.006
[34] IBM。示例库API参考,3.1版,2008年7月
[35] IBM。Cell BE资源中心,2009年10月。http://www.ibm.com/developerworks/power/cell/
[36] Ionkov L,Nyrhinen A,Mirtchovski A(2009)CellFS:将“DMA”从Cell编程中剔除。包含:IPDPS。IEEE出版社,纽约,第1-8页
[37] Kroening D,Strichman O(2003)《递归直径的有效计算》。输入:VMCAI。LNCS,第2575卷。柏林施普林格,第298-309页·Zbl 1022.68579号
[38] Lal A,Reps TW(2009)《在与顺序分析相关的上下文中减少并发分析》。表格方法系统设计35(1):73–97·Zbl 1186.68298号 ·doi:10.1007/s10703-009-0078-9
[39] Lillieroth CJ,Singh S(1999)FPGA内核的正式验证。Nord J计算6(3):299–319·Zbl 0944.68131号
[40] McMillan KL(1999)关于活性的循环合成推理。包含:CHARME.LNCS,第1703卷。柏林施普林格,第342-345页
[41] Moore GE(1998年)将更多组件注入集成电路。程序IEEE 86:82–85·doi:10.1109/JPROC.1998.658762
[42] Naik M,Aiken A,Whaley J(2006)Java的有效静态种族检测。输入:PLDI。ACM,纽约,第308–319页
[43] Savage S、Burrows M、Nelson G、Sobalvarro P、Anderson T(1997)《橡皮擦:多线程程序的动态数据竞争检测器》。ACM事务计算系统15(4):391–411·doi:10.1145/265924.265927
[44] Schuppan V,Biere A(2006),无限状态空间的生命检查作为安全检查。计算机科学电子笔记149(1):79–96·doi:10.1016/j.entcs.2005.11.018
[45] Sheeran M,Singh S,Stálmarck G(2000)使用感应和SAT解决方案检查安全性能。输入:FMCAD。LNCS,第1954卷。柏林施普林格,第108–125页
[46] Vimjam VC,Xiao MS(2007)基于SAT的诱导中的明确安全性强化。输入:VLSID。IEEE出版社,纽约,第63–68页
[47] Yoshida N,Vasconcelos VT,Paulino H,Honda K(2008)基于会话的多核编程编译框架。输入:FMCO。LNCS,第5751卷。柏林施普林格,第226-246页
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。