软件检查工具PKUnityCC的研究与实践

来源 :北京大学 | 被引量 : 0次 | 上传用户:aji_y
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
系统软件的开发有着调试困难、测试方法有限、开发周期长、对系统稳定性和性能影响大等特点,因此除了良好的调试手段、开发过程和编码风格之外,研究和开发保证系统软件可靠性的工具成为一种必然。 本文系统地调研了保证软件可靠性的方法,从代码覆盖率、对人力的需求、适用场景等角度讨论了它们的异同。并且,本文通过研究Linux2.2内核约10万行的补丁文件以及有关C语言编码错误分类的文献,讨论了Linux内核等系统软件中容易出现的错误,并作了分类。基于以上两方面的调研和讨论,本文从软件可靠性方法中选取了一种适应于系统软件特点的方法—基于编译的静态方法,并在lcc编译器的宏预处理器、语法分析部分,Ctree和Ctool前端以及贝尔实验室的UNO静态工具的基础上设计、实现了一个静态代码检查工具:PKUnityCC。PKUnityCC工具能够分层次地在宏预处理、语法分析、类型检查以及问题域相关的语义分析等层面上检查系统软件的源代码,从中找出落入本文分类的可能的编码错误。从设计可以看出,PKUnityCC同样可以适用于应用软件。 根据北大众志网络计算机软件系统的特点,PKUnityCC工具对UNIQBIOS,Linux内核以及Rdesktop软件进行了检查,并且发现了其中的编码错误。实验证明,PKUnityCC工具能够较有效地检查系统软件源代码的可能错误。
其他文献
随着Internet不断发展,网络带宽不断增加,网络行为不断复杂化,原有的网络监测手段无法适应现代网络的高速率与高带宽,无法满足现代网络管理的需求。流量数据的采集是监测网络行为
M.Alekhnovich等人最近提出了一种覆盖了贪心法、回溯法和简单动态规划法的算法模型,称为BT模型,证明了一些NP完全问题的精确算法和近似算法在这个模型下的指数时间下界(M.Alek
随着大数据时代的到来,在过去的十几年间,互联网、云计算、大数据等方面的技术飞速发展。据统计,全球产生的信息量正以每天2.5EB的速度增长。在此背景之下,数据中心技术迅速发展
由于中间件技术在屏蔽异构性问题和底层基础技术细节方面优势显著,因此中间件技术在企业IT环境内外得到了广泛的应用。消息中间件是中间件的一种,最初是用来解决企业内部异构的
集装箱自动引导车(AGV)是工作在集装箱码头的自动化搬运设备。现有的集装箱AGV大多是采用电磁感应的引导方法,它需要在地面埋设用于产生电磁场的电缆,因此地面施工量大、改道不
嵌入式操作系统电源管理的目标是根据系统运行时任务特征和性能要求,利用硬件提供的控制能耗的措施,控制硬件的能耗状态,从而在保证任务的性能的前提下,最大限度地节省电能的消耗
客户流失分析是移动数据仓库中数据挖掘模型建设的重要模型之一,其主要目的是对移动客户基本信息和过去一段时间内的历史呼叫记录进行挖掘分析,提取出客户离网倾向的信息,这样移
开发人员对软件的约束性需求的重视程度一直低于功能性需求。随着软件规模与复杂性的增加,以及网络环境带来的运行环境复杂化,使得软件在运行时刻出错的几率大大增加。因此对软
随着Internet及其技术的高速发展,Web已经成为人们获取新闻信息的重要来源。Web信息提取和集成系统把网页中这些相关数据提取出来,集成到XML或者关系数据库中,提供结构化查询、
工作流技术是实现企业业务过程建模、过程管理与过程自动化的核心技术。随着信息技术的发展和计算机应用的普及,工作流技术正在受到越来越多的关注。在与工作流相关的各类技术