代码疑似故障自动确认的关键技术研究

来源 :北京邮电大学 | 被引量 : 1次 | 上传用户:wo19881026
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近些年来,随着计算机技术的飞速发展,人们对软件系统的需求与日俱增,且软件的规模也在不断扩大。而使用存在软件缺陷的软件不仅会增加软件维护费用,而且可能会造成灾难性的后果。软件测试作为在程序开发阶段对程序进行功能验证的过程,是保证软件质量的重要手段。如何尽可能早的发现并修复软件缺陷已成为软件开发人员、软件测试人员及软件测试研究人员共同关注的焦点。代码静态分析技术作为一种兴起的软件测试技术,无需执行程序,可以基于程序片段进行分析,是构建可信软件的有效手段。然而,根据Rice定理,代码静态分析的结果不可能既是完备的又是可靠的,进而导致其分析的结果中可能存在大量的误报。误报的确认不仅需要花费大量的时间、人力和物力,而且会导致测试人员拒绝使用静态分析工具进行软件测试。如何提高代码静态分析结果(疑似故障)的确认效率,成为了软件测试领域研究的热点之一。本文的研究工作受到国家自然科学基金项目“源代码漏洞分析、检测与验证技术研究(U1736110)”的支持,并基于静态缺陷检测工具DTS(Defect Testing System)而展开。在代码疑似故障自动确认方面,本文主要做了以下三个方面的工作:1、误报消除技术的研究。基于路径敏感和需求驱动分析,本文提出了一种新的误报消除方法。该方法首先根据疑似故障缺陷特征在局部程序中(疑似故障函数内)计算缺陷特征的关联函数,并在后向分析时仅对这些关联函数进行详细分析。这样不仅保证了程序分析的精度,进而可以识别在静态分析时使用函数摘要代替被调函数导致精度损失而产生的误报,而且相对于详细分析所有被调用函数而言,仅详细分析关联函数可以提高分析的速度。然后,采用“整体-分段-整体”策略生成从故障函数入口到疑似故障语句的路径,此策略将关联函数内的路径作为整体路径的片段,通过分析关联函数内的不可达路径,可以阻止其不可达路径到整体路径的传递,减少了整体路径的生成数量。最后,提取每条路径的约束条件,并将其与疑似故障触发条件相结合来计算该路径能否触发疑似故障,进而判断该疑似故障是否为误报。为了验证所提方法的有效性,本文在5个开源C程序上对该方法进行了实验验证。实验结果表明,本文所提出的方法能够准确地消除静态分析结果中的部分误报,且在时间开销及误报消除数量方面,均优于函数内联方法。2、函数间不可达路径检测的研究。程序中的不可达路径在软件测试时不仅会对测试用例的生成及代码覆盖率测试产生影响,也会对疑似故障自动确认的效率及准确性产生影响。本文提出了一种基于不可满足约束模型的函数间不可达路径检测方法。该方法首先通过挖掘12695条不可达路径的共同约束特征,提取得到了 9种不可满足的路径约束模型。然后,针对被测路径,对其路径约束条件进行提取、聚类和简化,进而得到简化的约束条件集合。最后,通过将简化的约束条件集合与不可满足约束模型进行匹配来检测函数间的不可达路径。本文以在开源程序中随机选择的路径为基准路径对方法的有效性进行了实验验证。实验结果表明,本文提出的方法能够准确地检测出给定路径集合中89.6%的函数间不可达路径,且与代码模式方法相比,该方法所检测出的函数间不可达路径数量较多且时间开销较小。3、疑似故障触发路径生成的研究。在代码疑似故障自动确认的过程中,生成一条可以触发疑似故障的路径不仅可以对疑似故障进行确认,而且还可以协助软件开发人员修复故障。基于对疑似故障的需求驱动分析和函数间数据流分析,本文提出了一种疑似故障触发路径的生成方法。该方法首先根据疑似故障的缺陷特征计算其影响谓词,并对影响谓词所在函数的控制流图进行简化,进而减少后向遍历生成路径的数量,减轻了路径爆炸的风险,从而减少生成触发路径的时间。然后,采用“section-whole”策略后向遍历简化的函数CFG生成疑似故障的触发路径。该策略将整个路径生成看作是路径片段的组合,在每个路径片段生成时判定其可达性,这样可以阻止函数内的不可达路径在函数间路径的传递,进而减少对路径可达性判定次数,从而提高触发路径生成的效率。本文以开源程序中的真实故障和非真实故障为基准故障对该方法进行了实验验证。实验结果表明,本文提出的方法可以为64%的真实故障生成触发路径,且与传统方法相比,该方法在触发路径生成数量及效率方面均优于传统方法。
其他文献
目的 调查老年住院患者的失能现状及其影响因素.方法 收集老年住院患者的基本资料,分析老年患者的失能现状及其影响因素.结果 多因素Logistic回归分析显示,年龄、文化程度、合并冠心病、脑卒中史、抑郁状态均为老年患者失能的影响因素(P<0.05).结论 年龄、文化程度、合并冠心病、脑卒中史、抑郁状态均为老年患者失能的影响因素,需要家庭、医务工作者和社会的共同努力,以改善老年人失能状况,促进老龄化社会的健康发展.
目的 探讨乳腺癌术后化疗患者症状困扰与生活质量的相关性.方法 78例乳腺癌术后化疗患者接受安德森症状评估量表中文版(MDASI)、癌症患者生命质量测定量表(FACT-G)的问卷调查,分析症状困扰与生活质量的相关性.结果 症状严重程度评分、症状困扰程度评分与FACT-G的生理状况、社会家庭状况、功能状况、情感状况得分及总分均呈负相关性(P<0.05).结论 乳腺癌术后化疗患者存在不同程度的症状困扰,且症状困扰全面影响着患者的生活质量.
光纤通信作为一种面向未来的关键技术,具有远距离传输、超高容量的独特优势。互联网的大部分数据都必须通过光纤网络传输。近些年,随着网络在线视频、直播、云盘下载等新兴大数据量业务的兴起和普及,光纤通信作为信息网络的基础,因其大容量的优势,将进一步在信息领域发挥至关重要的作用。光纤通信系统在信号传输过程中会受到噪声、色散、偏振模色散等各种因素的干扰。在抵御信道干扰的众多技术中最直接有效的就是信道编码技术,
对实际世界的研究,必须考虑诸多的干扰因素,因而促进了非线性系统的研究。对以光纤、流体和玻色-爱因斯坦凝聚态等领域为背景的非线性系统的研究可以加深人们对非线性现象的理解。理论研究从描述非线性系统的非线性发展方程出发,研究方程的解析解,并预测解随时间的发展,有助于人们对事物的本质和发展规律的认识。本文的主要内容安排如下:第一章我们介绍了几类非线性波,孤子、呼吸子和畸形波,以及它们的研究进程。阐明本文中
目的 探讨内镜黏膜下剥离术(ESD)治疗患者术中并发出血的相关危险因素.方法 回顾性分析2018年3月至2020年3月在我院行ESD治疗的87例早期胃癌患者的临床资料,分析术中并发出血的相关危险因素.结果 87例ESD治疗患者术中并发出血25例(28.74%).单因素分析显示,病变最大直径、病变部位、手术时间、合并溃疡与ESD治疗患者术中并发出血有关(P<0.05);多因素分析显示,病变最大直径>5 cm、病变部位(贲门-胃底部)、手术时间>90 min、合并溃疡是ESD治疗患者术中并发出血的危险因素(P
目的 调查清远地区先天性心脏病(CHD)患儿发病现状及影响因素.方法 选取60例CHD患儿为病例组,60例同龄健康儿童为对照组,比较两组的一般资料,采用Logistic回归分析探讨CHD发生的影响因素.结果 60例CHD患儿中,以房间隔缺损占比最高.病例组的孕早期接触农药、孕早期被动吸烟、不良妊娠史、孕早期服用抗生素、孕早期感冒比例均高于对照组,孕期补充叶酸、维生素及微量元素比例低于对照组(P<0.05).Logistic回归分析显示,不良妊娠史、孕早期感冒是CHD发生的危险因素,孕期补充叶酸、维生素及微
近年来,非线性波现象是物理科学中的研究热点。在光纤通信、流体力学、凝聚态物理等领域中,非线性发展方程,比如非线性Schrodinger(NLS)类方程以及浅水波方程,可以模拟实现孤子、呼吸子、畸形波以及混沌波场等非线性现象。本文首先通过解析方法,比如Hirota方法,Bell多项式方法,Darboux变换方法等,对非线性波进行理论上的研究;由于解析方法的局限性,之后通过数值方法来探究非线性波的其他
目的 分析乳腺癌改良根治术后发生皮下积液的影响因素.方法 回顾性分析2019年10月至2020年10月期间于我院行乳腺癌改良根治术的48例乳腺癌患者的临床资料,统计患者术后皮下积液发生情况,分析相关影响因素.结果 48例患者行乳腺癌改良根治术后皮下积液发生率为43.75%.单因素分析和Logistic回归分析显示,年龄≥45岁、无皮瓣固定及合并糖尿病为乳腺癌改良根治术后发生皮下积液的危险因素(OR>1,P<0.05).结论 年龄≥45岁、无皮瓣固定及合并糖尿病是乳腺癌改良根治术后发生皮下积液的危险因素,临
目的 探讨中耳听力重建术患者术后并发症的危险因素及对策.方法 收集124例行中耳听力重建术患者的临床资料,采用单因素及多因素Logistic分析探讨中耳听力重建术患者术后并发症的危险因素.结果 单因素和多因素Logistic分析显示,年龄≥18岁、Altmann分型Ⅲ度、术中出血量>50 mL、手术时长≥90 min是中耳听力重建术患者发生术后并发症的独立危险因素(P<0.05).结论 年龄≥18岁、Altmann分型Ⅲ度、术中出血量>50 mL、手术时长≥90 min是中耳听力重建术患者发生术后并发症的
目的 探讨原发性骨质疏松(POP)患者血清25-羟维生素D [25 (OH) D]水平与骨密度的相关性.方法 105例POP患者均接受骨密度与血清25 (OH)D水平检测,分析血清25 (OH)D水平与骨密度的相关性.结果 轻度降低组、中度降低组、重度降低组的血清25 (OH)D水平呈显著下降趋势(P<0.05);Logistic回归分析显示,血清25 (OH)D表达与POP患者骨密度降低程度有关(OR>1,P<0.05).血清25 (OH)D水平预测骨密度降低程度的AUC为0.840,具有较好的预测价值