基于抽象解释的嵌入式程序不变量静态测试研究与实现

来源 :南京航空航天大学 | 被引量 : 1次 | 上传用户:yiran87
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
嵌入式软件静态测试不运行程序,对软件的专用性、实时性和嵌入性依赖度低,因而成为嵌入式软件质量保证和成本缩减的重要措施。软件特性及结构作为重要的测试对象,能够揭示潜在的错误,提高测试的准确度,然而有关软件特性及结构的嵌入式静态测试较少。程序不变量是性质不变的数据合约形式,能够表现软件各变量的关联特性,及时更新软件系统的说明文档、算法、数据结构等方面的信息,还可以确定错误的位置,因此采用程序不变量进行嵌入式软件特性及结构方面的静态测试。本文基于抽象解释理论,提出了一种针对嵌入式C源代码的程序不变量静态获取方法。通过基础分析来构造被测程序的抽象域图;遍历抽象域图进行抽象执行得出被测程序中可执行路径;结合程序不变量的重复性符号化执行可执行路径,获取具有函数关系及集合关系的初始程序不变量。该方法能够有效地解决复杂问题的逼近求解,减少系统的开销。本文在多项式关系与程序不变量联系研究的基础上,提出了程序不变量验测方法。通过被测程序中可执行路径确定多项式程序与最弱前置条件;将初始程序不变量转化成多项式关系;抽象分析多项式关系在多项式程序的目标结点处正确与否,完成程序不变量正确性的验证。通过词法分析、语法分析检测出规范性的静态错误;结合软件需求规格说明或设计文档检测正确的程序不变量,发现数值范围、文档除零等静态错误。该方法剔除了似然程序不变量,提高了检测的正确度和效率。最后,本文利用VC++2005实现了程序不变量静态测试系统,并以嵌入式Linux环境下的实例代码对其进行验证,通过实际结果与预期要求的一致性证明了本系统设计的可行性与正确性。
其他文献
阴影是得到高质量图形的最重要因素之一,阴影可以为三维场景中的物体的相对何置提供视觉线索,使得整个场景更易于理解,阴影也直接提高了图像的真实感,并且使得创建复杂的光照效果
对飞行器更高、更快、更远的追求一直激励着航空航天科研工作者不断努力。新世纪的军事、民用的需要对航空、航天提出了更高层次的要求。传统的航天飞机由于其发射及维修成本
本论文以甚高分辨率军用侦察卫星为背景,研究基于反作用飞轮与推力器联合控制的快速姿态机动问题,针对反作用飞轮能力受限、推力器控制精度不高的缺点,研究联合控制策略、切
结合国家科技重大专项、国家自然科学基金项目及航空航天制造企业的实际需求,针对复杂结构件加工特征定义适用性差,难以支持不同零件结构及不同工艺水平下复杂结构件数控加工
气动稳定性是衡量压气机性能的重要指标。发展高性能航空发动机对压气机提出了更为严苛的要求,压气机的稳定性问题变得尤为突出。过去几十年来,从认识失稳机理到工程中的稳定性
本课题来源于国家自然科学基金,主要是为了研制一种便携式高精度动态压电陶瓷驱动电源。随着压电陶瓷应用领域的不断扩大,很多工作场合需要直接将驱动电源内嵌在设备中,这就要求
模块化设计是目前所流行的一种新的设计概念和方法。由于市场对机电产品的性能和质量等方面的要求越来越高,传统的设计方法已难满足,因此出现了模块化设计方法。模块化设计在
本文以火星探测为背景,研究了基于不变流形的小推力地-火轨道转移的优化设计问题。首先将轨道转移分为地球停泊轨道到日-地Halo轨道转移和日-地Halo轨道到日-火Halo轨道转移两
随着科技的不断进步,对于海洋的不断探索与开拓,单船舶作业已经不能满足人类的需求,因此多船舶的协作问题日趋重要。而要解决多船舶协作问题,首要解决的便是多船舶编队问题,