论文部分内容阅读
任何一种软件在投入使用之前必须进行大量的测试来保证该软件的可靠性。变异测试作为一种面向缺陷检测的测试方法,既可以用来生成高质量的测试数据,又可以用于评价已有测试数据的检错能力。变异测试首先需要解决的问题,就是利用一定的变异算子生成相应的变异体。然而,传统变异测试方法生成的变异体数量极其庞大,导致变异测试的代价非常高;另外,有些变异体与原程序的语义非常接近,利用传统方法生成的测试数据很难杀死这些变异体。因此,如何采用有针对性的理论和方法,生成尽可能少并且性能较好的变异体,是变异测试领域急需解决的困难问题。变异体能够被杀死的难易程度,主要取决于变异语句和原语句之间的语句相关性。鉴于此,本文主要研究基于语义相关性的变异体约简理论与方法,通过研究,得到每个操作符产生的变异语句与原语句之间的语义相关性分布规律,并基于语义相关性对操作符进行约简,从而大幅度减少变异体的数量,提高变异测试的效率和质量。首先,对五类变异算子的语义相关性进行统计分析,得到其变异算子的分布规律。为了解决该问题,首先,给出操作符作用前后语句之间语义相关性的量化概念;然后,通过统计策略和静态分析策略对变异算子的语义相关性进行统计;最后,用MATLAB软件得到变异算子的语义相关性的拟合曲线及其分布函数表达式。其次,基于变异算子的语义相关性来对变异算子进行约简,以减少变异体的数量。首先,采用模糊数学方法和理论将语义相关性划分为4个等级;然后,根据每个变异算子的语义相关性的函数表达式来选择各个等级变异算子的概率,等级越高,则选择的概率越大,反之越小;最后,通过实验考察约简前后所得到变异体的变异得分来验证该方法的有效性。最后,对本文所做的工作进行了总结以及进一步的工作进行了展望。本文针对变异测试存在的困难问题,提出了基于语义相关性的变异体约简理论,通过该统计变异算子的语义相关性来对变异体进行约简,并应用于实际的变异测试问题中。该文的研究,大幅度的减少了变异体的数量,显著提高了变异测试的效率,因此,具有重要的理论和实际意义。