Síla 10: Pravidla pro vývoj bezpečnostně-kritického kodexu - The Power of 10: Rules for Developing Safety-Critical Code - Wikipedia
Síla 10 pravidel byly vytvořeny v roce 2006 společností Gerard J. Holzmann z NASA / JPL Laboratoř pro spolehlivý software.[1] Cílem pravidel je vyloučit určité C postupy kódování, které znesnadňují kontrolu nebo statickou analýzu kódu. Tato pravidla doplňují MISRA C pokyny a byly začleněny do větší sady JPL standardy kódování.[2]
Pravidla
Deset pravidel je:[1]
- Vyhněte se složitým konstrukcím toku, jako jsou jít do a rekurze.
- Všechny smyčky musí mít pevné hranice. To zabrání uprchlému kódu.
- Vyhýbat se alokace paměti haldy.
- Omezte funkce na jednu vytištěnou stránku.
- Použijte minimálně dva runtime tvrzení na funkci.
- Omezte rozsah dat na nejmenší možný.
- Zkontrolujte návratovou hodnotu všech funkcí, které nejsou neplatné, nebo přetypujte na neplatnost, abyste označili, že návratová hodnota je zbytečná.
- Použijte preprocesor střídmě.
- Omezte použití ukazatele na jeden dereference a nepoužívejte ukazatele funkcí.
- Kompilovat se všemi možnými aktivními varováními; všechna varování by pak měla být vyřešena před vydáním softwaru.
Použití
Studie NASA o Toyota elektronické ovládání plynu firmware zjištěno nejméně 243 porušení těchto pravidel.[3][4]
Viz také
Další čtení
- G.J. Holzmann (2006-06-19). „Síla 10: Pravidla pro vývoj bezpečnostně-kritického kodexu“. Počítač IEEE. 39 (6): 95–99. doi:10.1109 / MC.2006.212.
Reference
- ^ A b Síla 10: Pravidla pro vývoj bezpečnostně-kritického kodexu
- ^ Standard kódování JPL C - laboratoř JPL pro spolehlivý software
- ^ Neúmyslné zrychlení a další chyby vestavěného softwaru, 1. března 2011, Michael Barr, Embedded Guru
- ^ Zpráva technického posouzení NASA Engineering and Safety Center, National Highway Traffic Safety Administration Toyota Unintended Acceleration Investigation, dodatek A.