计算机科学 ›› 2021, Vol. 48 ›› Issue (11A): 88-92.doi: 10.11896/jsjkx.210200096
张慧
ZHANG Hui
摘要: 目前的错误定位方法大多数解决的是单错误定位。然而,错误之间是相互关联的,如何找到这些语句与测试结果之间的关联关系和错误之间的关联关系,并减轻偶然性正确的测试用例和相似测试用例对语句可疑度的影响,对提高多错误定位的效率至关重要。为了解决以上问题,提出了基于深度卷积网络的多错误定位方法,通过一种特殊结构的深度卷积网络得到一组准确度比较高的语句可疑度,再将其应用于前向切片和后向切片中,寻找到错误与错误之间的关联定位多错误。实验表明,所提方法的多错误定位效率高于目前存在的经典的错误定位方法的错误定位效率。
中图分类号:
[1]WEISER M.Program Slicing[J].IEEE Transactions on Software Engineering,1984,SE-10(4):352-357. [2]JU X,JIANG S,XIANG C,et al.HSFal:Effective fault localization using hybrid spectrum of full slices and execution slices[J].Journal of Systems & Software,2014,90(APR.):3-17. [3]KOREL B.PELAS-program error-locating assistant system[J].IEEE Transactions on Software Engineering,1988,14(9):1253-1260. [4]LIAN L,KUSUMOTO S,KIKUNO T,et al.A new fault localizing method for the program debugging process[J].Information &Software Technology,1997,39(4):271-284. [5]MAO X,YAN L,DAI Z,et al.Slice-based statistical fault localization[J].Journal of Systems & Software,2014,89(MAR.):51-62. [6]BAAH G K,PODGURSKI A,HARROLD M J.The Probabilistic Program Dependence Graph and Its Application to FaultDiag-nosis[J].IEEE Transactions on Software Engineering,2009,36(4):528-545. [7]ZHANG Z,CHARS W K,TSETH,et al.Capturingpropagation of infected program states[C]//Proceedings of the7th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering(ESEC/FSE'09).New York:ACM,2009:43-52. [8]ZELLER A,HILDEBRANDT R.Simplifying and Isolating Fai-lure-Inducing Input[J].IEEE Transactions on Software Engineering,2002,28(2):183-200. [9]CHENG H,LO D,ZHOU Y,et al.Identifying bug signaturesusing discriminative graph mining[C]//Proceedings of the Eighteenth International Symposium on Software Testing and Ana-lysis.Chicago:ACM,2009:141-152. [10]NIU X T,NIE C H,LEI Y,et al.Identifying failure-inducingcombinations using tuple relationship[C]//2013 IEEE Sixth International Conference on Software Testing,Verification and Validation Workshops.Luxembourg:IEEE,2013:271-280. [11]JONESJ A,HARROLDM J.Empirical evaluation of the tarantula automatic fault-localization technique[C]//Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering.Long Beach CA:ACM,2005:273-282. [12]CLEVE H,ZELLER A.Locating causes of program failures[C]//27th International Conference on Software Engineering.St.Louis,MO:IEEE,2005:342-351. [13]HARROLD M J,ROTHERMEL G,SAYRE K,et al.An empir-ical investigation of the relationship between spectra differences and regression faults[J].Software Testing,Verification and Reliability,2000,10(3):171-194. [14]RENIERES M,REISS S P.Fault localization with nearestneighbor queries[C]//18th IEEE International Conference on Automated Software Engineering.Montreal,QC:IEEE,2003:30-39. [15]WONG W E,DEBROY V,CHOI B.A family of code coverage-based heuristics for effective fault localization[J].Journal of Systems & Software,2010,83(2):188-208. [16]WONG W E,DEBROY V,LI Y,et al.Software fault localization using dstar (d*)[C]//2012 IEEE Sixth International Confe-rence on Software Security and Reliability.Gaithersburg,MD:IEEE,2012:21-30. [17]WONG W E,DEBROY V,GAO R,et al.The DStar Method for Effective Software Fault Localization[J].IEEE Transactions on Reliability,2014,63(1):290-308. [18]WEN W Z,LI B X,SUN X B,et al.Multiple error location based on conditional execution slice spectrum[J].Computer Research and Development,2013,50(5):1030-1043. [19]CAO H L,JIANG S J.Multiple error location method based on Chameleon cluster analysis[J].Acta Electronica Sinica,2017,45(2):394-400. [20]WANG X Y,JIANG S J,GAO P F,et al.A software multiple defect location method based on fuzzy C-means clustering[J].Chinese Journal of Computers,2020,43(2):206-232. [21]WANG Z,FAN X Y,ZOU Y G,et al.A Multiple Defect Location Method Based on Genetic Algorithm[J].Journal of Software,2016,27(4):879-900. [22]WONG W E,QI Y.BP Neural Network-Based Effective aultLocalization[J].International Journal of Software Engineering and Knowledge Engineering,2011,19(4):573-597. [23]WONG W E,SHI Y,QI Y,et al.Using an RBF neural network to locate program bugs[C]//2008 19th International Sympo-sium on Software Reliability Engineering (ISSRE).Seattle,WA:IEEE,2008:27-36. [24]DEBROYV,WONG W,XU X F,et al.A grouping-based strategy to improve the effectiveness of fault localization techniques[C]//2010 10th International Conference on Quality Software.IEEE,2010:13-22. [25]LAM A N,NGUYEN A T,NGUYEN H A,et al.Bug localization with combination of deep learning and information retrieval[C]//2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC).Buenos Aires:IEEE,2017:218-229. [26]ZHANG Z,LEI Y,TAN Q,et al.Deep Learning-Based Fault Localization with Contextual Information[J].IEICE Transactions on Information and Systems,2017,E100.D(12):3027-3031. [27]ZHENG W,HU D,WANG J.Fault Localization Analysis Based on Deep Neural Network[J].Mathematical Problems in Engineering,2016,2016(pt.4):1-11. [28]ENISER H F,GERASIMOU S,SEN A.Deepfault:Fault localization for deep neural networks[C]//International Conference on Fundamental Approaches to Software Engineering.Prague:Springer,2019:171-191. [29]MARU A,DUTTA A,KUMAR K V,et al.Effective Software Fault Localization Using a Back Propagation Neural Network[C]//Computational Intelligence in Data Mining.Singapore:Springer,2020:513-526. [30]HERIS S R,KEYVANPOUR M R.Effectiveness of Weighted Neural Network on Accuracy of Software Fault Localization[C]//2019 5th International Conference on Web Research (ICWR).Tehran:IEEE,2019:100-104. [31]LIU P.Artificial Intelligence[M].Beijing:China Water Power Press,2021:92-98. [32]LI B X.Technology and Application of Program Slicing[M].Bei-jing:Science Press,2006:7. [33]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).Windsor:IEEE,2007:89-98. [34]ABREU R,ZOETEWEIJ P,VAN GEMUND A J C.An evaluation of similarity coefficients for software fault localization[C]//2006 12th Pacific Rim International Symposium on Dependable Computing (PRDĆ06).Riverside,CA:IEEE,2006:39-46. |
[1] | 张慧. 基于程序变异和高斯混合聚类的错误定位技术 Fault Localization Technology Based on Program Mutation and Gaussian Mixture Model 计算机科学, 2021, 48(6A): 572-574. https://doi.org/10.11896/jsjkx.200500121 |
[2] | 邢敬普, 李凤岐, 王胜法, 王祎, 宗贵升, 范永刚. 基于OBJ模型的三维彩色切片技术研究 Study on 3D Color Slicing Technology Based on OBJ Model 计算机科学, 2020, 47(11A): 266-270. https://doi.org/10.11896/jsjkx.200200029 |
[3] | 刘强,况晓辉,陈华,李响,李广轲. 一种基于程序切片相似度匹配的脆弱性发现方法 Vulnerability Discovery Approach Based on Similarity Matching of Program Slicing 计算机科学, 2019, 46(7): 126-132. https://doi.org/10.11896/j.issn.1002-137X.2019.07.020 |
[4] | 王蓁蓁, 刘嘉. 基于校正因子的随机TBFL方法 Stochastic TBFL Approach Based on Calibration Factor 计算机科学, 2019, 46(11): 161-167. https://doi.org/10.11896/jsjkx.191100503C |
[5] | 庞博,金乾坤,合尼古力·吾买尔,齐兴斌. 软件定义网络中基于网络切片和ILP模型的路由方案 Routing Scheme Based on Network Slicing and ILP Model in SDN 计算机科学, 2018, 45(4): 143-147. https://doi.org/10.11896/j.issn.1002-137X.2018.04.023 |
[6] | 王林鑫,王微微,赵瑞莲,李征. 面向语句的MBFL变异体约减策略 MBFL with Statement-oriented Mutant Reduction Strategy 计算机科学, 2017, 44(11): 175-180. https://doi.org/10.11896/j.issn.1002-137X.2017.11.026 |
[7] | 刘玉梅,魏欧,黄鸣宇. 基于特征切片的软件产品线模型检测 Model Checking Software Product Line Based on Feature Slicing 计算机科学, 2016, 43(4): 167-172. https://doi.org/10.11896/j.issn.1002-137X.2016.04.034 |
[8] | 蒲进兴,李登辉,李征,赵瑞莲. 基于动态相似度的错误定位优先排序方法 Dynamic Similarity Based Fault Localization Prioritization 计算机科学, 2016, 43(3): 206-212. https://doi.org/10.11896/j.issn.1002-137X.2016.03.038 |
[9] | 刘梦冷,杨小双,赵磊,王丽娜. 面向软件错误定位与理解的测试执行离散特征筛选 Discrete Characteristic-based Test Execution Selection for Software Fault Localization and Understanding 计算机科学, 2016, 43(3): 179-187. https://doi.org/10.11896/j.issn.1002-137X.2016.03.034 |
[10] | 张武能,李宏伟,沈立炜,赵文耘. 面向数据库模式变更的代码演化推荐方法 Method of Code Evolution Recommendation for Database Schema Change 计算机科学, 2016, 43(2): 216-223. https://doi.org/10.11896/j.issn.1002-137X.2016.02.046 |
[11] | 龚沛,耿楚瑶,郭俊霞,赵瑞莲. 针对基于变异错误定位的一种动态变异执行策略 Dynamic Mutation Execution Strategy for Mutation-based Fault Localization 计算机科学, 2016, 43(2): 199-203. https://doi.org/10.11896/j.issn.1002-137X.2016.02.043 |
[12] | 张慧. 基于影响分析的回归测试优先级错误定位方法 Regression Testing Prioritization Fault Localization Method Based on Influence Analysis 计算机科学, 2016, 43(10): 182-189. https://doi.org/10.11896/j.issn.1002-137X.2016.10.034 |
[13] | 张广梅,李景霞. 利用变量状态转换模型进行部分软件错误的检测 Detecting Software Error by Using State Transition Model of Variable 计算机科学, 2015, 42(Z11): 504-507. |
[14] | 李昂,毛晓光,雷晏. 面向自动修复并融合失效场景的缺陷定位方法 Fault Localization Using Failure-related Contexts for Automatic Program Repair 计算机科学, 2015, 42(12): 102-104. |
[15] | 王志文,黄小龙,王海军,刘烃,俞乐晨. 基于程序切片的测试用例生成系统研究与实现 Program Slicing-guied Test Case Generation System 计算机科学, 2014, 41(9): 71-74. https://doi.org/10.11896/j.issn.1002-137X.2014.09.012 |
|