Handbook of software fault localization w. eric wong all chapter instant download

Page 1


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

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

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

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

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

Figure1.1 Papersonsoftwarefaultlocalizationfrom1977to2020.
Figure1.2 Publicationsonsoftwarefaultlocalizationintopvenuesfrom2001to2020.

Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.
Handbook of software fault localization w. eric wong all chapter instant download by Education Libraries - Issuu