A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | AG | AH | AI | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | ASIL | ASIL | ASIL | ASIL | |||||||||||||||||||||||||||||||
2 | phase | Topics to be covered by modelling and coding guidelines | code | требование | A | B | C | D | hint | why | violation examples | Aim | keyword | prossecc | Does Arrival use? | Designe | Testing | chapter | |||||||||||||||||
3 | verification | Walk-through of the design | "++" | "+" | o | o | процесс | 1 | y | ||||||||||||||||||||||||||
4 | 1 | Use of defensive implementation techniques | "+" | "+" | "++" | "++" | процесс | ||||||||||||||||||||||||||||
5 | 1 | 1 | Use of well-trusted design principles | "+" | "+" | "++" | "++" | code | |||||||||||||||||||||||||||
6 | designe | 1 | 1 | Use of style guides | "+" | "++" | "++" | "++" | стиль | y | |||||||||||||||||||||||||
7 | designe | 1 | 1 | Enforcement of low complexity | "++" | "++" | "++" | "++" | 1 | code | y | ||||||||||||||||||||||||
8 | designe | 1 | 1 | Enforcement of strong typing | "++" | "++" | "++" | "++" | 1 | code | y | ||||||||||||||||||||||||
9 | designe | 1 | 1 | Use of naming conventions | "++" | "++" | "++" | "++" | code | y | |||||||||||||||||||||||||
10 | 1 | 1 | Use of language subsets | "++" | "++" | "++" | "++" | ||||||||||||||||||||||||||||
11 | Semi-formal notations | "+" | "+" | "++" | "++" | ||||||||||||||||||||||||||||||
12 | designe | Restricted size of interfaces | "+" | "+" | "+" | "++" | процесс | y | |||||||||||||||||||||||||||
13 | Simulation of dynamic behaviour of the design | "+" | "+" | "+" | "++" | ||||||||||||||||||||||||||||||
14 | Appropriate spatial isolation of the software components | "+" | "+" | "+" | "++" | ||||||||||||||||||||||||||||||
15 | 1 | Restricted use of interrupts | "+" | "+" | "+" | "++" | code | ||||||||||||||||||||||||||||
16 | designe | 1 | Avoid global variables or else justify their usage | "+" | "+" | "++" | "++" | 1 | code | ||||||||||||||||||||||||||
17 | Scheduling analysis | "+" | "+" | "++" | "++" | ||||||||||||||||||||||||||||||
18 | verification | Control flow analysis | "+" | "+" | "++" | "++" | процесс | ||||||||||||||||||||||||||||
19 | verification | Data flow analysis | "+" | "+" | "++" | "++" | процесс | ||||||||||||||||||||||||||||
20 | verification | Semi-formal verification | "+" | "+" | "++" | "++" | процесс | ||||||||||||||||||||||||||||
21 | 1 | Data flow analysis | "+" | "+" | "++" | "++" | flow | ||||||||||||||||||||||||||||
22 | 1 | No recursions | "+" | "+" | "++" | "++" | 1 | code | |||||||||||||||||||||||||||
23 | Resource usage evaluation | "+" | "+" | "+" | "++" | ||||||||||||||||||||||||||||||
24 | testing | Back-to-back comparison test between model and code, if applicable | "+" | "+" | "++" | "++" | test | ||||||||||||||||||||||||||||
25 | testing | Fault injection test | "+" | "+" | "+" | "++" | test | 1 | |||||||||||||||||||||||||||
26 | covarage | MC/DC (Modified Condition/Decision Coverage) | "+" | "+" | "+" | "++" | coverage | ||||||||||||||||||||||||||||
27 | Verification of the control flow and data flow | "+" | "+" | "++" | "++" | difficulty in achieving the required test coverage | |||||||||||||||||||||||||||||
28 | Use of unambiguous graphical representation | "+" | "++" | "++" | "++" | code | |||||||||||||||||||||||||||||
29 | verify | Inspection of the design | "+" | "++" | "++" | "++" | процесс | 1 | y | ||||||||||||||||||||||||||
30 | Loose coupling between software components | "+" | "++" | "++" | "++" | code | |||||||||||||||||||||||||||||
31 | Strong cohesion within each software component | "+" | "++" | "++" | "++" | code | |||||||||||||||||||||||||||||
32 | designe | 1 | No dynamic objects or variables, or else online test during their creation | "+" | "++" | "++" | "++" | 1 | code | y | |||||||||||||||||||||||||
33 | designe | 1 | No implicit type conversions | "+" | "++" | "++" | "++" | code | |||||||||||||||||||||||||||
34 | Inspection | "+" | "++" | "++" | "++" | ||||||||||||||||||||||||||||||
35 | 1 | No hidden data flow or control flow | "+" | "++" | "++" | "++" | code | ||||||||||||||||||||||||||||
36 | 1 | Restricted use of pointers | "+" | "++" | "++" | "++" | code | ||||||||||||||||||||||||||||
37 | Analysis of operational use cases | "+" | "++" | "++" | "++" | ||||||||||||||||||||||||||||||
38 | Analysis of functional dependencies | "+" | "+" | "++" | "++" | ||||||||||||||||||||||||||||||
39 | Vehicles | "+" | "+" | "++" | "++" | ||||||||||||||||||||||||||||||
40 | testing | Analysis of boundary values | "+" | "++" | "++" | "++" | 1 | как делать тесты | |||||||||||||||||||||||||||
41 | testing | Generation and analysis of equivalence classes | "+" | "++" | "++" | "++" | как делать тесты | ||||||||||||||||||||||||||||
42 | coverage | 1 | Branch coverage | "+" | "++" | "++" | "++" | 1 | coverage | ||||||||||||||||||||||||||
43 | Call coverage | "+" | "+" | "++" | "++" | ||||||||||||||||||||||||||||||
44 | coverage | 1 | Function coverage | "+" | "+" | "++" | "++" | 1 | coverage | ||||||||||||||||||||||||||
45 | Redundant storage and comparison of calibration data | "+" | "+" | "+" | "++" | code | |||||||||||||||||||||||||||||
46 | Calibration data checks using error detecting codes | "+" | "+" | "+" | "++" | code | |||||||||||||||||||||||||||||
47 | Informal notations | "++" | "++" | "++" | "++" | ||||||||||||||||||||||||||||||
48 | Natural language | "++" | "++" | "++" | "++" | ||||||||||||||||||||||||||||||
49 | Restricted size and complexity of software components | "++" | "++" | "++" | "++" | ||||||||||||||||||||||||||||||
50 | Appropriate hierarchical structure of the software components | "++" | "++" | "++" | "++" | ||||||||||||||||||||||||||||||
51 | Appropriate management of shared resources | "++" | "++" | "++" | "++" | code | |||||||||||||||||||||||||||||
52 | Appropriate scheduling properties | "++" | "++" | "++" | "++" | приоритеты | 1 | ||||||||||||||||||||||||||||
53 | designe | 1 | Initialization of variables | "++" | "++" | "++" | "++" | 1 | code | ||||||||||||||||||||||||||
54 | designe | 1 | No multiple use of variable names | "++" | "++" | "++" | "++" | 1 | code | n | |||||||||||||||||||||||||
55 | designe | 1 | One entry and one exit point in subprograms and functions | "++" | "++" | "++" | "++" | functions | y | ||||||||||||||||||||||||||
56 | Electronic control unit network environments | "++" | "++" | "++" | "++" | ||||||||||||||||||||||||||||||
57 | testing | Requirements-based test | "++" | "++" | "++" | "++" | test | 1 | |||||||||||||||||||||||||||
58 | 1 | No unconditional jumps | "++" | "++" | "++" | "++" | 1 | code | |||||||||||||||||||||||||||
59 | Hardware-in-the-loop | "++" | "++" | "++" | "++" | ||||||||||||||||||||||||||||||
60 | static code analysis, | "++" | "++" | "++" | "++" | "++" | |||||||||||||||||||||||||||||
61 | testing | Interface test | "++" | "++" | "++" | "++" | test | 1 | |||||||||||||||||||||||||||
62 | testing | Analysis of requirements | "++" | "++" | "++" | "++" | процесс | ||||||||||||||||||||||||||||
63 | testing | Plausibility checks on calibration data | "++" | "++" | "++" | "++" | процесс | ||||||||||||||||||||||||||||
64 | designe | 1 | Prototype generation | o | o | "+" | "++" | 1 | code | ||||||||||||||||||||||||||
65 | 1 | Concurrency aspects | "+" | "+" | "+" | "+" | code | ||||||||||||||||||||||||||||
66 | Formal notations | "+" | "+" | "+" | "+" | ||||||||||||||||||||||||||||||
67 | Pair-programming | "+" | "+" | "+" | "+" | 1 | процесс | ||||||||||||||||||||||||||||
68 | Static analyses based on abstract interpretation | "+" | "+" | "+" | "+" | ||||||||||||||||||||||||||||||
69 | Error guessing based on knowledge or experience | "+" | "+" | "+" | "+" | ||||||||||||||||||||||||||||||
70 | coverage | 1 | Statement coverage | "++" | "++" | "+" | "+" | coverage | |||||||||||||||||||||||||||
71 | verification | 1 | Formal verification | o | o | "+" | "+" | процесс | |||||||||||||||||||||||||||
72 | verification | 1 | Use of unambiguous graphical representation | процесс | 1 | ||||||||||||||||||||||||||||||
73 | coverage | 1 | Call coverage (percentage of executed software function calls) | 1 | coverage | ||||||||||||||||||||||||||||||
74 | design | 1 | должна быть проверка битов четности | 1 | целостность | ||||||||||||||||||||||||||||||
75 | designe | 1 | Все переменные должны иметь разные имена | 1 | code | y | |||||||||||||||||||||||||||||
76 | designe | 1 | должна быть защита от неожиданного изменения данных | code | |||||||||||||||||||||||||||||||
77 | designe | 1 | должна быть инкапсуляция | encapsulation | y | ||||||||||||||||||||||||||||||
78 | designe | Использовать парраллельное резервирование | 1 | резервирование | 1 | ||||||||||||||||||||||||||||||
79 | designe | 1 | надо использовать automatic code generation | 1 | процесс | y | |||||||||||||||||||||||||||||
80 | designe | 1 | надо проектировать архитектуру компонентов софта | процесс | 1 | ||||||||||||||||||||||||||||||
81 | designe | 1 | надо проектировать архитектуру софта | процесс | 1 | ||||||||||||||||||||||||||||||
82 | designe | 1 | Собирать код под MISRA | 1 | code | y | |||||||||||||||||||||||||||||
83 | designe | 1 | софтвер должен быть пригодным для конфигурации нонфигурируемым | 1 | configurable | y | |||||||||||||||||||||||||||||
84 | designe | 1 | софтвер доржен быть разработан так чтобы его можно было тестировать | 1 | code | y | |||||||||||||||||||||||||||||
85 | designe | 1 | софтер должен быть модульным | 1 | code | y | |||||||||||||||||||||||||||||
86 | designe | 1 | софтер должен быть простой | 1 | code | y | |||||||||||||||||||||||||||||
87 | designe | 1 | софтер должен быть рементопригодным | code | |||||||||||||||||||||||||||||||
88 | designe | 1 | Any interrupts used have to be priority-based | interrupt | y | ||||||||||||||||||||||||||||||
89 | designe | Appropriate hierarchical structure of software components | 1 | hierarchical | |||||||||||||||||||||||||||||||
90 | designe | 1 | consistency of the interfaces between the software units | процесс | y | ||||||||||||||||||||||||||||||
91 | designe | 1 | High cohesion within each software componentb | code | |||||||||||||||||||||||||||||||
92 | designe | Independent parallel redundancy | 1 | redundancy | 1 | ||||||||||||||||||||||||||||||
93 | designe | 1 | Limited use of pointers | 1 | code | n | |||||||||||||||||||||||||||||
94 | designe | 1 | No hidden data flow or control flow | 1 | code | ||||||||||||||||||||||||||||||
95 | designe | 1 | No recursions | 1 | code | n | |||||||||||||||||||||||||||||
96 | designe | 1 | No unconditional jumps | 1 | code | y | |||||||||||||||||||||||||||||
97 | designe | 1 | Plausibility check (Проверка достоверности) | процесс | |||||||||||||||||||||||||||||||
98 | designe | 1 | Range checks of input and output data | 1 | code | y | |||||||||||||||||||||||||||||
99 | designe | readability and comprehensibility; | ? | ||||||||||||||||||||||||||||||||
100 | designe | 1 | Redundant storage of calibration data | 1 | процесс |