论文部分内容阅读
嵌入式系统是促进信息化与工业化融合的核心技术,是信息技术中发展最快、应用最广的技术。嵌入式系统技术的发展,正在成为中国嵌入式系统产业发展和带动IT产业发展的新增长点。不过,在软硬件技术日益发展的同时,尤其是软件系统规模的不断扩大与复杂性不断提高,由于软件缺陷而造成的损失与灾难也在不断增加。软件中所隐含的缺陷的数目在很大程度上影响着软件的可靠性,准确定位缺陷是消除软件中缺陷的重要一步,而缺陷定位的及时性与精确性也就直接影响着整个软件的质量。因此,如何在嵌入式软件发布之前能够准确而快速地发现缺陷所在位置是一个具有十分重要意义的课题。
本文首先介绍了软件缺陷的相关理论知识,并重点对软件缺陷的数据采集方法进行研究。尤其是目前国内外在软件缺陷定位方面所做的研究工作进行了详细的分析比较,接着,我们在此基础上提出了一种基于动态测试的缺陷定位方法和另一种基于静态分析的缺陷定位方法。
动态测试缺陷定位的核心问题就是如何正确无误并及时地获取到测试结果数据,同时,在对测试数据进行如何的处理分析就可以准确地定位出缺陷。基于动态测试的缺陷定位方法模型有四个模块,分别为程序模块的划分,测试数据的采集,测试用例的归类选择以及最后的模块缺陷度的计算。最后,按照缺陷度从小到大的顺序进行缺陷的查找排除。基于静态分析缺陷定位,主要是针对嵌入式软件中经常出现的堆栈溢出情况进行分析。通过分析源程序在编译过程中产生的汇编文件计算出程序中每个函数内部的堆栈大小,再经过分析源程序的RTL代码得到程序中函数的调用关系。最后通过综合分析得出可能发生堆栈溢出的程序模块列表。
本文从不同的角度对缺陷定位问题提出了解决方案,并在实现策略以及算法上给出了详细的描述,最后还通过实例进行了验证,证明了解决方法的可行。在文章的最后,论文对研究工作进行了总结,并对下一步工作做出了展望。