Improved stochastic control flow model for LLVM-based software reliability analysis

  • 1 Faculty of Computer Science and Robotics, Ufa State Aviation Technical University, Ufa, Russia
  • 2 Technische Universität Dresden, Germany

Abstract

Recently we have proposed a new method for error propagation analysis of the safety-critical software using the transformation of the source code to the Dual-graph Error Propagation Model (DEPM) based on the Low-Level Virtual Machine (LLVM) compiler framework, that allows the automatic analysis of C-code or another LLVM supported front-end. The source code is compiled into the LLVM Intermediate Representation and instrumented in order to analyze control and data flow structures of the software and the control flow transition probabilities between the basic blocks. Based on this information a DEPM for further analysis is generated. The DEPM is a stochastic model that captures system properties relevant to error propagation processes such as control and data flow structures and reliability characteristics of single components, LLVM instructions in this particular case. The DEPM helps to estimate the impact of a fault in a particular instruction on the overall system reliability, e.g. to compute the mean number of erroneous values in a critical system output during given operation time. The feasibility of the method has been proven on several case studies and also reveals several limitations of the current control flow model.
This paper address the improvement of the control flow model using a new customizable heuristic method for the analysis of control flow sequences and their mapping into discrete-time Markov chain models. The method is designed in a way to keep a required tradeoff between the model size and precision.

References

  1. I.Verzola, A.E.Lagny, and J.Biswas, “A predictive approach to failure estimation and identification for space systems operations,” SpaceOps 2014 (Pasadena, CA), 2014.
  2. P. Koopman, “A case study of toyota unintended acceleration and software safety,” Presentation. Sept, 2014.
  3. A. Morozov, Dual-graph Model for Error Propagation Analysis of Mechatronic Systems. Dresden: Jörg Vogt Verlag, 2012.
  4. A. Morozov and K. Janschek, “Probabilistic error propagation model for mechatronic systems,” Mechatronics, vol. 24, no. 8, pp. 1189 – 1202, 2014.
  5. K. Ding, T. Mutzke, A. Morozov, and K. Janschek, “Automatic transformation of uml system models for model-based error propagation analysis of mechatronic systems,” IFAC-PapersOnLine, vol. 49, no. 21, pp. 439–446, 2016.
  6. A. Morozov, Y. Zhou, K. Janschek, “LLVM-based Stochastic Error Propagation Analysis of Manually Developed Software Components”, Proceedings of European Safety and Reliability Conference (ESREL). Trondheim, Norway, 2018.
  7. OpenErrorPro on the github. https://mbsa-tud.github.io/OpenErrorPro/, 2018
  8. Skidmarks library for randomness serial test https://pypi.org/project/skidmarks/, 2018
  9. Morgan, Byron JT. Elements of simulation. Vol. 4. CRC Press, 1984

Article full text

Download PDF