Int J Performability Eng ›› 2019, Vol. 15 ›› Issue (12): 3179-3186.doi: 10.23940/ijpe.19.12.p9.31793186

Previous Articles     Next Articles

Search-based Software Debugging using Weighted Fault Propagation Graphs

Bingwu Fanga,b, Yong Lib,c,*, Yong Wangb,d,e,*, Xiangyu Chenge, and Zhaohui Xuf   

  1. aSchool of Yungui Information, Anhui Finance and Trade Vocational College, Hefei, 230601, China;
    bKey Laboratory of Safety-Critical Software (Nanjing University of Aeronautics and Astronautics), Ministry of Industry and Information Technology, Nanjing, 210000, China;
    cData Security Key Laboratory, Xinjiang Normal University, Urumqi, 830054, China;
    dState Key Laboratory for Novel Software Technology, Nanjing University, Nanjing, 210000, China;
    eSchool of Computer and Information, Anhui Polytechnic University, Wuhu, 241000, China;
    fAvic East Optoelectronics (Shanghai) Co., LTD, Shanghai, 201100, China
  • Submitted on ; Revised on ; Accepted on
  • Contact: * E-mail address: yongwang@ahpu.edu.cn, liyong@live.com

Abstract: Manual program debugging is tedious as well as time-consuming. The high costs have motivated the development of automatic program debugging approaches, which mainly focus on helping programmers identify fault locations. Xie et al. revisited automatic debugging via human focus-tracking to validate its effectiveness. However, their observations implied that there exists interference between the mechanism of the automated debugging approach and the actual assistance needed by programmers during program debugging. To solve this problem, we propose a search-based software debugging approach based on weighted fault propagation graphs (WFPG). We firstly use spectrum-based fault localization techniques to generate a suspicious module-fault ranking list and then construct a WFPG for each suspicious program module to assist programmers in understanding fault propagation. Our approach integrates automatic fault localization and program understanding to help programmers debug. We conduct a case study to demonstrate the effectiveness of our approach, and the results are promising.

Key words: debugging, fault localization, fault propagation graph