sobota, marca 06, 2010

Fix Toyoty nie działa

Czyżby błąd w oprogramowaniu? Błędny kod maszynowy wygenerowany przez kompilator, przepełnienie liczby całkowitej, timing issue, błędne dane dostarczane przez czujniki? Przeciętna liczba błędów na 1000 linii kodu dla "zwykłego" oprogramowania to ok. 20. Dla specjalistycznego oprogramowania zakłada się, że ta wartość wynosi ok. 2-3. NASA jest w stanie zejść do poziomu < 0.01 błędu/KLOC. Przy założeniu, że liczba linii kodu firmware-u Toyoty to około 1 mln (VxWorks jest większy) i ma on jakość NASA otrzymujemy 10 000 błędów. Przyjmując, że 0.1% to błędy krytyczne otrzymujemy 10 poważnych błędów.
Co jeszcze z tych rozważań wynika? Im mniej linii kodu, tym mniej błędów. Dlatego eXtreme Programming promujące refaktoring kodu jest dobre.

0 komentarze: