程序设计语言中动态内存管理故障测试模型的研究

来源 :郑州大学 | 被引量 : 0次 | 上传用户:rfvbgtyhnmju
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着信息技术的发展,软件的规模不断扩大,如何保证和提高软件质量成为软件界最为关心的问题之一。软件测试作为保证软件质量的关键技术之一,能够有效地发现软件中的故障。据统计,在软件开发成本中,软件测试的工作量往往占软件开发总工作量的40%以上。对于某些安全关键的软件,其测试费用甚至高达所有其它软件工程阶段费用总和的三到五倍。因而,提高软件测试的有效性和测试效率、降低软件开发成本已成为软件工程师迫切需要解决的任务之一。软件测试方法分为两种:动态方法和静态方法。两者的区别在于是否需要执行程序。需要执行程序的测试方法称为动态方法,不需要执行程序的为静态方法。动态方法的主要缺点是只能依靠运行特定测试用例来检测故障,因而不能检测所有故障,只能检测测试用例覆盖到的故障。此外,动态测试工具的执行开销也相当高,有时是不可接受的。静态方法不需要执行程序,而是对源代码进行分析,从而找出潜在的故障。该方法没有执行开销,但要做大量的分析工作。静态分析的精确度取决于对程序抽象语义的表达。本文比较系统地分析了C++中几种典型的能导致系统崩溃的动态内存错误,提出了一种面向故障的静态检测方法,由于动态内存错误检测中不可避免地涉及到别名问题,因此本文深入研究了别名近似算法。然后以内存泄漏故障为研究对象,提出了一个基于别名分析的内存泄漏检测方法。最后,给出了该算法的实测结果。
其他文献
随着我国信息自动化技术的普及,人工超表的方式显得日益落伍,用信息自动化技术进行抄表方式的改造,势在必行。但是我国10KV以下的电力网络,由于其主要分布在城市市区内,不仅地理分布复杂而且数量众多。以往采用的诸如:电力载波通讯、电话网络通讯、RS485、光缆通讯、局部无线通讯等,或多或少存在着一些弊病,如:电话通讯系统速度缓慢;光缆通讯方式造价高、施工困难等。因此在10 KV以下电力网络中,实时数据监
随着信息技术的飞速发展,在计算机支持的协同学习(Computer-SupportedCollaborative Learning,简称CSCL)的研究领域中,协同感知已成为该领域内的一个十分活跃的研究方向。它的目
在大多数的中小企业的生产计划与排产过程中,目前对生产线上的排产工作很大程度上依赖于有经验的老师傅与相关专家人工调整进行,很容易因为疏忽或者是先天的限制产生错误的判断
现今,在嵌入式控制领域里,面对各种设备控制功能需求的不断增长,以往所采用的8位嵌入式处理器已经不能满足需求。随着EDA技术的发展,设计一种面向某一类设备的专用处理器已经成为
SIP协议因其简单、灵活的技术特点,正在逐步代替原有的H.323协议成为IP语音技术(VoIP)的信令核心协议,基于SIP的VoIP终端研究也随之成为一个热点。然而,目前大多数终端的研究
本论文以高校教学管理系统为研究对象,在严格依照软件开发流程开发高校教学管理系统的基础上,对软件开发方法、软件体系结构、关键技术作了较为深入的研究。主要内容为: 第一
访问控制是信息安全保障机制的核心内容,是实现数据保密性和完整性机制的主要手段。 本文首先介绍了访问控制的现状,随之总结自主访问控制和强制访问控制两种传统访问控制
显微镜下的脑脊液(Cerebrospinal Fluid,CSF)图像由各种细胞组成,其拓扑结构复杂多变,采用传统图像分割算法需要对目标进行高精度完整的分割,才能准确的提取到人为事先定义的
随着Web信息的快速增长,搜索引擎已成为用户信息检索的主要工具。元搜索引擎综合了多个搜索引擎的搜索结果,提高了搜索的覆盖率,但是它们返回的结果往往数目庞大,并且很多结
目前,Internet正以惊人的速度在飞速发展,其应用已经渗透到各行各业,越来越多的公司、机构、个人在Internet上发布和查找消息。Internet上不仅充满了文本、音频和视频等多媒体信