Int J Performability Eng ›› 2018, Vol. 14 ›› Issue (9): 2066-2075.doi: 10.23940/ijpe.18.09.p15.20662075

Previous Articles     Next Articles

From Predicate Testing to Identify Fault Location for Safety-Critical Software

Yong Wanga, b, Qiansong Wang a, *, Guifu Lua, Zhiqiu Huangc, Bingwu Fangc, Yong Lic, and Weiwei Lic   

  1. aSchool of Computer and Information, Anhui Polytechnic University, Wuhu, 241000, China;
    bKey Laboratory of Safety-Critical Software, Nanjing University of Aeronautics and Astronautics, Nanjing, 210000, China;
    cCollege of Computer Science and Technology, Nanjing University of Aeronautics and Astronautics, Nanjing, 210016, China
  • Revised on ; Accepted on
  • Contact: * E-mail address: YongWang@ahpu.edu.cn

Abstract: Statistical fault localization is one of the essential tasks of program debugging, and it has shown that the evaluation history of predicates may disclose important clues about the root cause of failures. However, especially for safety-critical software, there exists evaluation bias using same granularity to measure simple predicates and complex compound predicates. Intuitively, we should use fine-grain predicates to evaluate the suspiciousness of complex compound predicates and reduce the evaluation bias. In this paper, we propose a novel predicate fault localization technique from predicate testing to identify fault location. Based on the predicate fault model, we first generate constraint sets for each predicate and then calculate the suspiciousness of predicates by evaluating their constraint sets. Finally, we sort the suspicious predicates by their suspiciousness. Our preliminary results show that our approach can significantly improve fault predicate absolute ranking.

Key words: fault localization, predicate testing, debugging