- 1、本文档共55页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序验证与自动分析工具研讨会2005.3上海.
程序验证与自动分析工具研讨会 2005.3 上海 郝克刚 西北大学计算机科学系 软件工程研究所 提纲 引言 程序有穷状态验证方法及其局限性分析 程序有穷路径验证方法 程序路径测试方法 结束语 1, 引言 Lori A. Clarke: Finite State Verification: An Emerging Technology for Validating Software Systems. Clarke 教授 2003 在上海的演讲。/Expert/exp-Lori.asp Lori A. Clarke, : FLAVERS:A Finite State Verification Approach for Software Systems. Clarke 教授 2004.10 在西北大学的演讲。/hkg/docs/ 程序有穷状态验证方法 是介于程序验证和程序测试之间的一种方法。 2, 程序有穷状态验证方法简介及其局限性分析 FLAVERS (FLow Analysis for VERification of Systems)是美国麻省Amherst大学先进软件工程研究实验室研发的支持有穷状态验证方法的工具 有穷状态验证方法的局限性 首先,它所验证的是系统是否满足定义的行为性质(Behavioral Properties),而不是断定系统是否满足定义的规约(Specification)。 其次,它要求所论证的性质是表现为程序执行中某些关心的事件出现序列的集合,而且限定是能由有穷自动机所接受的事件序列表示的的集合,或等价地说该性质能表示成为正则表达式。 众所周知,有穷自动机所能接受的语言类,按Chomsky字的集合的分类是很小的类。 于是就产生了问题:能否找出新的验证方法,突破这种关于有穷自动机的限制?下面是我们所作的尝试。 3, 程序有穷路径验证方法 我们先从一个例子说起。假定我们编了一个程序,在程序中用了一个栈,要分别使用put和get调用这个栈进行“进栈”和“退栈”的动作。 为了验证程序的正确性,我们想验证put和get调用的序列是合适的,即验证程序是否满足如下性质:put和get的调用严格配对。 也就是说,要求栈在程序开始和终止时为空,get必须在栈不空时调用。例如下述序列就满足此性质: put get put put put get get put put get get get 突破程序有穷验证方法局限性 熟悉自动机理论的读者肯定知道,满足这样性质的序列集合是不可能用有穷自动机接受的。它是由如下文法生成的语言: S ? ε | put S get | S S 接受这种语言的至少是下推自动机,可见用有穷验证方法是验证不了这种性质的。 为了突破程序有穷验证方法局限性,我们尝试提出了一种新的方法,称为“有穷路径验证法”。在这种方法中,表示所论证的性质的自动机可以推广到使用任何一类自动机,如下推自动机、线性有界自动机甚至图灵机等。 基本有向图 定义3.1 我们称一个有向图是基本有向图,如果它仅有一个始点和一个终点,而且对图中任何节点,都有从始点到此节点的路径和从此节点到终点的路径。所谓始点是指无入边的节点,终点是指无出边的节点。 定理3.1. 对于基本有向图,从始点到终点的所有路径都是无重复节点的必要充分条件是此有向图是无环的。 定理3.2. 定理3.2. 对于基本有向图,从始点到终点的所有不同的无重复节点的路径的个数是有穷的。 证明 对于由有穷节点组成的有向图,它的任何无重复节点的路径的长度肯定是有穷的 (小于节点个数)。所以,从始点到终点的所有不同的无重复节点的路径的个数是有穷的。 求从始点到终点所有无重复节点路径的算法 算法3.1 算法对基本有向图T中所有节点 Ni,求出从始点到达此点 Ni 所有可能的无重复节点的路径集合 L(Ni)。 对于终点Z,L(Z) 即是T中从始点到终点的所有不同的无重复节点的路径的集合。 有穷路径验证方法 这种方法突破了有穷验证方法的限制,所论证的性质表示可以推广到使用任何一类自动机。 作为代价,描写系统的模型限制是无环的,而且在较复杂的情况下,算法的复杂度会增加,但是仍不失为一种有效的验证方法。 对于有环的描写系统的模型,本文提出了一种称之为“路径测试”的方法。与一般的程序测试方法不同的是这里的测试相对于性质和模型的路径,而不执行实际的程序。 路径测试方法的关键是产生测试路径。 定义4.1 对
您可能关注的文档
最近下载
- 中国华电集团公司电力安全工作规程(水力机械部分山东审定稿)20121116.doc
- CAAC无人机理论考试题库及答案(2024修订版).docx
- 《通往夏天的隧道 再见的出口》读书笔记思维导图.pptx VIP
- 近五年天津中考英语真题及答案2024.docx VIP
- 附件2:汽车专访.pdf VIP
- 二值的黑白图像(教学设计)-2024-2025学年人教版(2024)小学信息技术四年级全一册.docx VIP
- 小学文言文教学的基本策略.ppt
- 2024年10月自考00908网络营销与策划试题及答案含评分参考.pdf
- 2024年中考模拟试卷语文(北京卷).docx VIP
- 社区全职妈妈赋能项目方案设计.pdf
文档评论(0)