Älykkäiden laitteiden toiminnan varmistaminen eli verifiointi tulee jatkuvasti haastavammaksi. Uudessa autossa ohjelmistokoodia voi ola yli sata miljoonaa riviä. Älypuhelimessakin useita kymmeniä miljoonia. Vuonna 1986 nousussaan hajonnut Challenger-avaruussukkulan tietokone pyöritti vain miljoonaa koodiriviä.
Tästä kompleksisuuden kasvusta muistutti eilen EDA-taloa Cadence Design Systemsin PCB-työkalujen kehityksestä ja yhtiön tutkimuksesta vastaava johtaja Tom Beckley yhtiön CDNLive-tapahtumassa Münchenissä. Challengerin turma jäi hänelle tiukasti mieleen, koska tuolloin Beckley työskenteli Floridan avaruusrannikolla ja sukkulanousja katsottiin säännöllisesti.
Challengerin turmassa oli kyse mekaanisesta viasta, vaikka kyse oli aikansa edistynein älykäs järjestelmä. Beckleyn mukaan voisi luulla, että olemme 30 vuodessa kehittyneet selvästi paremmiksi laitteiden toiminnan ja turvallisuuden varmistamisessa. Näin ei kuitenkaan ole.
- Pahimpia virheitä ovat arkkitehtuuritason puutteet koodissa. Niiden määrä kaikista ohjelmistovioista on vain 8 prosenttia, mutta bugien korjaamiseen käytetystä ajasta ne vievät yli puolet.
Äly- ja robottiautojen pitää olla täysin turvallisia, IoT-laitteita ei pitäisi pystyä hakkeroimaan. - Mutta kaikki, mikä on liitetty verkkoon, voidaan hakkeroida, Beckley muistutti.
- Kaikkien laitteiden kohdalla meidän pitää verifioida, mitä tulee tapahtumaan ja myös se, mitä ei saisi tapahtua, Beckley evästi laitesuunnittelijoita