Handbook of Software Fault Localization W. Eric Wong
Visit to download the full and correct content document: https://ebookmass.com/product/handbook-of-software-fault-localization-w-eric-wong/

More products digital (pdf, epub, mobi) instant download maybe you interests ...

Current Developments in Biotechnology and Bioengineering. Solid Waste Management 1st Edition
Jonathan W-C Wong
https://ebookmass.com/product/current-developments-inbiotechnology-and-bioengineering-solid-waste-management-1stedition-jonathan-w-c-wong/

ISE Introduction to Managerial Accounting, 9e 9th Edition Eric W. Noreen
https://ebookmass.com/product/ise-introduction-to-managerialaccounting-9e-9th-edition-eric-w-noreen/

The Oxford Handbook of W. B. Yeats Lauren Arrington
https://ebookmass.com/product/the-oxford-handbook-of-w-b-yeatslauren-arrington/

My Fault Mercedes Ron
https://ebookmass.com/product/my-fault-mercedes-ron/

Your Fault Mercedes Ron
https://ebookmass.com/product/your-fault-mercedes-ron/

Your Fault Mercedes Ron
https://ebookmass.com/product/your-fault-mercedes-ron-2/

Fault-Tolerant Attitude Control of Spacecraft Qinglei
Hu
https://ebookmass.com/product/fault-tolerant-attitude-control-ofspacecraft-qinglei-hu/

My Fault (Culpable) Mercedes Ron
https://ebookmass.com/product/my-fault-culpable-mercedes-ron/

Practice Makes Perfect: The Spanish Subjunctive Up
Close, Second Edition Eric W. Vogt
https://ebookmass.com/product/practice-makes-perfect-the-spanishsubjunctive-up-close-second-edition-eric-w-vogt/

IEEEPress
445HoesLane
Piscataway,NJ08854
IEEEPressEditorialBoard
SarahSpurgeon, EditorinChief
JónAtliBenediktssonAndreasMolischDiomidisSpinellis
AnjanBoseSaeidNahavandiAhmetMuratTekalp
AdamDrobotJeffreyReed
Peter(Yong)LianThomasRobertazzi
AboutIEEEComputerSociety
IEEEComputerSocietyistheworld’sleadingcomputingmembershiporganizationandthe trustedinformationandcareer-developmentsourceforaglobalworkforceoftechnology leadersincluding:professors,researchers,softwareengineers,ITprofessionals,employers, andstudents.Theunmatchedsourcefortechnologyinformation,inspiration,and collaboration,theIEEEComputerSocietyisthesourcethatcomputingprofessionalstrustto providehigh-quality,state-of-the-artinformationonanon-demandbasis.TheComputer Societyprovidesawiderangeofforumsfortopmindstocometogether,includingtechnical conferences,publications,andacomprehensivedigitallibrary,uniquetrainingwebinars, professionaltraining,andtheTechLeaderTrainingPartnerProgramtohelporganizations increasetheirstaff’stechnicalknowledgeandexpertise,aswellasthepersonalized informationtoolmyComputer.Tofindoutmoreaboutthecommunityfortechnology leaders,visithttp://www.computer.org.
IEEE/WileyPartnership
TheIEEEComputerSocietyandWileypartnershipallowstheCSPressauthoredbookprogram toproduceanumberofexcitingnewtitlesinareasofcomputerscience,computing,and networkingwithaspecialfocusonsoftwareengineering.IEEEComputerSocietymembers receivea35%discountonWileytitlesbyusingtheirmemberdiscountcode.Pleasecontact IEEEPressfordetails.
Tosubmitquestionsabouttheprogramorsendproposals,pleasecontactMaryHatcher, Editor,Wiley-IEEEPress:Email:mhatcher@wiley.com,JohnWiley&Sons,Inc.,111River Street,Hoboken,NJ07030-5774.
HandbookofSoftwareFaultLocalization
FoundationsandAdvances
Editedby
W.EricWong
DepartmentofComputerScience,UniversityofTexasatDallas, Richardson,TX,USA
T.H.Tse
DepartmentofComputerScience,TheUniversityofHongKong, Pokfulam,HongKong
Thiseditionfirstpublished2023
Copyright©2023bytheIEEEComputerSociety.Allrightsreserved.
PublishedbyJohnWiley&Sons,Inc.,Hoboken,NewJersey.
PublishedsimultaneouslyinCanada.
Nopartofthispublicationmaybereproduced,storedinaretrievalsystem,ortransmittedinany formorbyanymeans,electronic,mechanical,photocopying,recording,scanning,orotherwise, exceptaspermittedunderSection107or108ofthe1976UnitedStatesCopyrightAct,without eitherthepriorwrittenpermissionofthePublisher,orauthorizationthroughpaymentofthe appropriateper-copyfeetotheCopyrightClearanceCenter,Inc.,222RosewoodDrive,Danvers, MA01923,(978)750-8400,fax(978)750-4470,oronthewebatwww.copyright.com.Requeststo thePublisherforpermissionshouldbeaddressedtothePermissionsDepartment,JohnWiley &Sons,Inc.,111RiverStreet,Hoboken,NJ07030,(201)748-6011,fax(201)748-6008,oronlineat http://www.wiley.com/go/permission.
Trademarks:WileyandtheWileylogoaretrademarksorregisteredtrademarksofJohnWiley &Sons,Inc.and/oritsaffiliatesintheUnitedStatesandothercountriesandmaynotbeused withoutwrittenpermission.Allothertrademarksarethepropertyoftheirrespectiveowners. JohnWiley&Sons,Inc.isnotassociatedwithanyproductorvendormentionedinthisbook.
LimitofLiability/DisclaimerofWarranty:Whilethepublisherandauthorshaveusedtheirbest effortsinpreparingthisbook,theymakenorepresentationsorwarrantieswithrespecttothe accuracyorcompletenessofthecontentsofthisbookandspecificallydisclaimanyimplied warrantiesofmerchantabilityorfitnessforaparticularpurpose.Nowarrantymaybecreatedor extendedbysalesrepresentativesorwrittensalesmaterials.Theadviceandstrategiescontained hereinmaynotbesuitableforyoursituation.Youshouldconsultwithaprofessionalwhere appropriate.Neitherthepublishernorauthorsshallbeliableforanylossofprofitoranyother commercialdamages,includingbutnotlimitedtospecial,incidental,consequential,orother damages.Further,readersshouldbeawarethatwebsiteslistedinthisworkmayhavechangedor disappearedbetweenwhenthisworkwaswrittenandwhenitisread.Neitherthepublishernor authorsshallbeliableforanylossofprofitoranyothercommercialdamages,includingbutnot limitedtospecial,incidental,consequential,orotherdamages.
Forgeneralinformationonourotherproductsandservicesorfortechnicalsupport,pleasecontact ourCustomerCareDepartmentwithintheUnitedStatesat(800)762-2974,outsidetheUnited Statesat(317)572-3993orfax(317)572-4002.
Wileyalsopublishesitsbooksinavarietyofelectronicformats.Somecontentthatappearsinprint maynotbeavailableinelectronicformats.FormoreinformationaboutWileyproducts,visitour websiteatwww.wiley.com
LibraryofCongressCataloging-in-PublicationData
Names:Wong,W.Eric,editor.|Tse,T.H.,editor.|JohnWiley&Sons, publisher.
Title:Handbookofsoftwarefaultlocalization:foundationsandadvances/ editedbyW.EricWong,T.H.Tse.
Description:Hoboken,NewJersey:Wiley,[2023]|Includesbibliographical referencesandindex.
Identifiers:LCCN2022037789(print)|LCCN2022037790(ebook)|ISBN 9781119291800(paperback)|ISBN9781119291817(adobepdf)|ISBN 9781119291824(epub)
Subjects:LCSH:Softwarefailures.|Softwarefailures–Dataprocessing.| Debuggingincomputerscience.|Computersoftware–Qualitycontrol.
Classification:LCCQA76.76.F34H362023(print)|LCCQA76.76.F34 (ebook)|DDC005.1–dc23/eng/20220920
LCrecordavailableathttps://lccn.loc.gov/2022037789
LCebookrecordavailableathttps://lccn.loc.gov/2022037790
CoverdesignedbyT.H.Tse
Setin9.5/12.5ptSTIXTwoTextbyStraive,Pondicherry,India
Contents
EditorBiographies xv ListofContributors xvii
1SoftwareFaultLocalization:anOverviewofResearch,Techniques, andTools 1 W.EricWong,RuizhiGao,YihaoLi,RuiAbreu,FranzWotawa, andDongchengLi
1.1Introduction 1
1.2TraditionalFaultLocalizationTechniques 14
1.2.1ProgramLogging 14
1.2.2Assertions 14
1.2.3Breakpoints 14
1.2.4Profiling 15
1.3AdvancedFaultLocalizationTechniques 15
1.3.1Slicing-BasedTechniques 15
1.3.2ProgramSpectrum-BasedTechniques 20
1.3.2.1Notation 20
1.3.2.2Techniques 21
1.3.2.3IssuesandConcerns 27
1.3.3Statistics-BasedTechniques 30
1.3.4ProgramState-BasedTechniques 32
1.3.5MachineLearning-BasedTechniques 34
1.3.6DataMining-BasedTechniques 36
1.3.7Model-BasedTechniques 37
1.3.8AdditionalTechniques 41
1.3.9DistributionofPapersinOurRepository 45
1.4SubjectPrograms 47
1.5EvaluationMetrics 50
1.6SoftwareFaultLocalizationTools 53
1.7CriticalAspects 58
1.7.1FaultLocalizationwithMultipleBugs 58
1.7.2Inputs,Outputs,andImpactofTestCases 60
1.7.3CoincidentalCorrectness 63
1.7.4FaultsIntroducedbyMissingCode 64
1.7.5CombinationofMultipleFaultLocalizationTechniques 65
1.7.6TiesWithinFaultLocalizationRankings 67
1.7.7FaultLocalizationforConcurrencyBugs 67
1.7.8SpreadsheetFaultLocalization 68
1.7.9TheoreticalStudies 70
1.8Conclusion 71
Notes 73
References 73
2TraditionalTechniquesforSoftwareFaultLocalization 119 YihaoLi,LinghuanHu,W.EricWong,VidrohaDebroy, andDongchengLi
2.1ProgramLogging 119
2.2Assertions 121
2.3Breakpoints 124
2.4Profiling 125
2.5Discussion 128
2.6Conclusion 130 References 131
3Slicing-BasedTechniquesforSoftwareFaultLocalization 135 W.EricWong,HiraAgrawal,andXiangyuZhang
3.1Introduction 135
3.2StaticSlicing-BasedFaultLocalization 136
3.2.1Introduction 136
3.2.2ProgramSlicingCombinedwithEquivalenceAnalysis 137
3.2.3FurtherApplication 138
3.3DynamicSlicing-BasedFaultLocalization 138
3.3.1DynamicSlicingandBacktrackingTechniques 144
3.3.2DynamicSlicingandModel-BasedTechniques 145
3.3.3CriticalSlicing 148
3.3.3.1RelationshipsBetweenCriticalSlices(CS)andExactDynamicProgram Slices(DPS) 149
3.3.3.2RelationshipBetweenCriticalSlicesandExecutedStaticProgram Slices 150
3.3.3.3ConstructionCost 150
3.3.4Multiple-PointsDynamicSlicing 151
3.3.4.1 BwS ofanErroneousComputedValue 152
3.3.4.2 FwS ofFailure-InducingInputDifference 152
3.3.4.3 BiS ofaCriticalPredicate 154
3.3.4.4 MPSs: DynamicChops 157
3.3.5ExecutionIndexing 158
3.3.5.1Concepts 159
3.3.5.2StructuralIndexing 161
3.3.6DualSlicingtoLocateConcurrencyBugs 165
3.3.6.1TraceComparison 165
3.3.6.2DualSlicing 168
3.3.7ComparativeCausality:aCausalInferenceModelBasedonDual Slicing 173
3.3.7.1PropertyOne:Relevance 174
3.3.7.2PropertyTwo:Sufficiency 175
3.3.8ImplicitDependencestoLocateExecutionOmissionErrors 177
3.3.9OtherDynamicSlicing-BasedTechniques 179
3.4ExecutionSlicing-BasedFaultLocalization 179
3.4.1FaultLocalizationUsingExecutionDice 179
3.4.2AFamilyofFaultLocalizationHeuristicsBasedonExecution Slicing 181
3.4.2.1HeuristicI 182
3.4.2.2HeuristicII 183
3.4.2.3HeuristicIII 185
3.4.3EffectiveFaultLocalizationBasedonExecutionSlicesandInter-block DataDependence 188
3.4.3.1AugmentingaBad 1 189
3.4.3.2RefiningaGood (1) 190
3.4.3.3AnIncrementalDebuggingStrategy 191
3.4.4OtherExecutionSlicing-BasedTechniquesinSoftwareFault Localization 193
3.5Discussions 193
3.6Conclusion 194 Notes 195 References 195
4Spectrum-BasedTechniquesforSoftwareFaultLocalization 201 W.EricWong,HuaJieLee,RuizhiGao,andLeeNaish
4.1Introduction 201
4.2BackgroundandNotation 203
4.2.1SimilarityCoefficient-BasedFaultLocalization 204
4.2.2AnExampleofUsingSimilarityCoefficienttoCompute Suspiciousness 205
4.3InsightsofSomeSpectra-BasedMetrics 210
4.4EquivalenceMetrics 212
4.4.1ApplicabilityoftheEquivalenceRelationtoOtherFaultLocalization Techniques 217
4.4.2ApplicabilityBeyondFaultLocalization 218
4.5SelectingaGoodSuspiciousnessFunction(Metric) 219
4.5.1CostofUsingaMetric 219
4.5.2OptimalityforProgramswithaSingleBug 220
4.5.3OptimalityforProgramswithDeterministicBugs 221
4.6UsingSpectrum-BasedMetricsforFaultLocalization 222
4.6.1Spectrum-BasedMetricsforFaultLocalization 222
4.6.2RefinementofSpectra-BasedMetrics 227
4.7EmpiricalEvaluationStudiesofSBFLMetrics 232
4.7.1TheConstructionofD∗ 234
4.7.2AnIllustrativeExample 235
4.7.3ACaseStudyUsingD∗ 237
4.7.3.1SubjectPrograms 237
4.7.3.2FaultLocalizationTechniquesUsedinComparisons 238
4.7.3.3EvaluationMetricsandCriteria 239
4.7.3.4StatementwithSameSuspiciousnessValues 240
4.7.3.5Results 241
4.7.3.6EffectivenessofD∗ withDifferentValuesof ∗ 247
4.7.3.7D∗ VersusOtherFaultLocalizationTechniques 248
4.7.3.8ProgramswithMultipleBugs 251
4.7.3.9Discussion 255
4.8Conclusion 261
Notes 262
References 263
5Statistics-BasedTechniquesforSoftwareFaultLocalization 271 ZhenyuZhangandW.EricWong
5.1Introduction 271
5.1.1Tarantula 272
5.1.2HowItWorks 272
5.2WorkingwithStatements 274
5.2.1TechniquesUndertheSameProblemSettings 275
5.2.2StatisticalVariances 275
5.3WorkingwithNon-statements 283
5.3.1Predicate:aPopularTrend 283
5.3.2BPEL:aSampleApplication 285
5.4PurifyingtheInput 286
5.4.1CoincidentalCorrectnessIssue 286
5.4.2ClassBalanceConsideration 287
5.5ReinterpretingtheOutput 288
5.5.1RevealingFaultNumber 288
5.5.2NoiseReduction 291 Notes 292 References 293
6MachineLearning-BasedTechniquesforSoftwareFault Localization 297 W.EricWong
6.1Introduction 297
6.2BPNeuralNetwork-BasedFaultLocalization 298
6.2.1FaultLocalizationwithaBPNeuralNetwork 298
6.2.2ReducetheNumberofCandidateSuspiciousStatements 302
6.3RBFNeuralNetwork-BasedFaultLocalization 304
6.3.1RBFNeuralNetworks 304
6.3.2Methodology 305
6.3.2.1FaultLocalizationUsinganRBFNeuralNetwork 306
6.3.2.2TrainingoftheRBFNeuralNetwork 307
6.3.2.3DefinitionofaWeightedBit-Comparison-BasedDissimilarity 309
6.4C4.5DecisionTree-BasedFaultLocalization 309
6.4.1Category-PartitionforRuleInduction 309
6.4.2RuleInductionAlgorithms 310
6.4.3StatementRankingStrategies 310
6.4.3.1RevisitingTarantula 310
6.4.3.2RankingStatementsBasedonC4.5Rules 312
6.5ApplyingSimulatedAnnealingwithStatementPruningforanSBFL Formula 314
6.6Conclusion 317 Notes 317 References 317
7DataMining-BasedTechniquesforSoftwareFaultLocalization 321 PeggyCellier,MireilleDucassé,SébastienFerré,OlivierRidoux, andW.EricWong
7.1Introduction 321
7.2FormalConceptAnalysisandAssociationRules 324
7.2.1FormalConceptAnalysis 325
x Contents
7.2.2AssociationRules 327
7.3DataMiningforFaultLocalization 329
7.3.1FailureRules 329
7.3.2FailureLattice 331
7.4TheFailureLatticeforMultipleFaults 336
7.4.1DependenciesBetweenFaults 336
7.4.2Example 341
7.5Discussion 342
7.5.1TheStructureoftheExecutionTraces 342
7.5.2UnionModel 343
7.5.3IntersectionModel 343
7.5.4NearestNeighbor 343
7.5.5DeltaDebugging 344
7.5.6FromtheTraceContexttotheFailureContext 344
7.5.7TheStructureofAssociationRules 345
7.5.8MultipleFaults 345
7.6FaultLocalizationUsing N-gramAnalysis 346
7.6.1Background 347
7.6.1.1ExecutionSequence 347
7.6.1.2 N-gramAnalysis 347
7.6.1.3LinearExecutionBlocks 349
7.6.1.4AssociationRuleMining 349
7.6.2Methodology 350
7.6.3Conclusion 353
7.7FaultLocalizationforGUISoftwareUsing N-gramAnalysis 353
7.7.1Background 354
7.7.1.1RepresentationoftheGUIandItsOperations 354
7.7.1.2EventHandler 356
7.7.1.3 N-gram 356
7.7.2AssociationRuleMining 357
7.7.3Methodology 357
7.7.3.1GeneralApproach 358
7.7.3.2 N-gramFaultLocalizationAlgorithm 358
7.8Conclusion 360 Notes 361 References 361
8InformationRetrieval-BasedTechniquesforSoftwareFault Localization 365 XinXiaandDavidLo
8.1Introduction 365
8.2GeneralIR-BasedFaultLocalizationProcess 368
8.3FundamentalInformationRetrievalTechniquesforSoftwareFault Localization 369
8.3.1VectorSpaceModel 369
8.3.2TopicModeling 370
8.3.3WordEmbedding 371
8.4EvaluationMetrics 372
8.4.1Top-k PredictionAccuracy 372
8.4.2MeanReciprocalRank(MRR) 373
8.4.3MeanAveragePrecision(MAP) 373
8.5TechniquesforDifferentScenarios 374
8.5.1TextofCurrentBugReportOnly 374
8.5.1.1VSMVariants 374
8.5.1.2TopicModeling 375
8.5.2TextandHistory 376
8.5.2.1VSMVariants 376
8.5.2.2TopicModeling 378
8.5.2.3DeepLearning 378
8.5.3TextandStack/ExecutionTraces 379
8.6EmpiricalStudies 380
8.7Miscellaneous 383
8.8Conclusion 385
Notes 385 References 386
9Model-BasedTechniquesforSoftwareFaultLocalization 393
BirgitHofer,FranzWotawa,WolfgangMayer,andMarkusStumptner
9.1Introduction 393
9.2BasicDefinitionsandAlgorithms 395
9.2.1AlgorithmsforMBD 401
9.3ModelingforMBD 404
9.3.1TheValue-BasedModel 405
9.3.2TheDependency-BasedModel 409
9.3.3ApproximationModelsforDebugging 413
9.3.4OtherModelingApproaches 416
9.4ApplicationAreas 417
9.5HybridApproaches 418
9.6Conclusions 419
Notes 420 References 420
10SoftwareFaultLocalizationinSpreadsheets 425
BirgitHoferandFranzWotawa
10.1Motivation 425
10.2DefinitionoftheSpreadsheetLanguage 427
10.3Cones 430
10.4Spectrum-BasedFaultLocalization 431
10.5Model-BasedSpreadsheetDebugging 435
10.6RepairApproaches 440
10.7CheckingApproaches 443
10.8Testing 445
10.9Conclusion 446
Notes 446
References 447
11TheoreticalAspectsofSoftwareFaultLocalization 451
XiaoyuanXieandW.EricWong
11.1Introduction 451
11.2AModel-BasedHybridAnalysis 452
11.2.1TheModelProgramSegment 452
11.2.2ImportantFindings 454
11.2.3Discussion 454
11.3ASet-BasedPureTheoreticalFramework 455
11.3.1DefinitionsandTheorems 455
11.3.2Evaluation 457
11.3.3TheMaximalityAmongAllInvestigatedFormulas 461
11.4AGeneralizedStudy 462
11.4.1SpectralCoordinateforSBFL 462
11.4.2GeneralizedMaximalandGreatestFormulain F464
11.5AbouttheAssumptions 465
11.5.1OmissionFaultand100%Coverage 465
11.5.2Tie-BreakingScheme 467
11.5.3MultipleFaults 467
11.5.4SomePlausibleCausesfortheInconsistenceBetweenEmpiricaland TheoreticalAnalyses 468
Notes 469
References 470
12SoftwareFaultLocalizationforProgramswithMultipleBugs 473
RuizhiGao,W.EricWong,andRuiAbreu
12.1Introduction 473
12.2One-Bug-at-a-Time 474
12.3TwoTechniquesProposedbyJonesetal. 475
12.3.1J1:ClusteringBasedonProfilesandFaultLocalizationResults 476
12.3.1.1ClusteringProfile-BasedBehaviorModels 476
12.3.1.2UsingFaultLocalizationtoStopClustering 478
12.3.1.3UsingFaultLocalizationClusteringtoRefineClusters 479
12.3.2J2:ClusteringBasedonFaultLocalizationResults 480
12.4LocalizationofMultipleBugsUsingAlgorithmsfromIntegerLinear Programming 481
12.5MSeer:anAdvancedFaultLocalizationTechniqueforLocatingMultiple BugsinParallel 483
12.5.1MSeer 485
12.5.1.1RepresentationofFailedTestCases 485
12.5.1.2RevisedKendalltauDistance 486
12.5.1.3Clustering 488
12.5.1.4MSeer:aTechniqueforLocatingMultipleBugsinParallel 494
12.5.2ARunningExample 496
12.5.3CaseStudies 499
12.5.3.1SubjectProgramsandDataCollections 499
12.5.3.2EvaluationofEffectivenessandEfficiency 501
12.5.3.3Results 503
12.5.4Discussions 510
12.5.4.1UsingDifferentFaultLocalizationTechniques 510
12.5.4.2ApplyMSeertoProgramswithaSingleBug 510
12.5.4.3DistanceMetrics 512
12.5.4.4TheImportanceofEstimatingtheNumberofClustersandAssigning InitialMedoids 514
12.6Spectrum-BasedReasoningforFaultLocalization 514
12.6.1Barinel 515
12.6.2Results 517
12.7OtherStudies 518
12.8Conclusion 520 Notes 521 References 522
13EmergingAspectsofSoftwareFaultLocalization 529 T.H.Tse,DavidLo,AlexGorce,MichaelPerscheid,RobertHirschfeld, andW.EricWong
13.1Introduction 529
13.2ApplicationoftheScientificMethodtoFaultLocalization 530
13.2.1ScientificDebugging 531
13.2.2IdentifyingandAssigningBugReportstoDevelopers 532
Index 581 xiv Contents
13.2.3UsingDebuggersinFaultLocalization 534
13.2.4Conclusion 538
13.3FaultLocalizationintheAbsenceofTestOraclesbySemi-provingof MetamorphicRelations 538
13.3.1MetamorphicTestingandMetamorphicRelations 539
13.3.2TheSemi-provingMethodology 541
13.3.2.1Semi-provingbySymbolicEvaluation 541
13.3.2.2Semi-provingasaFaultLocalizationTechnique 542
13.3.3TheNeedtoGoBeyondSymbolicEvaluation 543
13.3.4InitialEmpiricalStudy 543
13.3.5DetailedIllustrativeExamples 544
13.3.5.1FaultLocalizationExampleRelatedtoPredicateStatement 544
13.3.5.2FaultLocalizationExampleRelatedtoFaultyStatement 548
13.3.5.3FaultLocalizationExampleRelatedtoMissingPath 552
13.3.5.4FaultLocalizationExampleRelatedtoLoop 556
13.3.6ComparisonswithRelatedWork 558
13.3.7Conclusion 560
13.4AutomatedPredictionofFaultLocalizationEffectiveness 560
13.4.1OverviewofPEFA 561
13.4.2ModelLearning 564
13.4.3EffectivenessPrediction 564
13.4.4Conclusion 564
13.5IntegratingFaultLocalizationintoAutomatedTestGeneration Tools 565
13.5.1LocalizationintheContextofAutomatedTestGeneration 566
13.5.2AutomatedTestGenerationToolsSupportingLocalization 567
13.5.3AntifragileTestsandLocalization 568
13.5.4Conclusion 568
Notes 569
References 569
EditorBiographies
W.EricWong,PhD, isaFullProfessor,DirectorofSoftwareEngineering Program,andtheFoundingDirectorofAdvancedResearchCenterforSoftware TestingandQualityAssuranceinComputerScienceattheUniversityofTexas atDallas.HealsohasanappointmentasaGuestResearcherwiththeNational InstituteofStandardsandTechnology,anagencyoftheUSDepartmentof Commerce.
ProfessorWong’sresearchfocusesonhelpingpractitionersimprovesoftware qualitywhilereducingproductioncost.Inparticular,heisworkingonsoftware testing,programdebugging,riskanalysis,safety,andreliability.HewastherecipientoftheICST2020(The13thIEEEInternationalConferenceonSoftwareTesting,Verification,andValidation)MostInfluentialPaperawardforhispapertitled “UsingMutationtoAutomaticallySuggestFixesforFaultyPrograms” publishedat ICST2010.HealsoreceivedaJSS2020(JournalofSystemsandSoftware)Most InfluentialPaperawardforhispapertitled “AFamilyofCodeCoverage-based HeuristicsforEffectiveFaultLocalization” publishedinVolume83,Issue2, 2010.TheconferenceversionofthispaperreceivedtheBestPaperAwardat the31stIEEEInternationalComputerSoftwareandApplicationsConference.
ProfessorWongwastheawardrecipientofthe2014IEEEReliabilitySociety EngineeroftheYear.Inaddition,hewastheEditor-in-Chiefofthe IEEETransactionsonReliability forsixyearsendingon31May2022.HehasalsobeenanArea EditorofElsevier’s JournalofSystemsandSoftware since2017.Dr.Wongreceived hisMSandPhDinComputerSciencefromPurdueUniversity,WestLafayette, IN,USA.MoredetailscanbefoundatProfessorWong ’shomepagehttps:// personal.utdallas.edu/~ewong
T.H.Tse receivedhisPhDinInformationSystemsfromtheLondonSchool ofEconomicsandwasaVisitingFellowattheUniversityofOxford.Heisan HonoraryProfessorinComputerSciencewithTheUniversityofHongKongafter retiringfromthefullprofessorshipin2014.Hisresearchinterestisinprogram testinganddebugging.Hehasmorethan270publications,includingabookin
EditorBiographies
theCambridgeTractsinTheoreticalComputerScienceseries,CambridgeUniversityPress.Heisrankedinternationallyasno.2amongexpertsinmetamorphic testing.The2010papertitled “AdaptiveRandomTesting:theARTofTestCase Diversity” byProfessorTseandteamhasbeenselectedastheGrandChampion oftheMostInfluentialPaperAwardbythe JournalofSystemsandSoftware. ProfessorTseisaSteeringCommitteeChairoftheIEEEInternationalConferenceonSoftwareQuality,Reliability,andSecurity;andanAssociateEditorof IEEETransactionsonReliability.HeservedontheSearchCommitteeforthe Editor-in-Chiefof IEEETransactionsonSoftwareEngineering in2013.HeisaLife FellowoftheBritishComputerSocietyandaLifeSeniorMemberoftheIEEE. HewasawardedanMBEbyQueenElizabethIIoftheUnitedKingdom.
ListofContributors
RuiAbreu DepartmentofInformatics Engineering,FacultyofEngineering UniversityofPorto,Porto,Portugal
HiraAgrawal PeratonLabs,BaskingRidge,NJ,USA
PeggyCellier
INSA,CNRS,IRISA,Universitede Rennes,Rennes,France
VidrohaDebroy DepartmentofComputerScience UniversityofTexasatDallas Richardson,TX,USA and DottidInc.,Dallas,TX,USA
MireilleDucassé
INSA,CNRS,IRISA,Universitede Rennes,Rennes,France
SébastienFerré
CNRS,IRISA,UniversitedeRennes Rennes,France
RuizhiGao SonosInc.,Boston,MA,USA
AlexGorce SchoolofInformatics,Computing, andCyberSystems,Northern ArizonaUniversity,Flagstaff AZ,USA
RobertHirschfeld DepartmentofComputerScience UniversitätPotsdam,Brandenburg Germany
BirgitHofer InstituteofSoftwareTechnology GrazUniversityofTechnology,Graz Austria
LinghuanHu GoogleInc.,MountainView CA,USA
HuaJieLee SchoolofComputing,Macquarie University,Sydney,NSW Australia
DongchengLi DepartmentofComputerScience UniversityofTexasatDallas Richardson,TX,USA
YihaoLi
SchoolofInformationandElectrical Engineering,LudongUniversity Yantai,China
DavidLo SchoolofComputingandInformation Systems,SingaporeManagement University,Singapore
WolfgangMayer AdvancedComputingResearch Centre,UniversityofSouthAustralia Adelaide,SA,Australia
LeeNaish SchoolofComputingandInformation Systems,TheUniversityofMelbourne Melbourne,Australia
MichaelPerscheid DepartmentofComputerScience UniversitätPotsdam,Brandenburg Germany
OlivierRidoux CNRS,IRISA,UniversitedeRennes Rennes,France
MarkusStumptner AdvancedComputingResearch Centre,UniversityofSouthAustralia Adelaide,SA,Australia
T.H.Tse DepartmentofComputerScience,The UniversityofHongKong,Pokfulam HongKong
W.EricWong DepartmentofComputerScience UniversityofTexasatDallas Richardson,TX,USA
FranzWotawa InstituteofSoftwareTechnology,Graz UniversityofTechnology,Graz Austria
XinXia SoftwareEngineeringApplication TechnologyLab,Huawei,China
XiaoyuanXie SchoolofComputerScience,Wuhan University,Wuhan,China
XiangyuZhang DepartmentofComputerScience PurdueUniversity,WestLafayette IN,USA
ZhenyuZhang InstituteofSoftware,Chinese AcademyofSciences,Beijing,China
SoftwareFaultLocalization:anOverviewofResearch, Techniques,andTools
W.EricWong1,RuizhiGao2,YihaoLi3,RuiAbreu4,FranzWotawa5, andDongchengLi1
1 DepartmentofComputerScience,UniversityofTexasatDallas,Richardson,TX,USA
2 SonosInc.,Boston,MA,USA
3 SchoolofInformationandElectricalEngineering,LudongUniversity,Yantai,China
4 DepartmentofInformaticsEngineering,FacultyofEngineering,UniversityofPorto,Porto,Portugal
5 InstituteofSoftwareTechnology,GrazUniversityofTechnology,Graz,Austria
1.1Introduction
Softwarefaultlocalization,theactofidentifyingthelocationsoffaultsina program,iswidelyrecognizedtobeoneofthemosttedious,time-consuming, andexpensive – yetequallycritical – activitiesinprogramdebugging.Dueto theincreasingscaleandcomplexityofsoftwaretoday,manuallylocatingfaults whenfailuresoccurisrapidlybecominginfeasible,andconsequently,thereisa strongdemandfortechniquesthatcanguidesoftwaredeveloperstothelocations offaultsinaprogramwithminimalhumanintervention.Thisdemandinturnhas fueledtheproposalanddevelopmentofabroadspectrumoffaultlocalizationtechniques,eachofwhichaimstostreamlinethefaultlocalizationprocessandmakeit moreeffectivebyattackingtheprobleminauniqueway.Inthisbook,wecategorizeandprovideacomprehensiveoverviewofsuchtechniquesanddiscusskey issuesandconcernsthatarepertinenttosoftwarefaultlocalization.
Softwareisfundamentaltoourlivestoday,andwithitsever-increasingusage andadoption,itsinfluenceispracticallyubiquitous.Atpresent,softwareisnot justemployedin,butiscriticalto,manysecurityandsafety-criticalsystemsin industriessuchasmedicine,aeronautics,andnuclearenergy.Notsurprisingly,
ThischapterisanextensionofWong,W.E.,Gao,R.,Li,Y.,Abreu,R.,andWotawa,F.(2016). Asurveyonsoftwarefaultlocalization. IEEETransactionsonSoftwareEngineering 42(8):707–740. 1
HandbookofSoftwareFaultLocalization:FoundationsandAdvances,FirstEdition.
EditedbyW.EricWongandT.H.Tse.
©2023TheInstituteofElectricalandElectronicsEngineers,Inc. Published2023byJohnWiley&Sons,Inc.
2 1SoftwareFaultLocalization:anOverviewofResearch,Techniques,andTools
thistrendhasbeenaccompaniedbyadrasticincreaseinthescaleandcomplexity ofsoftware.Unfortunately,thishasalsoresultedinmoresoftwarebugs,which oftenleadtoexecutionfailureswithhugelosses[1–3].On15January1990,the AT&ToperationcenterinBedminster,NJ,USA,hadanincreaseofredwarning signalsappearingacrossthe75screensthatindicatedthestatusofpartsofthe AT&Tworldwidenetwork.Asaresult,onlyabout50percentofthecallsmade throughAT&Twereconnected.IttookninehoursfortheAT&Ttechniciansto identifyandfixtheissuecausedbyamisplacedbreakstatementinthecode. AT&Tlost$60to$75millioninthisaccident[4].
Furthermore,softwarefaultsinsafety-criticalsystemshavesignificantramificationsnotonlylimitedtofinancialloss,butalsotolossoflife,whichisalarming[5]. On20December1995,aBoeing757departedfromMiami,FL,USA.Theaircraft washeadingtoCali,Colombia.However,itcrashedintoa9800feetmountain. Atotalof159deathsresulted;leavingonlyfivepassengersalive.Thisevent markedthehighestdeathtollofanyaccidentinColombiaatthetime.Thisaccidentwascausedbytheinconsistenciesbetweenthenamingconventionsofthe navigationalchartsandtheflightmanagementsystem.Whenthecrewlooked upthewaypoint “Rozo”,thechartindicatedtheletter “R” asitsidentifier.The flightmanagementsystem,however,hadthecitypairedwiththeword “Rozo” Asaresult,whenthepilotenteredtheletter “R”,thesystemdidnotknowif thedesiredcitywasRozoorRomeo.ItautomaticallypickedRomeo,whichisa largercitythanRozo,asthenextwaypoint.
A2006reportfromtheNationalInstituteofStandardsandTechnology(NIST) [6] indicatedthatsoftwareerrorsareestimatedtocosttheUSeconomy$59.5billionannually(0.6percentoftheGDP);thecosthasundoubtedlygrownsincethen. Overhalfthecostoffixingorrespondingtothesebugsispassedontosoftware users,whilesoftwaredevelopersandvendorsabsorbtherest.
Evenwhenfaultsinsoftwarearediscoveredduetoerroneousbehaviororsome othermanifestationofthefault(s),1 findingandfixingthemisanentirelydifferent matter.Faultlocalization,whichfocusesontheformer,i.e.identifyingthelocationsoffaults,hashistoricallybeenamanualtaskthathasbeenrecognizedto betime-consumingandtediousaswellasprohibitivelyexpensive[7],giventhe sizeandcomplexityoflarge-scalesoftwaresystemstoday.Furthermore,manual faultlocalizationreliesheavilyonthesoftwaredeveloper’sexperience,judgment, andintuitiontoidentifyandprioritizecodethatislikelytobefaulty.Theselimitationshaveledtoasurgeofinterestindevelopingtechniquesthatcanpartiallyor fullyautomatethelocalizationoffaultsinsoftwarewhilereducinghumaninput. Thoughsometechniquesaresimilarandsomeverydifferent(intermsofthetype ofdataconsumed,theprogramcomponentsfocusedon,comparativeeffectiveness andefficiency,etc.),theyeachtrytoattacktheproblemoffaultlocalizationfroma uniqueperspective,andtypicallyofferbothadvantagesanddisadvantagesrelative
1.1Introduction 3
tooneanother.Withmanytechniquesalreadyinexistenceandotherscontinually beingproposed,aswellaswithadvancesbeingmadebothfromatheoreticaland practicalperspective,itisimportanttocatalogandoverviewcurrentstate-of-thearttechniquesinfaultlocalizationinordertoofferacomprehensiveresourcefor thosealreadyintheareaandthoseinterestedinmakingcontributionstoit.
Inordertoprovideacompletesurveycoveringmostofthepublicationsrelated tosoftwarefaultlocalizationsincethelate1970s,inthischapter,wecreatedapublicationrepositorythatincludes587paperspublishedfrom1977to2020.Wealso searchedforMasters’ andPhDthesescloselyrelatedtosoftwarefaultlocalization, whicharelistedinTable1.1.
Table1.1 AlistofrecentPhDandMasters’ thesesonsoftwarefaultlocalization.
AuthorTitleDegreeUniversityYear
EhudY.Shapiro[8]AlgorithmicProgram Debugging
HiralalAgrawal[9]TowardsAutomatic Debuggingof ComputerPrograms
HsinPan[10]Softwaredebugging withdynamic instrumentationand test-basedknowledge
W.BondGregory[11]LogicProgramsfor Consistency-based Diagnosis
BenjaminRobertLiblit[12]CooperativeBug Isolation
BernhardPeischl[13]AutomatedSourceLevelDebuggingof SynthesizeableVHDL Designs
HaifengHe[14]Automated Debuggingusing Path-basedWeakest Preconditions
AlexDavidGroce[15]ErrorExplanation andFault Localizationwith DistanceMetrics
Arizona
(Continued)
4 1SoftwareFaultLocalization:anOverviewofResearch,Techniques,andTools
Table1.1 (Continued)
AuthorTitleDegreeUniversityYear
EmmanuelRenieris[16]AResearch Frameworkfor Software-Fault LocalizationTools
DanielKöb[17]ExtendedModeling forAutomaticFault Localizationin Object-Oriented Software
DavidHovemeyer[18]SimpleandEffective StaticAnalysistoFind Bugs
PeifengHu[19]AutomatedFault Localization: aStatisticalPredicate AnalysisApproach
XiangyuZhang[20]FaultLocalizationvia PreciseDynamic Slicing
RafiVayani[21]ImprovingAutomatic SoftwareFault Localization
RamanaRaoKompella[22]FaultLocalizationin BackboneNetworks
AndreasGriesmayer[23]DebuggingSoftware: fromVerificationto Repair
TaoWang[24]Post-Mortem DynamicAnalysisFor SoftwareDebugging
SriramanTallam[25]FaultLocationand AvoidanceinLongRunning Multithreaded Applications
OpheliaC.Chesley[26]CRISP-Afault localizationToolfor JavaPrograms
ShanLu[27]Understanding, Detectingand Exposing ConcurrencyBugs
Technology
Technology
California, SanDiego
Technology
Champaign
Table1.1 (Continued)
AuthorTitleDegreeUniversityYear
NaveedRiaz[28]AutomatedSourceLevelDebuggingof SynthesizableVerilog Designs
JamesArthurJones[29]Semi-AutomaticFault Localization
ZhenyuZhang[30]SoftwareDebugging throughDynamic AnalysisofProgram Structures
RuiAbreu[31]Spectrum-basedFault Localizationin EmbeddedSoftware
DennisJefferey[32]DynamicState Alteration Techniquesfor Automatically LocatingSoftware Errors
XinmingWang[33]Automatic LocalizationofCode OmissionFaults
FabrizioPastore[34]AutomaticDiagnosis ofSoftware FunctionalFaultsby MeansofInferred BehavioralModels
MihaiNica[35] OntheUseof Constraintsin AutomatedProgram Debugging – From Foundationsto EmpiricalResults
ZacharyP.Fry[36]FaultLocalization UsingTextual Similarities
HuaJieLee[37]SoftwareDebugging UsingProgram Spectra
Instituteof Technology
Universityof HongKong
Universityof Technology
California Riverside
Kong Universityof Scienceand Technology
Milan Bicocca
Virginia
Melbourne
(Continued)
6 1SoftwareFaultLocalization:anOverviewofResearch,Techniques,andTools
Table1.1 (Continued)
AuthorTitleDegreeUniversityYear
VidrohaDebroy[38]Towardsthe Automationof ProgramDebugging
AlbertoGonzalezSanchez [39] CostOptimizationsin RuntimeTestingand Diagnosis
JaredDavidDeMott[40]Enhancing AutomatedFault Discoveryand Analysis
XinZhang[41]SecureandEfficient NetworkFault Localization
XiaoyuanXie[42]OntheAnalysisof Spectrum-basedFault Localization
AlexandrePerez[43]DynamicCode Coveragewith ProgressiveDetail Levels
RaulSantelices[44]Change-effects AnalysisforEffective Testingand ValidationofEvolving Software
George.K.Baah[45]StatisticalCausal AnalysisforFault Localization
SwarupK.Sahoo[46]ANovelInvariantsbasedApproachfor AutomatedSoftware FaultLocalization
BirgitHofer[47]FromFault Localizationof Programswrittenin 3rdlevelLanguageto Spreadsheets
AritraBandyopadhyay[48]MitigatingtheEffect ofCoincidental Correctnessin Spectrum-basedFault Localization
Universityof Technology
Illinoisat
Champaign
Table1.1 (Continued)
AuthorTitleDegreeUniversityYear
ShounakRoychowdhury [49] AMixedApproachto Spectrum-basedFault LocalizationUsing InformationTheoretic Foundations
ShaimaaAli[50]LocalizingStateDependentFaults UsingAssociated SequenceMining
ChristianKuhnert[51]Data-drivenMethods forFaultLocalization inProcessTechnology
DaweiQi[52]SemanticAnalysesto DetectandLocalize SoftwareRegression Errors
WilliamN.Sumner[53]AutomatedFailure ExplanationThrough Execution Comparison
MarkA.Hays[54]AFault-basedModel ofFaultLocalization Techniques
SangMinPark[55]EffectiveFault Localization Techniquesfor ConcurrentSoftware
GangShu[56]StatisticalEstimation ofSoftwareReliability andFailure-causing Effect
Lucia[57]Ranking-based Approachesfor LocalizingFaults
Seok-HyeonMoon[58]EffectiveSoftware FaultLocalization usingDynamic ProgramBehaviors
Texasat Austin
8 1SoftwareFaultLocalization:anOverviewofResearch,Techniques,andTools
Table1.1 (Continued)
AuthorTitleDegreeUniversityYear
YepangLiu[59]AutomatedAnalysis ofEnergyEfficiency andPerformancefor MobileApplications
CuitingChen[60]AutomatedFault Localizationfor Service-Oriented SoftwareSystems
MatthiasRohr[61]Workload-sensitive TimingBehavior AnalysisforFault Localizationin SoftwareSystems
OzkanBayraktar[62]Ela:anAutomated StatisticalFault Localization Technique
AzimTonzirul[63]FaultDiscovery, Localization,and Recoveryin SmartphoneApps
Laleh Gholamosseinghandehari [64] FaultLocalization basedon Combinatorial Testing
RuizhiGao[65]AdvancedSoftware FaultLocalizationfor Programswith MultipleBugs
Shih-FengSun[66]StatisticalFault Localizationand CausalInteractions
RongxinWu[67]Automated Techniquesfor DiagnosingCrashing Bugs
ArjunRoy[68]Simplifyingdataleft faultdetectionand localization
Table1.1 (Continued)
AuthorTitleDegreeUniversityYear
YunGuo[69]Towards Automatically Localizingand RepairingSQLFaults
NasirSafdari[70]LearningtoRank RelevantFilesforBug ReportsUsing Domainknowledge, Replicationand Extensionofa Learning-to-Rank Approach
DaiTing[71]AHybridApproachto CloudSystem PerformanceBug Detection,Diagnosis andFix
GeorgeThompson[72]TowardsAutomated FaultLocalizationfor Prolog
MasterNorth Carolina A&TState University
XiaLi[73]AnIntegrated Approachfor AutomatedSoftware Debuggingvia MachineLearning andBigCodeMining PhDThe Universityof Texasat Dallas
MuhammadAliGulzar [74] AutomatedTesting andDebuggingforBig DataAnalytics
MihirMathur[75]Leveraging DistributedTracing andContainer CloningforReplay Debuggingof Microservices
California, LosAngeles
MasterUniversityof California, LosAngeles
Allpapersinourrepository2 aresortedbyyear,andtheresultisdisplayedin Figure1.1.Asshowninthefigure,thenumberofpublicationsgrewrapidlyafter 2001,indicatingthatmoreandmoreresearchersbegantodevotethemselvestothe areaofsoftwarefaultlocalizationoverthelasttwodecades.


Also,asperourrepository,Figure1.2.givesthenumberofpublicationsrelated tosoftwarefaultlocalizationthathaveappearedintopqualityandleadingjournalsandconferencesthatfocusonSoftwareEngineering – IEEETransactions onSoftwareEngineering,ACMTransactionsonSoftwareEngineeringand