Информационные технологии интеллектуальной поддержки принятия решений, Информационные технологии интеллектуальной поддержки принятия решений 2019

Размер шрифта: 
LLVM-based C to DEPM transformation tool: New functionality and performance improvements
Andrei Morozov, Viacheslav Vidineev, Tagir Fabarisov, Nafisa Islamovna Yusupova, Klaus Janschek

Изменена: 2019-05-31

Аннотация


Recently we have presented a tool for the Error Propagation Analysis (EPA) of the safety-critical software using the developed method for the transformation of the source code to the Dual-graph Error Propagation Model (DEPM) based on the Low-Level Virtual Machine (LLVM) compiler framework. This tool enables the automatic analysis of the LLVM supported front-ends such as C-code. In order to analyze functions, basic blocks, control and data flow structures, the source code is being transformed into LLVM Intermediate Representation (IR) which contains information required for the generation of a corresponding DEPM for further analysis.
The DEPM is a stochastic framework developed by our research team. The DEPM captures system properties relevant to the error propagation analysis such as control and data flow
structures, transition probabilities and reliability characteristics of single components, in this case, LLVM instructions. 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.
This paper is devoted to the improvements of the transformation tool that have been successfully implemented and tested. The three key extensions of the tool are (i) the support of the new version of DEPM, (ii) the generation of the control flow using the LLVM IR labels instead of the elements execution sequence, and (iii) the generation of the error propagation commands for instruction elements using probabilistic parametric methods. The paper describes all the steps of development of the improvements from design to implementation. In addition, the results of the performance evaluation are presented

Ключевые слова


LLVM; transformation methods; software reliability; error propagation analysis

Литература


1.           A. Morozov, K. Janschek, and Y. Zhou, “Llvm-based stochastic error propagation analysis of manually developed software components,” in ESREL 2018, 2018.

2.           T. Fabarisov, N. Yusupova, K. Ding, A. Morozov, K. Janschek, “Analytical Toolset for Model-based Stochastic Error Propagation Analysis: Extension and Optimization Towards Industrial Requirements”, CSIT 2017, 2017.

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.           The LLVM Compiler Infrastructure Project. https://llvm.org/

7.           K. Ding, A. Morozov, K. Janschek, “Reliability Evaluation of Functionally Equivalent Simulink Implementations of a PID Controller under Silent Data Corruption” in ISSRE 2018, 2018.

8.           V. Vidineev, K. Ding, A. Morozov, K. Janschek, N. Yusupova “Improved Stochastic Control Flow Model for LLVM-based Software Reliability Analysis”, CSIT 2018, 2018.

9.           OpenErrorPro on the github. https://mbsatud.github.io/OpenErrorPro/, 2019