Skip to product information
1 of 1
Regular price £83.69 GBP
Regular price Sale price £83.69 GBP
Sale Sold out
Free UK Shipping

Freshly Printed - allow 7 days lead

Handbook of Software Fault Localization
Foundations and Advances

W. Eric Wong (Edited by), Wong (Author), T.H. Tse (Edited by)

9781119291800, Wiley

Paperback / softback, published 20 April 2023

608 pages
22.9 x 15.2 x 3.2 cm, 0.916 kg

Handbook of Software Fault Localization

A comprehensive analysis of fault localization techniques and strategies

In Handbook of Software Fault Localization: Foundations and Advances, distinguished computer scientists Prof. W. Eric Wong and Prof. T.H. Tse deliver a robust treatment of up-to-date techniques, tools, and essential issues in software fault localization. The authors offer collective discussions of fault localization strategies with an emphasis on the most important features of each approach.

The book also explores critical aspects of software fault localization, like multiple bugs, successful and failed test cases, coincidental correctness, faults introduced by missing code, the combination of several fault localization techniques, ties within fault localization rankings, concurrency bugs, spreadsheet fault localization, and theoretical studies on fault localization.

Readers will benefit from the authors’ straightforward discussions of how to apply cost-effective techniques to a variety of specific environments common in the real world. They will also enjoy the in-depth explorations of recent research directions on this topic.

Handbook of Software Fault Localization also includes:

  • A thorough introduction to the concepts of software testing and debugging, their importance, typical challenges, and the consequences of poor efforts
  • Comprehensive explorations of traditional fault localization techniques, including program logging, assertions, and breakpoints
  • Practical discussions of slicing-based, program spectrum-based, and statistics-based techniques
  • In-depth examinations of machine learning-, data mining-, and model-based techniques for software fault localization

Perfect for researchers, professors, and students studying and working in the field, Handbook of Software Fault Localization: Foundations and Advances is also an indispensable resource for software engineers, managers, and software project decision makers responsible for schedule and budget control.

Editor Biographies xv

List of Contributors xvii

1 Software Fault Localization: an Overview of Research, Techniques, and Tools 1
W. Eric Wong, Ruizhi Gao, Yihao Li, Rui Abreu, Franz Wotawa, and Dongcheng li

1.1 Introduction 1

1.2 Traditional Fault Localization Techniques 14

1.3 Advanced Fault Localization Techniques 15

1.4 Subject Programs 47

1.5 Evaluation Metrics 50

1.6 Software Fault Localization Tools 53

1.7 Critical Aspects 58

1.8 Conclusion 71

Notes 73

References 73

2 Traditional Techniques for Software Fault Localization 119
Yihao Li, Linghuan Hu, W. Eric Wong, Vidroha Debroy, and Dongcheng li

2.1 Program Logging 119

2.2 Assertions 121

2.3 Breakpoints 124

2.4 Profiling 125

2.5 Discussion 128

2.6 Conclusion 130

References 131

3 Slicing-Based Techniques for Software Fault Localization 135
W. Eric Wong, Hira Agrawal, and Xiangyu Zhang

3.1 Introduction 135

3.2 Static Slicing-Based Fault Localization 136

3.3 Dynamic Slicing-Based Fault Localization 138

3.4 Execution Slicing-Based Fault Localization 179

3.5 Discussions 193

3.6 Conclusion 194

Notes 195

References 195

4 Spectrum-Based Techniques for Software Fault Localization 201
W. Eric Wong, Hua Jie Lee, Ruizhi Gao, and Lee Naish

4.1 Introduction 201

4.2 Background and Notation 203

4.3 Insights of Some Spectra-Based Metrics 210

4.4 Equivalence Metrics 212

4.5 Selecting a Good Suspiciousness Function (Metric) 219

4.6 Using Spectrum-Based Metrics for Fault Localization 222

4.7 Empirical Evaluation Studies of SBFL Metrics 232

4.8 Conclusion 261

Notes 262

References 263

5 Statistics-Based Techniques for Software Fault Localization 271
Zhenyu Zhang and W. Eric Wong

5.1 Introduction 271

5.2 Working with Statements 274

5.3 Working with Non-statements 283

5.4 Purifying the Input 286

5.5 Reinterpreting the Output 288

Notes 292

References 293

6 Machine Learning-Based Techniques for Software Fault Localization 297
W. Eric Wong

6.1 Introduction 297

6.2 BP Neural Network-Based Fault Localization 298

6.3 RBF Neural Network-Based Fault Localization 304

6.4 C4.5 Decision Tree-Based Fault Localization 309

6.5 Applying Simulated Annealing with Statement Pruning for an SBFL Formula 314

6.6 Conclusion 317

Notes 317

References 317

7 Data Mining-Based Techniques for Software Fault Localization 321
Peggy Cellier, Mireille Ducassé, Sébastien Ferré, Olivier Ridoux, and W. Eric Wong

7.1 Introduction 321

7.2 Formal Concept Analysis and Association Rules 324

7.3 Data Mining for Fault Localization 329

7.4 The Failure Lattice for Multiple Faults 336

7.5 Discussion 342

7.6 Fault Localization Using N-gram Analysis 346

7.7 Fault Localization for GUI Software Using N-gram Analysis 353

7.8 Conclusion 360

Notes 361

References 361

8 Information Retrieval-Based Techniques for Software Fault Localization 365
Xin Xia and David Lo

8.1 Introduction 365

8.2 General IR-Based Fault Localization Process 368

8.3 Fundamental Information Retrieval Techniques for Software Fault Localization 369

8.4 Evaluation Metrics 372

8.5 Techniques for Different Scenarios 374

8.6 Empirical Studies 380

8.7 Miscellaneous 383

8.8 Conclusion 385

Notes 385

References 386

9 Model-Based Techniques for Software Fault Localization 393
Birgit Hofer, Franz Wotawa, Wolfgang Mayer, and Markus Stumptner

9.1 Introduction 393

9.2 Basic Definitions and Algorithms 395

9.3 Modeling for MBD 404

9.4 Application Areas 417

9.5 Hybrid Approaches 418

9.6 Conclusions 419

Notes 420

References 420

10 Software Fault Localization in Spreadsheets 425
Birgit Hofer and Franz Wotawa

10.1 Motivation 425

10.2 Definition of the Spreadsheet Language 427

10.3 Cones 430

10.4 Spectrum-Based Fault Localization 431

10.5 Model-Based Spreadsheet Debugging 435

10.6 Repair Approaches 440

10.7 Checking Approaches 443

10.8 Testing 445

10.9 Conclusion 446

Notes 446

References 447

11 Theoretical Aspects of Software Fault Localization 451
Xiaoyuan Xie and W. Eric Wong

11.1 Introduction 451

11.2 A Model-Based Hybrid Analysis 452

11.3 A Set-Based Pure Theoretical Framework 455

11.4 A Generalized Study 462

11.5 About the Assumptions 465

Notes 469

References 470

12 Software Fault Localization for Programs with Multiple Bugs 473
Ruizhi Gao, W. Eric Wong, and Rui Abreu

12.1 Introduction 473

12.2 One-Bug-at-a-Time 474

12.3 Two Techniques Proposed by Jones et al. 475

12.4 Localization of Multiple Bugs Using Algorithms from Integer Linear Programming 481

12.5 MSeer: an Advanced Fault Localization Technique for Locating Multiple Bugs in Parallel 483

12.6 Spectrum-Based Reasoning for Fault Localization 514

12.7 Other Studies 518

12.8 Conclusion 520

Notes 521

References 522

13 Emerging Aspects of Software Fault Localization 529
T.H. Tse, David Lo, Alex Gorce, Michael Perscheid, Robert Hirschfeld, and W. Eric Wong

13.1 Introduction 529

13.2 Application of the Scientific Method to Fault Localization 530

13.3 Fault Localization in the Absence of Test Oracles by Semi-proving of Metamorphic Relations 538

13.4 Automated Prediction of Fault Localization Effectiveness 560

13.5 Integrating Fault Localization into Automated Test Generation Tools 565

Notes 569

References 569

Index 581

Subject Areas: Electronics & communications engineering [TJ]

View full details