• 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于分支相关性分析的不可达路径检测方法

姜淑娟, 韩寒, 史娇娇, 张艳梅, 鞠小林, 钱俊彦

姜淑娟, 韩寒, 史娇娇, 张艳梅, 鞠小林, 钱俊彦. 基于分支相关性分析的不可达路径检测方法[J]. 计算机研究与发展, 2016, 53(5): 1072-1085. DOI: 10.7544/issn1000-1239.2016.20148031
引用本文: 姜淑娟, 韩寒, 史娇娇, 张艳梅, 鞠小林, 钱俊彦. 基于分支相关性分析的不可达路径检测方法[J]. 计算机研究与发展, 2016, 53(5): 1072-1085. DOI: 10.7544/issn1000-1239.2016.20148031
Jiang Shujuan, Han Han, Shi Jiaojiao, Zhang Yanmei, Ju Xiaolin, Qian Junyan. Detecting Infeasible Paths Based on Branch Correlations Analysis[J]. Journal of Computer Research and Development, 2016, 53(5): 1072-1085. DOI: 10.7544/issn1000-1239.2016.20148031
Citation: Jiang Shujuan, Han Han, Shi Jiaojiao, Zhang Yanmei, Ju Xiaolin, Qian Junyan. Detecting Infeasible Paths Based on Branch Correlations Analysis[J]. Journal of Computer Research and Development, 2016, 53(5): 1072-1085. DOI: 10.7544/issn1000-1239.2016.20148031

基于分支相关性分析的不可达路径检测方法

基金项目: 国家自然科学基金项目(61502497,61562015);计算机软件新技术国家重点实验室(南京大学)基金项目(KFKT2014B19);广西可信软件重点实验室(桂林电子科技大学)研究课题(kx201530);南通市应用研究计划基金项目(BK2014055)
详细信息
  • 中图分类号: TP311

Detecting Infeasible Paths Based on Branch Correlations Analysis

  • 摘要: 软件测试中,不可达路径的存在会导致测试资源浪费,有效地检测程序中的不可达路径有助于节约测试资源、提高测试效率.分支相关性的存在是不可达路径产生的主要起因.因此,确定分支的相关性在不可达路径的检测中占据十分重要的地位.提出了一种利用关联分析和数据流分析确定分支相关性的方法,进而实现不可达路径的自动检测.首先,结合静态分析和动态分析,构建反映程序中各分支判断语句静态依赖关系和动态执行信息的数据集;然后,利用关联分析和数据流分析技术确定分支的相关性;最后,根据分支相关性信息检测不可达路径.基于一组基准程序和开源程序,开展不可达路径检测实验.实验结果表明,该方法能够准确地检测出程序中的不可达路径,可以有效地提高软件测试的效率.
    Abstract: The existence of infeasible paths causes a waste of test resources in software testing. Detecting these infeasible paths effectively can save test resources and improve test efficiency. Since the correlation of different conditional statements is the main reason of causing infeasible paths of a program and it costs effort for attempting to cover these paths which are never executed during software testing, the determination of branch correlations plays an important role in detecting infeasible paths. The paper proposes a new approach for detecting the infeasible paths based on association analysis and data flow analysis. Firstly, it builds the data-sets that reflect the static dependencies and the dynamic execution information of conditional statements by combining static analysis with dynamic analysis; then, with two types of branch correlations (called A-B correlation and B-B correlation) defined, it determines the branch correlations respectively with two introduced algorithms which are based on association analysis and data flow analysis; finally, it detects the infeasible paths in accordance with the obtained and refined branch correlations. The paper applies the proposed approach to some benchmarks programs and industry programs to validate its efficiency and effectiveness. The experimental results indicate that our approach can detect infeasible paths accurately and improve the efficiency of software testing.
计量
  • 文章访问数:  1321
  • HTML全文浏览量:  2
  • PDF下载量:  659
  • 被引次数: 0
出版历程
  • 发布日期:  2016-04-30

目录

    /

    返回文章
    返回