Software Practice and Experience · 2017 · 16 citations · 48 references
ComputingComputer EngineeringComputer ScienceFault-tolerant ComputingSoftware EngineeringSystems ProgrammingFault DetectionSoftware MetricsStatic AnalysisStatic Code AnalysisBug LocalizationDynamic Code AnalysisDynamic Program AnalysisFeature WeightingMetricsSoftware Fault DetectionStatic Bug DetectionTest Cases
Summary Debugging is crucial for producing reliable software. One of the effective bug localization techniques is spectral‐based fault localization (SBFL). It helps to locate a buggy statement by applying an evaluation metric to program spectra and ranking program components on the basis of the score it computes. SBFL is an example of a dynamic analysis – an analysis of computer program that is performed by executing it with sufficient number of test cases. Static analysis, on the other hand, is performed in a non‐runtime environment. We introduce a weighting technique by combining these two kinds of program analysis. Static analysis is performed to categorize program statements into different classes and giving them weights based on the likelihood of being buggy statement. Statements are finally ranked on the basis of the weights computed by statements' categorization (static analysis) and scores computed by SBFL metrics (dynamic analysis). We evaluate the performance of our technique on Siemens test suite and Flex (having seeded bugs seeded by expert developers), Sed (having mixture of real and seeded bugs), and Space (having real bugs). In our evaluation, proposed weighting technique improves the performance of a wide variety of fault localization metrics up to 20% on single bug datasets and up to 42% on multi‐bug datasets. Copyright © 2017 John Wiley & Sons, Ltd.
48
Individual Comparisons by Ranking Methods
Frank Wilcoxon · Biometrics Bulletin · 1945 · 14.4K citations
Business, Computer Science, Multi-criteria Decision Making +8
A Survey on Software Fault Localization
W. Eric Wong, Ruizhi Gao, Yihao Li et al. · IEEE Transactions on Software Engineering · 2016 · 1.1K citations