{"title":"Effective Fault Localization Using Dynamic Slicing and an SMT Solver","authors":"Yoshinao Ishii, Takuro Kutsuna","doi":"10.1109/ICSTW.2016.20","DOIUrl":null,"url":null,"abstract":"Dynamic slicing and spectrum-based fault localization (SFL) are widely used as fault localization methods. While these methods are effective for localizing a faulty statement in a program, they have some practical drawbacks. One of the drawbacks with dynamic slicing is that if a program is large, the sliced program will also remain large in general. One of the drawbacks with SFL is that the suspiciousness of faulty statements may become low, even if only one fault exists in a program. To overcome these drawbacks, we propose an effective fault localization method that iteratively generates test cases that cause an error using a satisfiability modulo theories (SMT) solver such that the result of dynamic slicing for each generated failed test case is distinct. Using test cases generated by our method, the suspiciousness of a faulty statement is always maximum when a target has only one fault. Furthermore, the number of statements that have maximum suspiciousness, that is, the number of fault candidates, is smaller than that obtained by conventional dynamic slicing. In this paper, we explain our proposed method by applying it to MATLAB/Simulink models.","PeriodicalId":335145,"journal":{"name":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","volume":"11 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-04-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 IEEE Ninth International Conference on Software Testing, Verification and Validation Workshops (ICSTW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICSTW.2016.20","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2
Abstract
Dynamic slicing and spectrum-based fault localization (SFL) are widely used as fault localization methods. While these methods are effective for localizing a faulty statement in a program, they have some practical drawbacks. One of the drawbacks with dynamic slicing is that if a program is large, the sliced program will also remain large in general. One of the drawbacks with SFL is that the suspiciousness of faulty statements may become low, even if only one fault exists in a program. To overcome these drawbacks, we propose an effective fault localization method that iteratively generates test cases that cause an error using a satisfiability modulo theories (SMT) solver such that the result of dynamic slicing for each generated failed test case is distinct. Using test cases generated by our method, the suspiciousness of a faulty statement is always maximum when a target has only one fault. Furthermore, the number of statements that have maximum suspiciousness, that is, the number of fault candidates, is smaller than that obtained by conventional dynamic slicing. In this paper, we explain our proposed method by applying it to MATLAB/Simulink models.