跳到主要内容
研究论文

并发有界模型检查

出版:2015年2月6日 出版历史
  • 获取引文提醒
  • 摘要

    我们介绍了一种基于符号执行的并发有界模型检查方法。在我们的方法中,我们将程序转换为析取形式的公式。这种设计支持并发验证,主线程运行符号执行,无需任何约束求解,即可构建子公式,而一组工作线程运行决策过程以进行可满足性检查。
    我们已经在一个名为JCBMC的工具中实现了这种方法,JCBMC是第一个针对Java的有界模型检查器。JCBMC是作为由NASA开发的开源验证平台Java Pathfinder的扩展而构建的。JCBMC使用Symbolic PathFinder(SPF)进行符号执行,Z3作为解算器,并通过多线程实现并发。
    为了进行评估,我们将JCBMC与SPF和有界模型检查器CBMC进行了比较。实验结果表明,与这两种工具相比,我们可以获得显著的性能优势。

    工具书类

    [1]
    2014年软件验证竞赛中的循环基准。https://svn.sosy-lab.org/software/sv基准测试/标签/svcomp14/loops/。
    [2]
    Java PathFinder。http://babelfish.arc.nasa.gov/trac/jpf/。
    [3]
    Z3号机组。http://z3.codeplex.com/。
    [4]
    埃里卡·阿布拉姆、托比亚斯·舒伯特、伯恩德·贝克尔、马丁·弗伦泽尔和克里斯蒂安·赫德。有界模型检查中的并行sat求解。FMICS’06/PDMC’06,第301-315页。
    [5]
    亚历山德罗·阿曼多、雅各布·曼托瓦尼和洛伦佐·普拉塔尼亚。使用smt解算器而不是sat解算器对软件进行有界模型检查。STTT,11(1):69-832009年1月。
    [6]
    丹尼尔·巴拉苏布拉曼尼安(Daniel Balasubramanian)、科琳娜·斯佩斯雷努(Corina S.PSreanu)、加博尔·卡赛(Gábor Karsai)和迈克尔·罗瑞(Michael R.Lowry。Polyglot:对多重状态图形式的系统分析。TACAS’13,第523--529页。
    [7]
    J.Barnat、L.Brim、M.Ceška和P.Ročkai。DiVinE:并行分布式模型检查器(工具文件)。在HiBi/PDMC 2010中,第4-7页。IEEE,2010年。
    [8]
    Armin Biere、Alessandro Cimatti、Edmund M.Clarke和Yunshan Zhu。没有bdds的符号模型检查。《第五届系统构建和分析工具和算法国际会议论文集》,TACAS’99,第193-207页,英国伦敦,1999年。斯普林格·弗拉格。
    [9]
    伊桑·伯恩斯和荣周。使用抽象进行并行模型检查。SPIN’12,第172-190页,柏林,海德堡,2012年。斯普林格·弗拉格。
    [10]
    克里斯蒂安·卡达尔(Cristian Cadar)、丹尼尔·邓巴(Daniel Dunbar)和道森·恩格尔(Dawson Engler)。Klee:为复杂系统程序自动生成高覆盖率测试。OSDI’08,第209--224页。
    [11]
    Liviu Ciortea、Cristian Zamfir、Stefan Bucur、Vitaly Chipounov和George Candea。Cloud9:软件测试服务。SIGOPS操作。系统。修订版,43(4):2010年1月5日至10日。
    [12]
    Edmund Clarke、Daniel Kroening和Flavio Lerda。用于检查ANSI-C程序的工具。在《系统构建和分析的工具和算法》(TACAS 2004)中,计算机科学课堂讲稿第2988卷,第168-176页。斯普林格,2004年。
    [13]
    Edmund Clarke、Daniel Kroening和Karen Yorav。使用有界模型检查的c和verilog程序的行为一致性。《第40届设计自动化年会论文集》,DAC’03,第368-371页,美国纽约州纽约市,2003年。ACM公司。
    [14]
    Patrice Godefroid、Nils Klarlund和Koushik Sen.Dart:指导自动化随机测试。PLDI’05,第213-223页。ACM,2005年。
    [15]
    Patrice Godefroid、Michael Y.Levin和David A.Molnar。自动白盒模糊测试。NDSS,2008年。
    [16]
    Elsa L.Gunter和Doron Peled。单元检查:对代码单元进行符号模型检查。纳丘姆·德肖维茨(Nachum Dershowitz)主编,《验证:理论与实践》(Verification:Theory and Practice),《佐哈尔·曼纳(Zohar Manna)64岁生日献词》(Essays Dedicated to the Occasion of His 64 Birthday),第2772卷,《计算机科学讲稿》,第548-567页。斯普林格,2003年。
    [17]
    杰拉德·J·霍尔兹曼和德拉甘·博斯纳奇。自旋模型检查器的多核扩展设计。IEEE传输。柔和。工程,33(10):659--6742007年10月。
    [18]
    Shahid Jabbar和Stefan Edelkamp。利用线性输入/输出进行并行外部定向模型检查。VMCAI'06,第237--251页,柏林,海德堡,2006年。斯普林格·弗拉格。
    [19]
    Temesghen Kahsai和Cesare Tinelli。Pkind:基于并行k归纳的模型检查器。2011年,PDMC编辑Jiri Barnat和Keijo Heljanko,EPTCS第72卷,第55-62页。
    [20]
    萨尔夫拉兹·库尔希德(Sarfraz Khurshid)、科琳娜·斯佩斯雷努(Corina S.PSreanu)和威廉·维瑟(Willem Visser)。用于模型检查和测试的广义符号执行。TACAS'03,第553--568页。Springer-Verlag,2003年。
    [21]
    安德鲁·金。分布式并行符号执行。2009年,堪萨斯州立大学硕士论文。
    [22]
    詹姆斯·C·金。符号执行和程序测试。Commun公司。ACM,19(7):385-3941976年7月。
    [23]
    Marta Z.Kwiatkowska、Alessio Lomuscio和Hongyang Qu。时间认知逻辑的并行模型检查。在ECAI中,第543-5482010页。
    [24]
    Pradeep K.Nalla、J.Weiss、Jéijrgen Ruf、Thomas Kropf和Wolfgang Rosenstiel。使用symc进行并行有界属性检查。
    [25]
    罗伯特·帕尔默(Robert Palmer)和加内什·戈帕拉克里希南(Ganesh Gopalakrishnan)。部分降阶辅助并行模型检查(完整版。技术报告,PDMC’20022002。
    [26]
    Quoc-Sang Phan。作为dpll模理论的符号执行。2014年帝国理工学院计算机专业学生研讨会,信息学OpenAccess系列(OASIcs)第43卷,第58-65页,德国达格斯图尔,2014年。达格斯图尔宫(Schloss Dagstuhl)——莱布尼茨-泽特鲁姆(Leibniz-Zentrum fuer Informatik)。
    [27]
    Corina S.P_as_areanu和Neha Rungta。符号path_nder:java字节码的符号执行。《IEEE/ACM自动化软件工程国际会议论文集》,ASE’10,第179-180页,美国纽约州纽约市,2010年。ACM公司。
    [28]
    T.舒伯特、M.刘易斯和B.贝克尔。帕米拉-一位具有知识共享功能的并行sat求解器。2005年MTV,第29-36页,2005年。
    [29]
    Koushik Sen、Darko Marinov和Gul Agha。可爱:一个用于c.ESEC/FSE-13的共鸣单元测试引擎,第263-272页。ACM,2005年。
    [30]
    J.H.Siddiqui和S Khurshid。Parsym:并行符号执行。在ICSTE第1卷第V1-405-V1-409页,2010年。
    [31]
    Carsten Sinz、Wolfgang Blochinger和Wolfgand Kijchlin。Pasat-带引理交换的并行卫星检查:实现和应用。2001年SAT。
    [32]
    Matt Staats和Corina P_as_areanu。结构测试生成的并行符号执行。ISSTA’10,第183-194页,美国纽约州纽约市,2010年。ACM公司。
    [33]
    乌尔里希·斯特恩(Ulrich Stern)和大卫·L·迪尔(David L.Dill)。并行化murphi验证器。1997年CAV,第256-278页,英国伦敦,1997年。斯普林格·弗拉格。
    [34]
    Siert Wieringa、Matti Niemenmaa和Keijo Heljanko。Tarmo:用于并行化有界模型检查的框架。在PDMC中,第62-76页,2009年。
    [35]
    Christoph M.Wintersteiger、Youssef Hamadi和Leonardo Mendonça de Moura。并行投资组合方法求解smt。在CAV中,第715-720页,2009年。

    引用人

    查看全部

    建议

    评论

    信息和贡献者

    问询处

    发布时间

    封面图片ACM SIGSOFT软件工程说明
    ACM SIGSOFT软件工程说明 第40卷第1期
    2015年1月
    237页
    国际标准编号:0163-5948
    内政部:10.1145/2693208
    期刊目录

    出版商

    计算机协会

    美国纽约州纽约市

    出版历史

    出版:2015年2月6日
    发布于SIGSOFT体积40,问题1

    检查更新

    作者标记

    1. 有界模型校验
    2. 并发
    3. 象征性执行

    限定符

    • 研究文章

    贡献者

    其他指标

    文献计量学和引文

    文献计量学

    文章指标

    • 下载次数(过去12个月)11
    • 下载次数(最近6周)2

    其他指标

    引文

    引用人

    查看全部

    视图选项

    获取访问权限

    登录选项

    完全访问权限

    查看选项

    PDF格式

    以PDF文件查看或下载。

    PDF格式

    电子阅读器

    使用联机查看电子阅读器.

    电子阅读器

    媒体

    数字

    其他

    桌子

    分享

    分享

    共享此出版物链接

    在社交媒体上分享