Event

Research Seminar: Using Bugs to Debug

  • Conférencier  Dr. Lingming Zhang (University of Texas at Dallas)

  • Lieu

    Room E04-413, JFK Building

    29 Avenue J.F. Kennedy

    L-1855, Kirchberg, LU

Localising failure-inducing code is essential for software debugging. Manual fault localisation can be quite tedious, error-prone, and time-consuming. Therefore, a huge body of research effort has been dedicated to automated fault localisation.

Spectrum-based fault localisation, the most intensively studied fault localisation approach based on test execution information, may have limited effectiveness, since a code element executed by a failed test may not necessarily have an impact on the test outcome and cause the test failure. To bridge the gap, mutation-based fault localisation has been proposed to inject artificial bugs to check the impact of each code element for better fault localisation. However, there are limited studies on the effectiveness of mutation-based fault localisation on a sufficient number of real bugs. In this paper, we perform an extensive study to compare mutation-based fault localisation techniques with various state-of-the-art spectrum-based fault localisation techniques on 357 real bugs from the Defects4J benchmark suite. The study results firstly demonstrate the effectiveness of mutation-based fault localisation, as well as revealing a number of guidelines for further improving mutation-based fault localisation. Based on the learnt guidelines, we further transform test outputs/messages and test code to obtain various mutation information. Then, we propose TraPT, an automated Learning-to-Rank technique to fully explore the obtained mutation information for effective fault localisation. The experimental results show that TraPT localizes 65.12% and 94.52% more bugs within Top-1 than state-of-the-art mutation and spectrum based techniques when using the default setting of LIBSVM.

Dr. Lingming Zhang is an assistant professor in the Computer Science Department at the University of Texas at Dallas. He obtained his Ph.D. degree from the Department of Electrical and Computer Engineering in the University of Texas at Austin in May 2014. He received his MS degree and BS degree in Computer Science from Peking University (2010) and Nanjing University (2007), respectively. His research interests lie broadly in software engineering and programming languages, including automated software analysis, testing, debugging, and verification, as well as software evolution and mobile computing. He has authored over 40 papers in premier software engineering or programming language conferences and transactions. He has also served on the program/organization committee or artifact evaluation committee for various international conferences (including ICSE, ISSTA, ASE, ICST, ICSM, and OOPSLA). His research is being supported by NSF, Google, Huawei and Samsung.