2007 · 93 citations · 27 references
ComputingComputer EngineeringComputer ScienceDiagnostic ReasoningFault-tolerant ComputingMachine LearningDecision TreesDiagnosisFailure DetectionFault DetectionFault DiagnosisSoftware TestingDebuggingDebugging SupportDebugging TechniquesDecision-tree AnalysisFault Detection Using Machine LearningMachine Learning For Fault DetectionMachine Learning-based Fault DiagnosisTest Cases
Using a specific machine learning technique, this paper proposes a way to identify suspicious statements during debugging. The technique is based on principles similar to Tarantula but addresses its main flaw: its difficulty to deal with the presence of multiple faults as it assumes that failing test cases execute the same fault(s). The improvement we present in this paper results from the use of C4.5 decision trees to identify various failure conditions based on information regarding the test cases' inputs and outputs. Failing test cases executing under similar conditions are then assumed to fail due to the same fault(s). Statements are then considered suspicious if they are covered by a large proportion of failing test cases that execute under similar conditions. We report on a case study that demonstrates improvement over the original Tarantula technique in terms of statement ranking. Another contribution of this paper is to show that failure conditions as modeled by a C4.5 decision tree accurately predict failures and can therefore be used as well to help debugging.
27
Steven L. Salzberg, Alberto M. Segre · 1994 · 5.8K citations
Learning Logical Definitions from Relations
J. R. Quinlan · Machine Learning · 1990 · 1.4K citations · Full text
Prioritizing test cases for regression testing
Gregg Rothermel, R.H. Untch, Chengyun Chu et al. · IEEE Transactions on Software Engineering · 2001 · 1.3K citations
Computing, Systems Engineering, Experimental Performance +11