基于代码转换的MC/DC测试用例生成技术

来源 :北京工业大学 | 被引量 : 0次 | 上传用户:eternaty
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来随着计算机软件行业的飞速发展,计算机软件系统日益复杂,软件质量问题已经严重限制了计算机技术的发展。软件测试是保证软件质量和可靠性的主要手段,这对于航空航天、自动驾驶、医疗等领域中使用的安全关键软件系统尤为重要。这些系统需要极高的可靠性,只要发生故障就可能会导致灾难性的后果。因此人们制定了软件认证标准,对安全关键系统提出了一系列严格的要求,在软件测试时必须予以考虑。例如在航空软件认证标准中有一条要求仅适用于安全关键系统,即用于测试这些系统的测试用例必须满足修订的条件/判定覆盖(MC/DC)准则。MC/DC准则是一种比较严格的代码覆盖准则,旨在证明判定中涉及的所有条件都可以独立地影响判定的结果。目前,测试人员普遍采用手工方法设计测试数据。但是手工生成测试数据的效率低下、容易出错,导致测试成本昂贵,很难保证软件质量。动态符号执行技术能够针对被测程序自动生成测试用例,该技术降低了由手工测试而产生的高额成本,大幅提高了测试效率,近年来被广泛使用。但是,现有的动态符号执行技术以分支覆盖为目标进行测试生成,因此不能生成满足MC/DC准则的测试用例。为了解决这个问题,本文提出了一种基于代码转换的测试用例生成方法,以优化现有的使用动态符号执行技术的测试生成过程,使其能够生成满足MC/DC准则的测试用例。本方法对待测程序的源代码进行分析,针对判定表达式生成条件约束,并通过代码转换的方式将条件约束添加到程序代码中。在使用动态符号执行技术进行测试用例生成时,这些条件约束会指导符号执行技术探索特定的路径,最终生成满足MC/DC准则的测试用例。本文基于Clang编译器设计并实现了一个代码转换工具,自动完成上述工作,并将该工具与动态符号执行工具KLEE相结合,生成满足MC/DC准则的测试用例。本文将该方法应用于14个小型程序和12个Coreutils程序。实验结果表明,本方法能有效提高测试用例的MC/DC覆盖率。对于小型程序,应用本文方法生成的测试用例MC/DC覆盖率可以达到100%;对于Coreutils程序,与未应用本方法相比,应用本文方法生成的测试用例MC/DC覆盖率平均提高了14.66%,达到98.01%。
其他文献
<正> 奈保尔(1932—),这位印裔英国移民作家,在2001年10月11日,轻取诺贝尔文学奖。令世人对移民文学再次刮目相看。作为原本是特立尼达和多巴哥岛上印度人的后裔,奈保尔的作
会议
步人大数据时代,个人信息的经济价值愈发凸显。侵害自然人个人信息的行为时有发生,个人信息保护人法的呼声愈发高涨。《民法总则》第111条专门规定了个人信息保护规则,但只是
随着互联网技术的发展,自媒体内容产业蒸蒸日上,随之而来侵权问题也日益严重,介于著作权灰色地带的洗稿现象应运而生,它既有可能构成侵权,也可能未达到侵权认定标准,对传统著作权保护模式提出新挑战。从印刷机到人工智能,每当某种新技术出现时,都会深刻影响内容的生产方式和传播方式。新技术环境下洗稿呈现出新特点,仅在现行的著作权法下讨论无法有效解决这个问题,需要政府、平台、用户、自媒体人携手共治,维护自媒体健康
格兰富井筒式安装排涝泵站经过数十年的研发和实际工程应用,积累了丰富而有实效的经验,配合格兰富全新系列轴流泵和混流泵技术,可以大大提升该类泵站的工程优势:占地小,流态
快大黄鸡因其生长速度较快,腿病的发生经常可以见到.其发病的原因较多,如环境、营养、饲养管理、遗传、疾病等,防治腿病的发生应做好如下工作.
选择国家指定的两个厂家生产的禽流感灭活疫苗(H5亚型,N28株)进行无母源抗体来航鸡的免疫试验.通过鸡免疫后血凝抑制(HI)抗体的动态性检测,对两个疫苗的免疫效果进行了观察.
随着互联网的快速发展,企业和消费者、消费者和消费者之间的联系也愈发紧密。一方面,社交网络平台日渐成为企业进行营销活动的关键阵地。消费者基于社交网络所进行的营销信息
1 观察方法1.1 鸡群和鸡舍结构特点本院畜牧科技园内的一栋蛋鸡舍,试验开始期存鸡3 806只(28周龄),东西走向,双列三走道,砖木瓦结构,墙厚0.33m;舍顶双坡式;宽7.40m,长18.40m,