Abstract

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.

Highlights

  • With the rapid development of the modern society, computer software has been integrated into all walks of human life, including embedded systems, operating systems, databases, games, etc

  • Harrold et al generalize the spectrum and propose various types of spectrum, such as the Complete-Path Spectra (CPS), Path-Count Spectra (PCS), and BranchCount Spectra (BCS) [15], which is acquired by implanting probe functions at appropriate locations of the software program under test. e CPS spectra and the PCS spectra have played an important role in helping developers analyze information about the execution of the program and localize faults in general software programs

  • The AVE-S values in Group 2, Group 5, Group 8, Group 9, and Group C by the Tarantula method are 3, which are better than the hybrid clustering-based fault localization (HCFL) method. is is due to the fact that the suspiciousness scores of the three faulty statements are 1, and are checked in the first three places

Read more

Summary

Introduction

With the rapid development of the modern society, computer software has been integrated into all walks of human life, including embedded systems, operating systems, databases, games, etc. In the traditional embedded software development, developers mostly debugged by assertions [7], setting breakpoints [8], and program logging [9] These debugging methods need a high level of understanding of the logic, structure, and function of the software, making it time-consuming and with low efficiency. Erefore, a more effective method is needed to solve the problem of fault localization in embedded software. Different from the fault localization methods for general software, the particularity of the embedded software application program is satisfied through the following: (1) An embedded software spectrum-acquiring method based on data caching is adopted to consume minimal resources and minimize the interference to the software itself. We discuss the threats to validity and consider our future work

Related Work
The Proposed Approach
Design under test
Experiment 1
Results and Analysis
Methods and cases
Experiment 2
Threats to Validity
Conclusion and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call