当前位置:问答库>论文摘要

题目:工业控制软件的自动化错误定位技术研究

关键词:符号执行,光谱定位,约束求解,启发式搜索

  摘要



软件测试的整个过程大致可分为设计测试用例、测试、检查测试结果、调试程序和修复缺陷五个阶段。错误定位及修复是软件测试过程中最耗时、代价最昂贵的,关于自动化错误定位的任何改进都可以大大降低测试成本。

工业控制软件因其自身的周期性,时序性和参数性等特点,更难进行自动化错误定位,现有的软件测试技术虽然在一般程序的错误定位上取得了比较理想的定位结果,但是无法直接应用到工业控制软件,尤其是反应式系统上。

本文研究的方法为基于单用例的错误定位法,以基于符号执行的测试用例生成技术和基于光谱的错误定位技术为基础,并增加了基于路径约束相似度的路径生成策略。为了将本文的单用例错误定位方法应用于工业控制软件,本文提出了符号化变量筛选思想和一个用于求解复杂路径约束的混合约束求解方法。本文将工业控制软件的程序输入变量分类为配置参数和控制变量,其中配置参数设置错误,更适合采用Delta Debugging方法高效定位,而其他程序错误可以采用符号化筛选策略。混合约束求解方法采用了约束求解器和启发式搜索两种求解方法分别求解简单约束和复杂约束,充分利用了两种求解方法的优势,并且本文对交替变量法进行了改进,提出了搜索目标优化,搜索变量优化,目标函数优化和更新搜索起点四个搜索优化策略。

基于上述研究成果,本文实现了一个拥有测试用例生成和错误定位两大功能的系统Hybrid,并对符号化变量筛选的必要性,复杂约束求解工具的求解性能和基于单用例的错误定位方法的有效性三个问题进行了实验验证。实验结果表明筛选符号化变量可以明显缩短测试用例生成时间,混和约束求解工具比STP约束求解器在求解时间上平均缩短了80%以上,在语句覆盖率和分支覆盖率上平均提高了20%,Hybrid系统可以有效定位一个嵌入式控制系统的三个程序错误,其中两个错误都得到了很好的定位结果。