文档介绍:湖南大学
硕士学位论文
基于Windows API的通用型缺陷植入模型的研究与设计
姓名:李磊
申请学位级别:硕士
专业:软件工程
指导教师:谢冬青;王如龙
20051020
摘要随着机使用的范围越来越广,平台上的通用型软件变得越来越复杂,造成这些软件出错的原因绝大部分是来自于软件自身的。对于平台上的软件,同样有提高可靠性的需要。但是,传统的缺陷植入技术思想专注于制造精确的比特级错误,而且往往依赖于强大的硬件平台。在平台上,受到经济性的制约,硬件平台本身无法确保不产生错误,软件设计中也仅仅是假设硬件不出错,这是一个关键的区别。传统缺陷植入技术的不足正是由于过份依赖容错计算平台,而平台不具备高级容错特性,或者实现成本过高。本文首先按照缺陷植入的技术思想,针对平台上应用最普遍的应用程序,提出了一个完整的运行时缺陷植入模型,将缺陷植入的重点定为程序运行时间的环境因素。该模型使用基于模式的缺陷植入策略,选择在实际应用中最可能出现的缺陷,划分为内存、磁盘、网络及注册表等模块,可以满足应用程序的缺陷植入测试需要。其次从实现技术上做了分析,使用际酰ㄒ逡桓鲋屑浯砗数,截获待测应用程序发出的特定系统调用消息,转嫁给缺陷植入环境的替代函数,在这个替代函数中,依照事先定义好的缺陷种类,产生不同的返回值和错误代码,再将返回值和错误代码返回给应用程序,可以达到植入特定类型缺陷的目最后,本文给出了这一运行时缺陷植入模型功能和接口的详细设计及实现,按照内存、磁盘、网络和注册表四个模块归纳了每个模块可植入的缺陷列表,针对每个缺陷给出了可导致该缺陷的砸桓鰔文件定义了这种缺陷一亩杂叵担缓笊杓聘媚P偷牡饔梅椒ê徒涌诤Mü笛榻峁以看出该模型简单有效的反映了软件的缺陷。本文提出的设计综合了传统缺陷植入的思想和平台的技术特点,有效的实现了平台上通用型软件的缺陷植入测试,可以大大提高软件设计、开发和测试的效率。关键词:缺陷植入:软件测试:容错计算:系统可靠性:的。
篺籛甒籹痝甌’瓸,.,甋甶,,..,甀,籪—籹,
插图索引图缺陷植入环境的基本组成⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..图淖芴褰峁埂环境的示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯肪车淖槌伞图三种不同的截获系统调用方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.τ贸绦蚴疽馔肌对象的肌对象的硎就肌图重写二进制代码的示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.图模型架构示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..图调用截获函数示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一执行示意图⋯⋯⋯.⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯.⋯⋯⋯..图模块设计示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.募巍图毕葜踩牖肪吃诵薪赝肌图测试页面⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯图限制的可用内存⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯图出错信息⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯图轻量级缺陷植入模型执行示意图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯一
附表索引表缺陷植入技术的实现方法⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表各种缺陷植入技术的特性比较⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表内存模块的缺陷列表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表网络模块的缺陷列表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表磁盘模块的缺陷列表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表注册表模块的缺陷列表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表进程与库文件的缺陷列表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表错误返回代码⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表昵表标签⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表昵表标签⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯表舳绦蚧蚍瘛表獬绦蚝头窨刂啤表锹伎刂啤表试聪拗频目刂啤表毕葜踩肟刂啤表糠质笛槭荨
湖南大学学位论文原创性声明学位论文版权使用授权书日期:,年月日期:歹啪,年,,月,。日人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个由本人承担。作者签名:日期:年本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位本学位论文属于⒈C芸冢年解密后