测试用例执行轨迹分析的故障定位方法
详细信息    查看全文 | 推荐本文 |
  • 英文篇名:Fault Localization Method for Analyzing the Execution Trajectory of Test Cases
  • 作者:曹迅 ; 周宽久
  • 英文作者:CAO Xun;ZHOU Kuan-jiu;School of Software and Technology,Dalian University of Technology;
  • 关键词:故障定位 ; 执行轨迹 ; 循环神经网络 ; 虚拟测试用例
  • 英文关键词:fault localization;;execution trajectory;;recurrent neural networks;;virtual test cases
  • 中文刊名:XXWX
  • 英文刊名:Journal of Chinese Computer Systems
  • 机构:大连理工大学软件学院;
  • 出版日期:2019-01-15
  • 出版单位:小型微型计算机系统
  • 年:2019
  • 期:v.40
  • 语种:中文;
  • 页:XXWX201901029
  • 页数:9
  • CN:01
  • ISSN:21-1106/TP
  • 分类号:151-159
摘要
大型软件的调试往往需要花费大量人力和时间,因此自动化的软件故障定位方法成为更好的选择.现有故障定位方法大都基于用例的覆盖信息进行分析,没有完全考虑测试用例执行时的顺序信息.针对上述问题,提出测试用例执行轨迹分析的故障定位方法,该方法首先通过控制流分析获得测试用例的执行轨迹,然后将执行轨迹编码成序列信息用于训练循环神经网络,最后将一组虚拟测试用例输入网络中预测代码块的可疑度.通过在Siemens套件上的实验和分析,验证了所提方法的有效性.
        Debugging large software always takes a lot of manpower and time,so automated software fault localization method becomes a better choice. Most existing fault localization methods are based on the coverage information,yet the sequence information does not be fully considered during testing. To solve the above problem,a fault localization method based on analyzing the execution trajectories of test cases is proposed in this paper. Firstly,the execution trajectory of each test case is obtained through control flowanalysis,and then the execution trajectories are encoded into sequence information to train the recurrent neural networks. Finally,a set of virtual test cases are input into the trained network to compute the suspicious of each basic block. Through the experiment on the Siemens suite,the proposed method proved to be effective.
引文
[1] Myers G J,Sandler C,Badgett T. The art of software testing[M].Hoboken:John Wiley&Sons,2011.
    [2] Jones J A,Harrold MJ,Stasko J. Visualization of test information to assist fault localization[C]. Proceedings of the 24th International Conference on Software Engineering(ICSE),2002:467-477.
    [3] Abreu R,Zoeteweij P,Van Gemund A J C. On the accuracy of spectrum-based fault localization[C]. Testing:Academic and Industrial Conference Practice and Research Techniques-Mutation(Taicpart-Mutation),2007:89-98.
    [4] Wong W E,Debroy V,Li Y,et al. Software fault localization using DStar(D*)[C]. International Conference on Software Security and Reliability(SERE),2012:21-30.
    [5] Wong E,Wei T,Qi Y,et al. A crosstab-based statistical method for effective fault localization[C]. International Conference on Software Testing,Verification,and Validation(ICST),2008:42-51.
    [6] Hao D,Zhang L,Pan Y,et al. On similarity-awareness in testingbased fault localization[J]. Automated Software Engineering(ASE),2008,15(2):207-249.
    [7] Abreu R,Zoeteweij P,Van Gemund A J C. Spectrum-based multiple fault localization[C]. 24th IEEE/ACMInternational Conference on Automated Software Engineering(ASE),2009:88-99.
    [8] Zhang Z,Chan W K,Tse T H. Fault localization based only on failed runs[J]. Computer,2012,45(6):64-71.
    [9] Liu C,Yan X,Fei L,et al. SOBER:statistical model-based bug localization[C]. ACMSIGSOFT Software Engineering Notes(SEN),2005,30(5):286-295.
    [10] Yilmaz C,Paradkar A,Williams C. Time will tell:fault localization using time spectra[C]. Proceedings of the 30th International Conference on Software Engineering(ICSE),2008:81-90.
    [11] Zhang Yun-qian,Zheng Zheng,Ji Xiao-hui,et al. Markov modelbased effectiveness predicting for software fault localization[J].Chinese Journal of Computers,2013,36(2):445-456.
    [12] Zong Fang-fang,Huang Hong-yun,Ding Zuo-hua. Software fault location based on double-times-locating strategy[J]. Journal of Software,2016,27(8):1993-2007.
    [13] Lyle J R. Automatic program bug location by program slicing[C]. The Second International Conference on Computers and Applications,1987:877-883.
    [14] Ma Kai. Research of fault propagation-based software fault localization[D]. Dalian:Dalian Maritime University,2014.
    [15] Baah G K,Podgurski A,Harrold MJ. The probabilistic program dependence graph and its application to fault diagnosis[J]. IEEE Transactions on Software Engineering(TSE),2010,36(4):528-545.
    [16] Yang Bo,Wu Ji,Liu Chao. Software fault localization based on data chain[J]. Journal of Software,2015,26(2):254-268.
    [17] Briand L C,Labiche Y,Liu X. Using machine learning to support debugging with tarantula[C]. The 18th IEEE International Symposium on Software Reliability(ISSRE),2007:137-146.
    [18] Wong W E,Qi Y. BP neural network-based effective fault localization[J]. International Journal of Software Engineering and Knowledge Engineering(SEKE),2009,19(4):573-597.
    [19] Wong W E,Debroy V,Golden R,et al. Effective software fault localization using an RBF neural network[J]. IEEE Transactions on Reliability,2012,61(1):149-169.
    [20] Zheng W,Hu D,Wang J. Fault localization analysis based on deep neural network[J]. Mathematical Problems in Engineering,2016,2016(1):1-11.
    [11]张云乾,郑征,季晓慧,等.基于马尔可夫模型的软件故障定位方法[J].计算机学报,2013,36(2):445-456.
    [12]宗芳芳,黄鸿云,丁佐华.基于二次定位策略的软件故障定位[J].软件学报,2016,27(8):1993-2007.
    [14]马凯.基于故障传播的软件故障定位方法研究[D].大连:大连海事大学,2014.
    [16]杨波,吴际,刘超.基于数据链的软件故障定位方法[J].软件学报,2015,26(2):254-268.
NGLC 2004-2010.National Geological Library of China All Rights Reserved.
Add:29 Xueyuan Rd,Haidian District,Beijing,PRC. Mail Add: 8324 mailbox 100083
For exchange or info please contact us via email.