基于约束的Prolog语义及其在Prolog程序测试、分析及验证中的应用研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:Happyboy123456
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
以Prolog为代表的逻辑程序设计(LP)语言是一类重要的人工智能应用语言。其主要特点是问题描述和问题求解过程的分离。如何利用LP语言开发正确可靠的应用软件系统是逻辑程序设计研究的热点之一。本文以基于约束的Prolog形式语义和抽象解释理论为工具,对Prolog程序测试、调试、分析和验证过程中遇到的问题进行了探索和研究。课题得到了国家自然科学基金和广西科学基金的资助。论文主要研究结果包括:1)针对现有Prolog语义在描述与程序点相关程序性质上的不足,给出了一种携带路径信息并允许cut操作的Prolog抽象语法,并基于此给出了一种Prolog操作语义、目标独立的标号树语义和D-标号树语义,证明了标号树语义和D-标号树语义相对于操作语义的正确性。2)作为D-标号树语义的抽象,给出了一种独立于目标的Prolog路径依赖部分解语义。由该语义可计算任意目标的执行过程中在每一个程序点获得的部分解。利用现有的语义抽象技术该语义可以抽象为一个有限可计算的语义,从而可进行目标独立的Prolog程序分析。3)把Prolog路径依赖部分解语义用于基于抽象解释的Prolog程序验证,给出了一种验证与Prolog程序点相关联程序性质的方法。本文例子表明了该验证方法的有效性。4)给出了一种综合的逻辑程序测试和调试框架,基于该框架的逻辑程序测试和调试算法可减少对调试过程不必要的调用,从而提高软件开发的效率。在一种基于约束的Prolog计算解语义(该语义可视为D-标号树语义的抽象)的基础上,给出了该框架的一个实例,说明了该框架的应用。5)以Prolog程序控制流图的隐式表示为基础,给出了一种基于调用模式语义的Prolog程序测试用例生成方法。所使用的调用模式语义可视为D-标号树语义的另一抽象。与由于显式控制流图规模庞大而不得不采用不完整控制流图的Prolog程序测试相比,隐式表示中包含完整的控制流信息,且允许测试人员通过适当的语义抽象灵活地适应测试的要求。6)研究了调用模式语义在Prolog程序CPM(Category Partitioning Method)测试中的应用,给出了一种对CPM测试帧进行缩减和精化的新途径。与程序实现相关的知识被用于CPM测试帧的更新。相对于本文关心的程序错误的检测而言,该更新保持了传统CPM测试的有效性。为了说明本方法的有效性,给出了一种基于约束的近似调用模式语义,并举例演示了基于该语义的测试帧更新方法。
其他文献
<正> 《药理实验方法学》是一部重要的工具书,一向为教学、研究所必备。中药药理的实验方法书,更为研究中药原理探讨其作用奥秘的不可缺少的读物。有切实可行的科学的实用的
市场风险是指因市场价格(利率、汇率、股票价格和商品价格)的不利变动而使银行表内和表外业务发生损失的风险。在银行经营、投资过程中,由于以上市场因素影响,带来了其持有的
通过实验室M-T实验研究,分析锚杆预紧扭矩与轴向预应力的对应关系;利用FLAC3D数值模拟软件对锚杆预应力在巷道围岩中的扩散状态、锚杆预应力与巷道支护效果的关系进行了系统
本文论述了“牺盟会”的成立背景、组织机构和人员构成、开展的活动以及阎锡山在抗日战争正面战场上对抗战的贡献。“牺盟会”这一中国特定历史条件下的抗日民族统一战线组织
低密度奇偶检验(LDPC)码是一类可以用非常稀疏的奇偶校验矩阵定义的线性分组码。最初是由Gallager在1962年提出的,也称Gallager码。Mackay等人重新发现了它,并且证明它在基于
辩论赛是以辩论为内容的一种比赛。辩论赛中把辩论队员分成两组,各组依据一定的规则陈述自己的观点和反驳对方的观点,并由评判团评出胜负,是一种有组织的论辩活动。目前对辩
在小学语文教学中,教学儿歌发挥着十分重要的作用。教学儿歌以其独特的教学作用与特殊的艺术魅力在小学语文教学中被广泛应用。本文探讨了小学语文教学儿歌在小学语文教学中
随着内外蒙古相继纳入清朝版图,清廷治理蒙古的方略也渐趋完善和成熟。清廷先后颁布了《盛京定例》、《蒙古律书》、《蒙古律》等法令,在此基础上,到乾隆六年(1741),《蒙古律
本文以iXXXXX手机铝外壳为研究对象,用质量管理统计工具,分析各关键质量特性参数,并给予如何控制的具体应用研究。根据外壳工艺过程的潜在失效模式及效应分析,结果表明外壳的
本文从中西方建筑文化入手,以中西方传统建筑中不同类别的门为研究对象,以差异为基础,从设计艺术学、美学的角度对中西方传统建筑中入口设计的形式美法则、装饰素材、物质载