Java程序的静态故障注入工具.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2011年 9月 内蒙古大学学报 (自然科学版) Sept. 2011 第42卷第5期 JournalofInnerMongoliaUniversity(NaturalScienceEdition) Vo1.42 No.5 文章编号:10OO~1638(2011)05-0552-08 Java程序的静态故障注入工具 刘佳翔 ,江建慧 ,靳 昂,楼俊钢 (同济大学计算机科学与技术系,上海201804) 摘要:对DrJava和5o个Java语言开源项 目的程序故障(差错)模式进行了分析,为其中一批 比较常见的故障模式构建了故障模拟操作.设计并实现了一个基于BCEL库的字节码级Java 程序故障注入系统原型,它以静态方式对 Java目标程序进行故障模式扫描和故障注入,并给 出相应的报告.对 Java示例程序所进行的故障注入实验初步验证了所开发的原型的有效性. 关键词 :Java程序;故障模式;故障模拟;故障注入工具 中图分类号 :TP311.56 文献标志码 :A 引 言 研究表明,软件故障在导致系统失效方面 占有较大的比重。.根据 Gartner公司在 1999年的统 计数据 ,8O%的系统停机是由于程序设计故障、程序与操作员或外部环境的交互引起,而传统的硬件 故障所引起的失效仅 占20 . 故障注入方法就是按照事先选定的故障模型,人为地将故障引入 目标系统中,通过观察和分析系 统在被注人故障情况下的行为,对 目标系统进行定性和定量分析.故障注入主要应用于容错机制的验 证、测试用例的筛选、系统最坏情况预测、构造可信性基准程序等. 故障模拟的精度是故障注入方法所必须考虑的重要因素.为了精确地模拟软件开发过程 中的各 类故障,必须对软件实际发生的故障进行收集、分类 ,并抽象为故障模式 ,然后从其成因和表现形式整 理出对应于 目标系统的故障模拟方案. 在 2007年 9月份 TIOBE发布的编程语言排名中,Java语言以21.2 的比例高居榜首.本文分 析了Java程序 中常见的故障模式,并为其设计 了相应的Java故障模拟操作,开发了一个字节码级Ja— va程序静态故障注入系统原型. 1 相关工作 传统的故障注人多用于研究容错机制的验证。,如 Fiat、Ferrari、Xception等 ,但主要集中在硬件 故障的模拟上. 近年来,研究者们越来越多地采用软件实现的故障注入方法.它采用程序或者脚本来控制故障注 入的全过程,以避免额外的硬件花费,并且具有更大程度 的灵活性.这种方法主要用于评测应用程序 和操作系统,对于应用程序 ,一般是在操作系统上构造故障注入层或者直接在应用程序上实施注入 ; 而对于操作系统,则要将故障注入机制内嵌到操作系统当中或者虚拟机之中.其所能模拟的故障类型 * 收稿 日期 :2011—06-27 基金项 目:国家高技术研究发展计划 (No.2007AA01Z142) 作者简介:刘佳翔 (1985一),男 ,上海人,硕士.主要从事可信计算研究.E-mail:xiangshi2005liu@hotmail.corn. 通信作者:江建慧(1964一),男,浙江淳安人,教授,博士生导师,博士.主要从事可信系统与网络、软件可靠性工 程 、VLSI/SoC测试与容错研究.E-mail:jhjiang@tongji.edu.cn. 第 5期 刘佳翔 等 Java程序的静态故障注入工具 既包括部分硬件故障,也包括软件设计方面的故障. 针对软件故障的模拟,文献C33利用变异技术来实施故障注入,它统计了常用的9个程序中500 多个高级语言故障,并且针对 IA32结构提出了一套故障模拟操作.针对 8种故障及其变异操作,以 Lzari、Camelot、Gzip三个程序为工作负载进行了实验 ,结果表明,在施加了变异操作后的程序所运行 的结果与直接修改源代码后所得到的可执行文件 的统计结果是 比较符合的.ESFFI所强调的是在系 统运行时,只要启动 ESFFI引擎,就可以针对任何正在运行的程序实施故障注入 .虽然它也选取了 正交缺陷分类(ODC)故障类 中的故障,但

文档评论(0)

lingyun51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档