删除或更新信息,请邮件至freekaoyan#163.com(#换成@)

基于深度学习的混合模糊测试方法

本站小编 Free考研考试/2022-01-02

摘要:随着软件技术的快速发展,面向领域的软件系统在广泛使用的同时带来了研究与应用上的新挑战.由于领域应用对安全性、可靠性有着很高的要求,而符号执行和模糊测试等技术在保障软件系统的安全性、可靠性方面已经发展了数十年,许多研究和被发现的缺陷表明了它们的有效性.但是,由于两者的优劣各有不同,将这两者相结合仍是近期热门研究的话题.目前的结合方法在于两者相互协助,例如,模糊测试不可达的区域交给符号执行求解.但是,这些方法只能在模糊测试(或符号执行)运行时判定是否应该借助符号执行(或模糊测试),无法同时利用这两者的优势,从而导致性能不足.基于此,提出基于深度学习,将基于符号执行的测试与模糊测试相结合的混合测试方法.该方法旨在测试开始之前就判断适合模糊测试(或符号执行)的路径集,从而制导模糊测试(或符号执行)到达适合它们的区域.同时,还提出混合机制实现两者之间的交互,从而进一步提升整体的覆盖率.基于 LAVA-M中程序的实验结果表明,所提方法相对于单独符号执行或模糊测试,能够提升 20%+的分支覆盖率,增加约 1~13倍的路径数目,多检测出 929个缺陷.



Abstract:With the rapid development of software techniques, domain-driven software raises new challenges in software security and robustness. Symbolic execution and fuzzing have been rapidly developed in recent decades, demonstrating their ability in detecting software bugs. Enormous detected and fixed bugs demonstrate their feasibility. However, it is still a challenging task to combine the two methods due to their corresponding weakness. State-of-the-art techniques focus on incorporating the two methods such as using symbolic execution to solve paths when fuzzing gets stuck in complex paths. Unfortunately, such methods are inefficient because they have to switch to fuzzing (resp. symbolic execution) when conducting symbolic execution (resp. fuzzing). This paper presents a new deep learning-based hybrid testing method using symbolic execution and fuzzing. This method tries to predict paths that are suitable for fuzzing (resp. symbolic execution) and guide the fuzzing (resp. symbolic execution) to reach the paths. To further enhance the effectiveness, a hybrid mechanism is proposed to make them interact with each other. The proposed approach is evaluated on the programs in LAVA-M, and the results are compared with that using symbolic execution or fuzzing independently. The proposed method achieves more than 20% increase of branch coverage, 1 to 13 times increase of the path number, and uncover 929 more bugs.



PDF全文下载地址:

http://jos.org.cn/jos/article/pdf/6225
相关话题/测试 可靠性 单独 实验 程序

  • 领限时大额优惠券,享本站正版考研考试资料!
    大额优惠券
    优惠券领取后72小时内有效,10万种最新考研考试考证类电子打印资料任你选。涵盖全国500余所院校考研专业课、200多种职业资格考试、1100多种经典教材,产品类型包含电子书、题库、全套资料以及视频,无论您是考研复习、考证刷题,还是考前冲刺等,不同类型的产品可满足您学习上的不同需求。 ...
    本站小编 Free壹佰分学习网 2022-09-19
  • 面向神经机器翻译系统的多粒度蜕变测试
    摘要:机器翻译是利用计算机将一种自然语言转换成另一种自然语言的任务,是人工智能领域研究的热点问题之一.近年来,随着深度学习的发展,基于序列到序列结构的神经机器翻译模型在多种语言对的翻译任务上都取得了超过统计机器翻译模型的效果,并被广泛应用于商用翻译系统中.虽然商用翻译系统的实际应用效果直观表明了神经 ...
    本站小编 Free考研考试 2022-01-02
  • 循环迭代程序的一种可信计算算法
    摘要:循环迭代程序作为软件的基本组成部分,其正确运行具有重要意义.然而,有时(比如其相关错数大于0时)计算时的舍入误差(或表示误差)会导致循环迭代的计算结果不稳定.基于“中间计算精度自动动态调整”的计算技术,给出了循环迭代程序的一种可信计算算法.利用该算法,可获得循环迭代程序任意次迭代的任意位的正确 ...
    本站小编 Free考研考试 2022-01-02
  • 一种手绘制导的移动应用界面测试方法
    摘要:软件测试在提高移动应用的安全性和可靠性方面扮演着重要角色.然而,目前主流的移动应用界面测试技术存在着许多不足:人工编写脚本和录制回放技术需要消耗大量的人力成本,自动化测试在移动应用界面测试的应用场景上受到了诸多限制.针对这些问题,提出一种基于手绘制导的移动应用界面测试方法.该方法通过设计一种简 ...
    本站小编 Free考研考试 2022-01-02
  • 子图相似性的恶意程序检测方法
    摘要:动态行为分析是一种常见的恶意程序分析方法,常用图来表示恶意程序系统调用或资源依赖等,通过图挖掘算法找出已知恶意程序样本中公共的恶意特征子图,并通过这些特征子图对恶意程序进行检测.然而这些方法往往依赖于图匹配算法,且图匹配不可避免计算慢,同时,算法中还忽视了子图之间的关系,而考虑子图间的关系有助 ...
    本站小编 Free考研考试 2022-01-02
  • 面向操作系统可靠性保障的开源软件供应链
    摘要:软件可靠性是软件工程领域中的研究热点之一,故障率分析是软件可靠性的典型研究方法.然而,软件构建模式已从单体模式演进到以开源软件为代表的规模化协作模式,操作系统作为代表性产物之一,所含开源软件之间通过组合关系和依赖关系,形成了一个包含上万节点的供应关系网络.典型方法缺乏对供应关系的考量,无法准确 ...
    本站小编 Free考研考试 2022-01-02
  • SDN数据平面软件一致性测试用例生成方法
    摘要:SDN(software-definednetwork)旨在解决架构复杂且分散的传统网络出现的问题,使网络具有更强的灵活性.P4编程语言的特征在于用户可以直接根据自己对处理数据包的需求定义P4程序,然后经过编译过程,生成适配文件将用户需求配置到网络设备.面向P4编程语言的SDN数据平面一致性测 ...
    本站小编 Free考研考试 2022-01-02
  • 可靠性模型中故障检测率研究述评
    摘要:故障检测率FDR(faultdetectionrate)是可靠性研究的关键要素,对于测试环境构建、故障检测效率提升、可靠性建模和可靠性增长具有重要作用,对于提高系统可靠性与确定发布时间具有重要现实意义.首先,对基于NHPP(non-homogeneouspoissonprocess,非齐次泊松 ...
    本站小编 Free考研考试 2022-01-02
  • 一种基于录制/重放的Android应用众包测试方法
    摘要:随着Android设备的流行和普及,Android生态系统的碎片化问题越发严重.为了确保应用质量,Android应用需要在多种设备上进行测试.为了应对大量重复机械的测试工作,学术界和工业界提出了众多跨设备的测试方法,但目前的方法还有较多的局限性:(1)手工编写设备无关的测试脚本耗时且容易出错; ...
    本站小编 Free考研考试 2022-01-02
  • 静态程序分析并行化研究进展
    摘要:静态程序分析发展至今,已在多个方面取得了长足的进步,应用于软件开发的众多方面.但对现代大规模复杂软件系统(如千万行代码规模的Linux操作系统、分布式大数据处理系统Hadoop等)进行高精度的静态分析,因其极大规模数据量的计算,仍有一定难度.精度、效率和可扩展性相互制约,是静态分析技术在工业界 ...
    本站小编 Free考研考试 2022-01-02
  • 深度神经网络测试研究综述
    摘要:随着深度神经网络技术的快速发展、大数据的涌现和计算能力的显著提升,深度神经网络被越来越多地应用到各个安全攸关领域,例如自动驾驶、人脸识别、飞机碰撞检测等.传统的软件系统通常由开发人员手工编写代码实现其内部的决策逻辑,并依据相应的测试覆盖准则设计测试用例来测试系统代码.与传统的软件系统不同,深度 ...
    本站小编 Free考研考试 2022-01-02