Ich denke bei der ganzen Diskussion sollte man mal versuchen einige Dinge sauber von einander trennen:
Sicherheitskritisch hat hier eine Doppelbedeutung:
-im Sinne von safety, d.h. Umwelteinflüsse, Ausfallsicherheit, Echtzeit (bspw. Software für Bremssysteme in einem ICE)
-im Sinne von security, d.h. Angriffe (von außen) durch Dritte
Dann muss man verschiedene Fehlertypen unterscheiden:
-Failure
-Anomaly
-Error
Und damit obige genannte Fehlertypen nicht auftauchen:
-Debugging
-Testing
Und abseits davon dann bzgl. Quellcode:
-readability
-integrity
-meaningful comments
-...
Und abseits des Quellcodes:
-project documentation
-proper software management (d.h. u.a. das eben auch für die Einhaltung der Anforderungen gesorgt wird, sinnvolle Entwicklungs- und Releasezyklen, Update- und Patch management usw)
Zu sagen was nun 'guter' Code ist, ist schwierig. Der Code kann noch so gut dokumentiert und kommentiert sein aber sicherheitstechnisch (in beiden Bedeutungen) eine Katastrophe.
Wenn Werkstudenten Code für solche Bereiche schreiben ist das die Schuld der Unternehmen die Dank Kostendruck und Ausschreibungsregelwerk die Studenten für solche Aufgaben abstellen, statt dafuer einen qualifizierten Programmierer zu bezahlen.
Sicherheitskritisch hat hier eine Doppelbedeutung:
-im Sinne von safety, d.h. Umwelteinflüsse, Ausfallsicherheit, Echtzeit (bspw. Software für Bremssysteme in einem ICE)
-im Sinne von security, d.h. Angriffe (von außen) durch Dritte
Dann muss man verschiedene Fehlertypen unterscheiden:
-Failure
-Anomaly
-Error
Und damit obige genannte Fehlertypen nicht auftauchen:
-Debugging
-Testing
Und abseits davon dann bzgl. Quellcode:
-readability
-integrity
-meaningful comments
-...
Und abseits des Quellcodes:
-project documentation
-proper software management (d.h. u.a. das eben auch für die Einhaltung der Anforderungen gesorgt wird, sinnvolle Entwicklungs- und Releasezyklen, Update- und Patch management usw)
Zu sagen was nun 'guter' Code ist, ist schwierig. Der Code kann noch so gut dokumentiert und kommentiert sein aber sicherheitstechnisch (in beiden Bedeutungen) eine Katastrophe.
Wenn Werkstudenten Code für solche Bereiche schreiben ist das die Schuld der Unternehmen die Dank Kostendruck und Ausschreibungsregelwerk die Studenten für solche Aufgaben abstellen, statt dafuer einen qualifizierten Programmierer zu bezahlen.