Skip to main content

Spectrum-Based Fault Localization in Deployed Embedded Systems with Driver Interaction Models

  • Conference paper
  • First Online:
Computer Safety, Reliability, and Security (SAFECOMP 2019)

Abstract

Software faults are still a problem especially in deployed systems. We propose a new approach to monitor a deployed embedded system with another embedded system, which acts autonomously and isolated. The monitoring system generates reports containing probable fault locations, which can later be obtained without requiring expensive debugging hardware or continuous access to the monitored embedded system. For this, we assessed failure-detection oracles, transaction detectors and suspiciousness metrics and evaluated them in a practical combustion engine scenario. Especially, we propose a driver interaction model to capture correct interaction with periphery and use it as oracle. Our results show that for the repetitive behavior of an engine control unit, simple approaches perform best.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 49.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://status.aws.amazon.com/s3-20080720.html.

  2. 2.

    https://www.informatik.uni-augsburg.de/en/chairs/sik/research/running/emsbench/.

References

  1. Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: Program spectra analysis in embedded software: a case study. Technical report, TUD-SERG-2006-007, Software Engineering Research Group, Delft University of Technology (2006). http://arxiv.org/abs/cs/0607116

  2. Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: An observation-based model for fault localization. In: Proceedings of the 2008 International Workshop on Dynamic Analysis: Held in Conjunction with the ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2008), WODA 2008, pp. 64–70. ACM, New York (2008). https://doi.org/10.1145/1401827.1401841

  3. Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: Spectrum-based multiple fault localization. In: Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering, ASE 2009, pp. 88–99. IEEE Computer Society, Washington, DC (2009). https://doi.org/10.1109/ASE.2009.25

  4. Abreu, R., Zoeteweij, P., Gemund, A.J.V.: An evaluation of similarity coefficients for software fault localization. In: 2006 12th Pacific Rim International Symposium on Dependable Computing (PRDC 2006), pp. 39–46, December 2006. https://doi.org/10.1109/PRDC.2006.18

  5. Abreu, R., Zoeteweij, P., Golsteijn, R., van Gemund, A.J.: A practical evaluation of spectrum-based fault localization. J. Syst. Softw. 82(11), 1780–1792 (2009). https://doi.org/10.1016/j.jss.2009.06.035. sI: TAIC PART 2007 and MUTATION 2007

    Article  Google Scholar 

  6. Biermann, A.W., Feldman, J.A.: On the synthesis of finite-state machines from samples of their behavior. IEEE Trans. Comput. C–21(6), 592–597 (1972). https://doi.org/10.1109/TC.1972.5009015

    Article  MathSciNet  MATH  Google Scholar 

  7. Borghorst, H., Spinczyk, O.: CyPhOS - a component-based cache-aware multi-core operating system. In: Schoeberl, M., Hochberger, C., Uhrig, S., Brehm, J., Pionteck, T. (eds.) ARCS 2019. Lecture Notes in Computer Science, vol. 11479, pp. 171–182. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-18656-2_13

    Chapter  Google Scholar 

  8. Casanova, P., Schmerl, B., Garlan, D., Abreu, R.: Architecture-based run-time fault diagnosis. In: Crnkovic, I., Gruhn, V., Book, M. (eds.) ECSA 2011. LNCS, vol. 6903, pp. 261–277. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-23798-0_29

    Chapter  Google Scholar 

  9. Dallmeier, V., Lindig, C., Zeller, A.: Lightweight defect localization for Java. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 528–550. Springer, Heidelberg (2005). https://doi.org/10.1007/11531142_23

    Chapter  Google Scholar 

  10. Durães, J.A., Madeira, H.S.: Emulation of software faults: a field data study and a practical approach. IEEE Trans. Softw. Eng. 32(11), 849–867 (2006). https://doi.org/10.1109/TSE.2006.113

    Article  Google Scholar 

  11. Emam, S.S., Miller, J.: Inferring extended probabilistic finite-state automaton models from software executions. ACM Trans. Softw. Eng. Methodol. 27(1), 4:1–4:39 (2018). https://doi.org/10.1145/3196883

    Article  Google Scholar 

  12. Fredkin, E.: Trie memory. Commun. ACM 3(9), 490–499 (1960). https://doi.org/10.1145/367390.367400

    Article  Google Scholar 

  13. Gabor, U.T., Siegert, D., Spinczyk, O.: Software-fault injection in source code with Clang. In: Proceedings of the 32nd International Conference on Architecture of Computing Systems (ARCS 2019), Workshop Proceedings (2019, to appear)

    Google Scholar 

  14. Hooman, J., Hendriks, T.: Model-based run-time error detection. In: Giese, H. (ed.) MODELS 2007. LNCS, vol. 5002, pp. 225–236. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69073-3_24

    Chapter  Google Scholar 

  15. Jones, J.A., Harrold, M.J.: Empirical evaluation of the tarantula automatic fault-localization technique. In: Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, ASE 2005, pp. 273–282. ACM, New York (2005). https://doi.org/10.1145/1101908.1101949

  16. Ju, X., Jiang, S., Chen, X., Wang, X., Zhang, Y., Cao, H.: HSFal: effective fault localization using hybrid spectrum of full slices and execution slices. J. Syst. Softw. 90, 3–17 (2014). https://doi.org/10.1016/j.jss.2013.11.1109

    Article  Google Scholar 

  17. Kluge, F., Ungerer, T.: EMSBench: Benchmark und Testumgebung für reaktive Systeme. Betriebssysteme und Echtzeit. I, pp. 11–20. Springer, Heidelberg (2015). https://doi.org/10.1007/978-3-662-48611-5_2

    Chapter  Google Scholar 

  18. Le, T.D.B., Thung, F., Lo, D.: Theory and practice, do they match? A case with spectrum-based fault localization. In: 2013 IEEE International Conference on Software Maintenance, pp. 380–383, September 2013. https://doi.org/10.1109/ICSM.2013.52

  19. Li, Z., Tan, L., Wang, X., Lu, S., Zhou, Y., Zhai, C.: Have things changed now? An empirical study of bug characteristics in modern open source software. In: Proceedings of the 1st Workshop on Architectural and System Support for Improving Software Dependability, ASID 2006, pp. 25–33. ACM, New York (2006). https://doi.org/10.1145/1181309.1181314

  20. Liu, C., Yan, X., Yu, H., Han, J., Yu, P.S.: Mining behavior graphs for “backtrace” of noncrashing bugs. In: Proceedings of the 2005 SIAM International Conference on Data Mining, pp. 286–297. Society for Industrial and Applied Mathematics (2005). https://doi.org/10.1137/1.9781611972757.26

  21. Naish, L., Lee, H.J., Ramamohanarao, K.: A model for spectra-based software diagnosis. ACM Trans. Softw. Eng. Methodol. 20(3), 11:1–11:32 (2011). https://doi.org/10.1145/2000791.2000795

    Article  Google Scholar 

  22. Natella, R., Cotroneo, D., Duraes, J.A., Madeira, H.S.: On fault representativeness of software fault injection. IEEE Trans. Softw. Eng. 39(1), 80–96 (2013). https://doi.org/10.1109/TSE.2011.124

    Article  Google Scholar 

  23. Ochiai, A.: Zoogeographical studies on the soleoid fishes found in Japan and its neighbouring regions-II. Bull. Japan. Soc. Sci. Fish 22(9), 526–530 (1957). https://doi.org/10.2331/suisan.22.526

    Article  Google Scholar 

  24. Reps, T., Ball, T., Das, M., Larus, J.: The use of program profiling for software maintenance with applications to the year 2000 problem. In: Jazayeri, M., Schauer, H. (eds.) ESEC/SIGSOFT FSE -1997. LNCS, vol. 1301, pp. 432–449. Springer, Heidelberg (1997). https://doi.org/10.1007/3-540-63531-9_29

    Chapter  Google Scholar 

  25. Schulte-Althoff, T.: Validierung des Echtzeitverhaltens des ereignisbasierten Betriebssystems CyPhOS am Beispiel einer Motorsteuerung (2017). https://ess.cs.tu-dortmund.de/Teaching/Theses/

  26. Spinczyk, O., Lohmann, D.: The design and implementation of AspectC++. Knowl. Based Syst. Spec. Issue Tech. Produce Intell. Secure Softw. 20(7), 636–651 (2007). https://doi.org/10.1016/j.knosys.2007.05.004

    Article  Google Scholar 

  27. Stephenson, A.G., et al.: Mars climate orbiter mishap investigation board phase I report, November 1999. https://llis.nasa.gov/llis_lib/pdf/1009464main1_0641-mr.pdf

  28. Wong, W.E., Debroy, V., Gao, R., Li, Y.: The DStar method for effective software fault localization. IEEE Trans. Reliab. 63(1), 290–308 (2014). https://doi.org/10.1109/TR.2013.2285319

    Article  Google Scholar 

  29. Wong, W.E., Debroy, V., Xu, D.: Towards better fault localization: a crosstab-based statistical approach. IEEE Trans. Syst. Man Cybern. Part C (Appl. Rev.) 42(3), 378–396 (2012). https://doi.org/10.1109/TSMCC.2011.2118751

    Article  Google Scholar 

  30. Wong, W.E., Gao, R., Li, Y., Abreu, R., Wotawa, F.: A survey on software fault localization. IEEE Trans. Softw. Eng. PP(99), 1 (2016). https://doi.org/10.1109/TSE.2016.2521368

    Article  Google Scholar 

  31. Xie, X., Chen, T.Y., Kuo, F.C., Xu, B.: A theoretical analysis of the risk evaluation formulas for spectrum-based fault localization. ACM Trans. Softw. Eng. Methodol. 22(4), 31:1–31:40 (2013). https://doi.org/10.1145/2522920.2522924

    Article  Google Scholar 

  32. Xie, X., Wong, W.E., Chen, T.Y., Xu, B.: Spectrum-based fault localization: Testing oracles are no longer mandatory. In: 2011 11th International Conference on Quality Software, pp. 1–10, July 2011. https://doi.org/10.1109/QSIC.2011.20

  33. Xuan, J., Monperrus, M.: Learning to combine multiple ranking metrics for fault localization. In: 2014 IEEE International Conference on Software Maintenance and Evolution, pp. 191–200, September 2014. https://doi.org/10.1109/ICSME.2014.41

Download references

Acknowledgement

We thank Erwin Schoitsch, Austrian Institute of Technology (AIT), for his valuable feedback and dedicated effort to improve this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ulrich Thomas Gabor .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Gabor, U.T., Dierl, S., Spinczyk, O. (2019). Spectrum-Based Fault Localization in Deployed Embedded Systems with Driver Interaction Models. In: Romanovsky, A., Troubitsyna, E., Bitsch, F. (eds) Computer Safety, Reliability, and Security. SAFECOMP 2019. Lecture Notes in Computer Science(), vol 11698. Springer, Cham. https://doi.org/10.1007/978-3-030-26601-1_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-26601-1_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-26600-4

  • Online ISBN: 978-3-030-26601-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics