Fault Localization in Embedded Software based on a Single Cyclic Trace

The paper Fault Localization in Embedded Software based on a Single Cyclic Trace has been accepted to ISSRE 2013, the 24th IEEE International Symposium on Software Reliability Engineering, Pasadena, CA.

Locating faults in embedded software, especially in microcontroller context, is still difficult. Quite recently, it became possible to recover execution traces from microcontrollers using specific hardware probes. However, the collected traces contain a huge volume of low-level data. Consequently, manual analysis is difficult and our industrial partners call for automatic and more effective fault-localization methods for embedded software.

This paper presents a new approach to automatically locate faults in embedded programs given a single faulty execution trace. Our approach exploits the cyclic nature of embedded programs and uses the Ochiai spectrum-based method in order to find fault on a single execution, rather than a set of multiple failing and passing executions. Our approach is implemented in a tool named CoMET and evaluated on several faulty programs. The evaluation shows that our single-trace fault localization allows engineers to find a fault by inspecting in most case less than 5% of the program, and it confirms the interest of automatic fault localization in this context.

Keywords: dynamic analysis, automatic fault localization, embedded systems.

This is joint work with A. Amiar, M. Delahaye, and L. du Bousquet.