Softwareentwicklung und Projektmanagement
Ein Werkzeug zur statischen Analyse wird auf den Quellcode einer Firmware angewendet. Welches Problem lässt sich damit am ehesten finden, ohne das Programm auszuführen?
- AEine Funktion, die die Nutzer wirklich brauchen, fehlt im Anforderungsdokument
- BPfade, auf denen eine nicht initialisierte Variable gelesen wird, und Stellen, an denen außerhalb der Grenzen eines Arrays zugegriffen werden könnte
- CAuf einem Teil der in Serie gefertigten Platinen werden Signale durch fehlerhafte Lötstellen unterbrochen
Antwort und Erläuterung anzeigen
Antwort: B. Pfade, auf denen eine nicht initialisierte Variable gelesen wird, und Stellen, an denen außerhalb der Grenzen eines Arrays zugegriffen werden könnte
Die statische Analyse untersucht Syntax, Kontrollfluss und Datenfluss des Quellcodes, ohne ihn auszuführen, und findet Probleme wie das Lesen nicht initialisierter Variablen, Array-Zugriffe außerhalb der Grenzen, mögliche Dereferenzierungen von Nullzeigern und Verstöße gegen Programmierrichtlinien (etwa MISRA C, das für eingebettetes C verwendet wird). Sie kann Probleme auf Pfaden finden, die Tests selten erreichen, liefert aber auch Fehlalarme, daher prüfen Menschen die Ergebnisse. Fehlende Anforderungen werden durch Reviews und Abstimmung mit den Nutzern gefunden, fehlerhafte Lötstellen durch Prüfungen in der Fertigung und Tests an realer Hardware; die Analyse des Quellcodes kann sie nicht aufdecken.
Weiter: 9 weitere Fragen zu Softwareentwicklung und Projektmanagement