[发明专利]一种基于语法树的程序正确性验证方法在审

专利信息
申请号: 200810060942.3 申请日: 2008-04-08
公开(公告)号: CN101261602A 公开(公告)日: 2008-09-10
发明(设计)人: 吴卿;胡维华;谢红标;周必水 申请(专利权)人: 杭州电子科技大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 杭州求是专利事务所有限公司 代理人: 张法高
地址: 310018浙江省*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种程序设计正确性验证的方法。目前进行程序正确性验证方法效率低、验证的准确性不够。本发明方法具体包括:采用XML的格式将源程序转换为程序语法树;对程序语法树进行优化;使用XPath语句对优化后的程序语法树进行表达,每一条XPath语句都对应一个权重;利用XPath路径的匹配方法验证源程序整体的正确性;对待验证树中的单条路径进行验证;对待验证树中的全路径进行验证。本发明方法可以准确验证源程序的准确性,同时效率比现有方法大大提高。
搜索关键词: 一种 基于 语法 程序 正确性 验证 方法
【主权项】:
1.一种基于语法树的程序正确性验证方法,其特征在于该方法的具体步骤包括:1)采用XML的格式将源程序转换为程序语法树,具体方法是:分析待验证程序的语义信息,转换成XML格式的语义表达,映射为一棵无序标签树;其中,程序名及程序中的各元素转化为相应层次的父节点和子节点;程序中的操作符、操作数为叶子节点;使用一个虚拟根节点将所有节点进行组合;2)对程序语法树进行优化,具体方法是:采用常量合并、同类语义合并、无用变量删除以及复杂表达式拆分的方法对1)中的程序语法树进行分析,排除语义的多样性,使同一功能呈现同一的语法树表现形式;3)使用XPath语句对2)中的优化后的程序语法树进行表达,每一条XPath语句都对应一个权重,具体方法是:①对于XPath语句组中的每一条XPath语句依次检验,如果XPath语句在待验证语法树中查询结果与在匹配树中的查询结果一致,则此XPath语句对应的权重值累加到作为结果的匹配度中;②一组XPath语句查询完成,生成匹配树,将得到的匹配度作为最小匹配代价;4)利用XPath路径的匹配方法验证源程序整体的正确性,具体方法是:将匹配树与每一待验证树进行比较,取匹配树的每条路径并在待验证树中查找对应路径根节点;如果未找到该根节点,则完全不匹配,源程序整体错误,退出验证;如果找到该根节点,则进入5);5)对待验证树中的单条路径进行验证,如果待验证树中的节点n是查询树的第k条路径的根节点,并且与以节点n为根的子树和匹配树中的第k条路径相匹配,则待验证树与匹配树在其第k条路径上匹配,即验证第k条路径所对应的源程序正确;6)通过5)对待验证树中的全路径进行验证,如果部分路径上匹配,则对应该路径的源程序正确;如果所有路径上匹配,则源程序整体正确。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200810060942.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top