A Multiple-Fault Localization Method for Embedded Software with Applications in Engineering - Kong, Lu; Wang, JinBo; Zhou, Shan; Wang, MengRu (Mathematical problems in engineering, 2021)
Embedded software is increasingly being used with high reliability. However, the fault localization of embedded software is still largely dependent on the experience of engineers. Besides, faults in embedded software programs are not independent individuals; they are related to each other and affect each other, which may lead to more complex interaction behavior. These uncertainties render the traditional methods for single-fault localization with limited practical value. This paper has proposed a multiple-fault localization method to be applied to the embedded software, with emphasis on the cache-based program spectra-acquiring method and the hybrid clustering-based fault partition method. Through case studies on 108 groups of the subject program, it has been proved that the hybrid clustering-based fault partition method has significantly improved the effectiveness of multiple-fault localization in comparison with the traditional fault localization methods. Experiments on three embedded software programs in engineering have revealed that the cache-based program spectra-acquiring method saves nearly half of the running-time cost compared with the traditional spectrum-acquiring method based on real-time transmission. Therefore, the multiple-fault localization method proposed in this paper can be applied in embedded software debugging and testing in engineering.