Bezpieczny kod w oparciu o wytyczne MISRA C
LICZBA DNI: 2 (16h)
KOD KURSU: C/MISRA
O szkoleniu
DLA KOGO?
Szkolenie adresowane jest do osób znających język C chcących poszerzyć swoje kompetencje i umiejętności w zakresie dobrych praktyk programowania
WYMAGANIA
Od uczestników szkolenia wymagana jest umiejętność programowania w języku C
Warunkiem uczestnictwa w szkoleniu jest posiadanie imiennej kopii dokumentu MISRA C:2012 Guidelines for the use of the C language in critical systems
ZALETY
Przegląd dyrektyw i reguł MISRA C:2012 na przykładzie krótkich zadań programistycznych prezentujących ich skuteczność w praktycznej eliminacji np. błędów przemijających lub problemów z przenośnością, wydajnością i stabilnością aplikacji
Wykorzystanie narzędzi wspomagających walidację aplikacji w zakresie omawianych zaleceń
Wskazówki służące zapewnieniu zgodności ze standardem w codziennej praktyce inżynierskiej
Cele szkolenia
Poznanie dyrektyw i reguł MISRA C:2012 oraz skutków ich naruszeń w praktyce
Skuteczne wykorzystywanie informacji zwracanych przez narzędzia wspomagające utrzymanie zgodności ze standardem
Świadomość możliwych skutków lekceważenia dobrych praktyk programowania w języku C
Program
Język C
- Standardy C90 i C99
- Pułapki wynikające ze struktury i charakteru języka
- Przenośność oprogramowania
MISRA C:2012
- Cel stosowania
- Poprawki i aktualizacje
- Dyrektywy i reguły
- Klasyfikacja zaleceń (kategorie), zasady ich analizy i stosowania
- Odstępstwa od zasad
Przegląd dyrektyw i reguł MISRA C:2012
- Zasady związane z procesem implementacji
- Środowisko pracy, proces kompilacji/budowania aplikacji i jego parametry
- Struktura kodu, martwy kod, komentarze, standard kodowania
- Typy i obsługa błędów
- Testowalność
- Zarządzanie pamięcią
- Typy danych, identyfikatory, deklaracje, definicje, stałe i literały
- Inicjalizacja zmiennych
- Konwersja typów wskaźnikowych
- Wyrażenia
- Skutki uboczne
- Instrukcje sterujące, kontrola przepływu programu
- Funkcje
- Wskaźniki i tablice
- Dyrektywy preprocesora
- Biblioteki standardowe
- Obsługa zasobów aplikacji
Narzędzia wspomagające
- Analiza statyczna i dynamiczna
- Przegląd wybranych narzędzi
Inne rekomendacje
- Specyfikacje i raporty techniczne ISO/IEC
- ISO 26262, IEC 61508
- CERT C
- MITRE CWE
- Zalecenia Barr Group
- AUTOSAR Coding Guidelines
