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.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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
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
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
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
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
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
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
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
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
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
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
Fredkin, E.: Trie memory. Commun. ACM 3(9), 490–499 (1960). https://doi.org/10.1145/367390.367400
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)
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
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
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
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
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
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
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
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
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
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
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
Schulte-Althoff, T.: Validierung des Echtzeitverhaltens des ereignisbasierten Betriebssystems CyPhOS am Beispiel einer Motorsteuerung (2017). https://ess.cs.tu-dortmund.de/Teaching/Theses/
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
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
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
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
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
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
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
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
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
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)