泛型程序的形式验证问题的研究

来源 :宁夏大学 | 被引量 : 0次 | 上传用户:feixiete2009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
现在,计算机软件系统逐渐变得越来越复杂,本身的开发难度更是在不断增加。传统的开发方法主要依靠手工方式,效率低下、质量欠佳、正确性难以保证。泛型程序设计(Generic Programming, GP)已经变成程序设计中的另一个主要技术。目的是将一类软件表示为互操作性更强、适用的范围更广的泛型表示形式,具体的软件可通过对泛型程序的参数实例化而获得,且不降低运行效率。首先,本课题介绍了泛型程序设计以及STL的研究现状及发展,还介绍了STL的基本组件,讨论了泛型程序设计的作用以及在程序设计过程中还存在的不足之处,简单介绍了泛型程序设计与C++STL、C++模板的关系,详细介绍了形式化方法的研究内容及使用形式化方法进行程序正确性验证的重要性。其次,根据形式语义学理论和相关推理规则,选择了STL中两类算法的具体实例,即改变序列内容中的互换元素算法、一般数值计算中的函数数值计算算法,进行程序正确性的验证和证明。通过公理语义的方法,进行详细的推理验证,本文给出了具体的验证推理过程,并且得出程序正确性的验证结果。使程序的演算理论更加一般化,从而有可能在新的形式化方法方面取得一些实质性的进展。再次,本课题中还研究并总结出了泛型程序设计中的四种技术:模板偏特化、常整数映射为型别、型别对型别的映射以及一种组件泛化仿函数。其中,模板偏特化可以特化template,并非针对特定的、固定集合的参数、而是针对“吻合某个式样的一群参数”;常整数映射为型别允许在编译期以数值(特别是boolean)作为分派的取决因素;型别对型别的映射是利用函数重载来取代C++缺乏的一个特性:函数模板偏特化;编译期间侦测可转换性和继承性是判断任意两型别是否可以互相转换,或者是否为相同型别,或是否有继承关系。并且对这四种技术的程序代码作了分析和研究,实现了从一个接口向另一个接口的转换,并且转换结果是可靠的,使程序在可复用性方面有所提高。
其他文献
在计算机视觉领域,三维重建技术已成为其中的一大研究热点。而基于多视图的三维重建算法又是三维重建技术中的重要一支,该算法的核心思想是以多张对同一物体或场景从不同角度
在军用和其它用途的短波无线电通信中,由于短波无线电通信信道自身的特点以及飞机舱内的环境特点,其噪声来源异常复杂,声学环境极其恶劣,信号质量一般来讲也很差。而目前对截
随着Internet的迅速发展,尤其是World Wide Web的全球普及,Web网络上信息资源己经涵盖了社会生活的各个方面,网络信息过载(Information Overload)问题日益突出,这又促使Web挖
本体层是语义Web体系结构中的核心层,伴随着语义Web的研究热潮,对本体的理论和应用研究越来越引起学术界和工业界的重视。本体的获取和构建是本体相关研究中的一个基础性环节,而
无线传感器网络是由大量传感器节点以Ad Hoc方式构成的无线网络。密钥管理是无线传感器网络中极具挑战性的安全问题之一。在多数无线传感器网络密钥管理方案中,通常都是认为
无线Ad hoc网络以其布网灵活、易与迅速展开、系统整体抗毁能力强、不依靠预设的网络基础设施等特点可广泛应用于国防战备、抢险救灾、应对突发事件等无法得到有线网络支持或
现实生活中,企业的兼并,高校的重组,河流的汇聚,林区的连片,植物的嫁接,电网的交融等等均展示了同类对象融为整体的组合归并现象。如果从数据处理的角度考虑,并把企业、高校
当今互联网深刻地影响着人们生活的各个方面,网络在为工作和生活带来越来越多便利的同时,也引起了诸多安全和管理的问题。网络流量分类是网络管理的基础,也是检测网络恶意攻
伴随着计算机图形硬件技术不断地更新换代,各类主流三维游戏对于阴影渲染的实时性与可交互性提出了更高的要求。同时,随着大型复杂光照环境在游戏、电影及动面中的广泛应用,
词典普遍被作为一种含有大量语言学知识、常识知识的知识库。传统英语词典中一般包含词形、词性、词义、例句、习语、各种语法语用说明以及出处、领域等注解。从传统词典中提