基于关系数据理论的函数型程序似然不变量动态检测方法-计算机应用技术专业论文.docxVIP

基于关系数据理论的函数型程序似然不变量动态检测方法-计算机应用技术专业论文.docx

  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文档。上传文档
查看更多
基于关系数据理论的函数型程序似然不变量动态检测方法-计算机应用技术专业论文

I I 摘 要 随着计算机技术的发展,软件在各个行业得到广泛的应用,人们对软件的质量 和安全也得到更为广泛的关注。对如何提高软件质量的问题人们已经从软件开发方 法、软件开发过程管理、软件开发工具等多个方面加以研究,取得了一定的成绩。 基于合约的软件开发是其中十分重要且得到广泛应用的一种技术。软件合约是指软 件中必须遵守的规则。开发者和执行者通过遵守这些合约来保证软件的质量。从不 同的层面合约可分为语法合约、数据合约、行为合约和服务合约。程序不变量是数 据合约的一种形式。程序不变量对于程序演进与重构、程序测试与排错、辅助定理 证明、构件升级替换都有重要作用。由于大多数软件开发时都没有书写形式化文档, 程序不变量在程序中很少被清楚地表示出来。如何从程序中发现这些隐含的没有被 程序员写出来的程序不变量成为实现高层次行为合约、提高程序质量的关键。 本文重点研究如何使用动态检测技术发现程序中函数型似然不变量。论文首先 介绍了不变量动态检测技术及其主要的两个实现工具:Daikon 和 DIDUCE,并分析 了它们在编配工具和不变量检测方法上存在的不足。然后运用面向对象的软件开发 方法,设计并实现了一个新的基于关系数据库的编配工具。新的编配工具具有易用、 灵活等特点。结合关系数据理论,针对函数型不变量提出了一个启发式不变量检测 方法。该方法通过函数推导技术首先确定待检变量中是否存在函数依赖关系,然后 再进行函数解析式推导,解决了传统似然不变量检测方法中存在的盲目性问题。并 对新方法和传统方法进行了对比实验分析,实验结果表明新方法的可靠性与检测效 率明显优于传统方法。 关键词:函数型程序似然不变量;编配工具;函数依赖;动态检测;软件质量 II II Dynamically Detecting Function likely program invariants Based on Relational Database Theory ABSTRACT Along with the devolepment of computer science, softwares are widely applied in kinds of business. The quality and security of software cause more serious attention than before. In order to guarantee the quality of software, people has researched various respects such as software developing methods, management of software development process and software developing tools and made a good progress. Design by contract is a very important widely applied method of building quality software.Contracts are formal specifications that must be followed when developping software, which can be classified into four levels,grammer contract,data contract,behavior contract and service contract.Software supplier and client ensure qualify by organizing their collaboration on the basis of those contracts. Invariant is the basic fabric of data contract, which is valueable for program revolution, verification, rebuilding, testing, debugging and updating. However most software are lack of specified documents, invariants are not explicitly stated.To discovery the implicit invariants from program is essential for implementing behaviour constract and improving the program reli

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档