Autosoftware zit bomvol foutjes

Alles draait in moderne auto’s om software. Fabrikanten besteden veel softwareontwikkeling uit, maar nemen in toenemende mate ook het heft in eigen handen. Zonder tekortkomingen is de programmatuur in voertuigen niet. Is er iets mis met je auto, dan is de kans steeds groter dat dat ligt aan ‘bugs’ die opspelen. 

Dit stuk in vijf punten:

  • Doet het er tegenwoordig nog toe hoeveel pk een auto heeft? Voor sommigen vast. Toch zijn de softwareprestaties waarschijnlijk een stuk belangrijker als je bedenkt dat een modern voertuig beschikt over een hoeveelheid regels programmeertaal die ver boven de 100 miljoen ligt.

  • Van oudsher ontwerpen en bouwen autofabrikanten hun belangrijkste onderdelen zelf. Bij software ligt dat anders want dat is nooit hun expertisegebied geweest. Veel softwareontwikkeling, inclusief cyberveiligheid, wordt uitbesteed.

  • Hierin is echter een kentering gaande: als onderdeel van een grote inhaalslag investeren fabrikanten hevig in de ontwikkeling van eigen software. Een aantal concerns heeft hier zelfs speciale dochterondernemingen voor opgezet.

  • Autosoftware wordt uitvoerig getest, toch zit het bomvol – veelal onschuldige – foutjes. In algemene zin bevat software een fout in naar schatting 1 op de 20 regels code. Dat komt deels omdat er in de automotivesector een felle concurrentiestrijd woedt en technici onder druk staan om innovatieve snufjes zo snel mogelijk te introduceren. ‘Ship now, fix later’ is in de industrie een gangbaar credo.

  • Is er iets mis met je auto, dan is de kans steeds groter dat dat te wijten valt aan de programmatuur die gebreken vertoont. Berichtgeving over automobilisten die gek worden van (gevaarlijke) softwarebugs, over software-gerelateerde terugroepacties, gebrekkige cyberveiligheid en hacks, alsook massaschadeclaims valt nauwelijks bij te houden.

Dat een topman van een groot autoconcern als Volkswagen ooit in de gevangenis zou belanden omdat er onder zijn leiding op grote schaal werd gesjoemeld met software, dat hadden op voorhand weinigen kunnen bedenken. Oliver Schmidt overkwam het. Met ‘Dieselgate’ lieten VW en ook andere autofabrikanten zich van hun lelijke kant zien. Het verhaal is bekend: programmeurs bleken jarenlang in het geniep te hebben gewerkt aan specifieke software om uitstoottesten te slim af te zijn. Stonden auto’s op de testbank, dan wisten ze dat ze minder uitlaatgassen moesten uitstoten dan ze normaal op de weg zouden doen. Wetgevers waren zich er totaal niet van bewust dat dit mogelijk was.

Het schandaal dat in september 2015 aan het licht kwam, is nog altijd niet uitgedoofd. Wereldwijd werden miljoenen auto’s teruggeroepen, terwijl slepende rechtszaken in verschillende landen uitmondden in torenhoge boetes en enkele celstraffen. Afgelopen juni nog, acht jaar na de eerste onthullingen, kregen andere topmannen voorwaardelijke celstraffen voor hun aandeel in het massale gesjoemel.

Vorige week merkte de rechter in Amsterdam meerdere claimorganisaties aan als representatieve belangenbehartigers in hun juridische strijd rond sjoemelsoftware in dieselwagens van Peugeot, Citroën en Opel. In de volgende fase van deze zaak zal de rechtbank vaststellen of bezitters van dergelijke modellen een gebrekkig product hebben gekregen dat niet aan de wet voldoet, en zij daarom recht hebben op compensatie.

Nog altijd dringt zich de vraag op of het niet goedkoper en slimmer zou zijn geweest om in plaats van dusdanig te investeren in software om onder de regels uit te komen, de auto’s gewoon te laten voldoen aan de milieunormen (minder uitstoot). En eventueel prestatieverlies als gevolg daarvan geleidelijk weer weg te werken, onder meer aan de hand van algehele softwareontwikkeling.

Miljoenen regels programmeertaal

Want dat er met software een wereld valt te winnen (maar dus ook te verliezen), is duidelijk. Al jaren draait alles in auto’s om software. Met meer dan 100 miljoen regels programmeertaal die allemaal iets ‘doen’, is een moderne auto net wat minder complex dan het genoom van een muis met 120 miljoen basenparen in het DNA, aldus een wetenschapper in 2016. Nu, zeven jaar later, zal dat aantal regels aanzienlijk zijn toegenomen, zeker gezien de steeds geavanceerdere rijhulpsystemen.

De software-architectuur van een voertuig bestaat uit een mix van gratis open source code, al dan niet kant-en-klare code van commerciële partijen, reeds eerder zelfgeschreven en uitontwikkelde legacy code plus nieuwe zelfgeschreven code. Autofabrikanten zijn op dit moment bezorgd over een wetsvoorstel uit Brussel waar het Europees Parlement volgende maand over zal stemmen. Ze vrezen dat de zogeheten Verordening cyberweerbaarheid – die zal zorgen voor algemene eisen en normen voor de cyberbeveiliging van software – het werk van de open source community zal bemoeilijken en ontwikkelaars van dergelijke software (bijvoorbeeld de Eclipse Foundation en de partijen die verenigd zijn binnen COVESA, de Connected Vehicle Systems Alliance) zich van verdere samenwerking met de auto-industrie zullen onthouden uit angst verantwoordelijk te worden gehouden voor het (niet) nakomen van de verplichtingen van de nieuwe regelgeving.

Uitbesteden

Veel softwareontwikkeling, inclusief cyberveiligheid, wordt door autofabrikanten uitbesteed. Ze voeren daarbij wel in hoge mate zelf de regie, geven nauwkeurig hun programmeerwensen aan en zien er uiteraard op toe dat het intellectuele eigendom over de broncode in hun handen valt. Enkele van honderden high-tech bedrijven die zich al dan niet exclusief richten op automotive software zijn Continental en diens dochteronderneming Elektrobit, Hitachi en diens dochter GlobalLogic, Harman (dochter van Samsung), Intellias, Bosch, Perforce, IPG Automotive en bijvoorbeeld Keysight. Ook bekende fabrikanten van halfgeleiders als NXP en Infineon zijn (indirect) nauw betrokken bij de softwareontwikkeling voor connected cars.

Dit soort bedrijven richt zich voornamelijk op de core software die zorgt voor de eigenlijke werking van alle systemen in het voertuig. Meestal gaat de aandacht in de media echter uit naar het infotainmentsysteem in het dashboard en de mate waarin autofabrikanten zich voor de ontwikkeling daarvan verlaten op twee van de bekendste techgiganten, te weten Apple en Google (meer hierover in een volgend artikel).

Inhaalslag

Van oudsher ontwerpen en bouwen autofabrikanten hun belangrijkste onderdelen zelf. Dat wat van cruciaal strategisch belang is en waarmee je je van de concurrentie kunt onderscheiden, wil je immers zoveel mogelijk in eigen hand houden. Het paradoxale is dat dat bij software dus anders ligt. Programmatuur is nooit het expertisegebied van autoconcerns geweest.

De voornaamste uitzondering hierop is Tesla, dat van meet af aan bestaat uit informatici die alles zelf coderen en zaken ook op een hele andere manier benaderen dan traditioneel in de auto-industrie gebruikelijk is. [Om de gigantische datastromen van alle rondrijdende Tesla’s te kunnen verwerken en overbelasting van het huidige netwerk te voorkomen, kondigde Tesla-CEO Elon Musk vorige maand overigens de bouw aan van een eigen supercomputer (‘Dojo’) ter waarde van 1 miljard dollar.]

Omschakelen naar de state of mind die meer eigen is aan Tesla, ging voor veel traditionele autoconcerns niet van een leien dakje. Toch zijn ze inmiddels allemaal bezig met het maken van een inhaalslag, niet in de laatste plaats ook om nieuwe Chinese concurrenten – die soms nog nauwelijks voor Tesla onderdoen – het hoofd te bieden. Zeker gezien het toenemend aantal elektrische auto’s neemt het verlangen van fabrikanten toe om zelf in staat te zijn cruciale software te ontwikkelen. Ze investeren in capaciteiten en talent, en roepen al naargelang de ambities hele nieuwe bedrijfstakken in het leven. Zo stampt Stellantis als moederbedrijf van zestien automerken de ene na de andere ‘software development hub’ uit de grond. Inmiddels zijn dat er acht in acht verschillende landen wereldwijd.

Andere willekeurige voorbeelden van dochterondernemingen geheel gericht op software zijn de Renault Software Factory, BMW Car IT (‘We live and breathe software’) en CARIAD, het software- en technologiebedrijf van de Volkswagen Groep dat duizenden mensen in dienst heeft. Samenwerkingsverbanden met softwarebedrijven zijn alleszins gebruikelijk: zo werkt CARIAD via de joint venture e.solutions bijvoorbeeld weer nauw samen met Elektrobit. Honda sloeg zojuist de handen ineen met het eveneens Japanse softwareconcern SCSK.

Ook overnames zijn aan de orde van de dag: Volkswagen nam enkele jaren geleden bijvoorbeeld telematicaspecialist WirelessCar over van Volvo en het platform voor autonoom rijden Argo AI kwam in handen van zowel Volkswagen als Ford. Inmiddels is Argo AI in naam opgeheven. Evengoed wordt de technologie door beide autofabrikanten in house uitgebouwd.

Mercedes kondigde eerder dit jaar de introductie van het Mercedes-Benz besturingssysteem (MB.OS) aan: een chip-to-cloud-architectuur met uitgebreide softwarefuncties voor alle toekomstige voertuigen. Waar de fabrikant eerder vertrouwde op samenwerkingen – waaronder met semiconductorfabrikant Nvidia voor software voor geautomatiseerd rijden – neemt het concern het heft nu nadrukkelijk in eigen handen. Vorig jaar behaalde Mercedes een omzet van ruim een miljard dollar uit het algehele gebruik van software in auto’s. MB.OS moet ervoor gaan zorgen dat die omzet tegen 2030 uitkomt rond de tien miljard.

Bugs

De gemiddelde automobilist zal dit natuurlijk allemaal een zorg zijn. Die wil enkel dat diens auto fatsoenlijk en comfortabel van A naar B rijdt. Om daarvoor te zorgen worden auto’s uitgebreid getest. Eerst in simulaties, waar je op een gegeven moment de lange stukken op de snelweg waarin in feite niks gebeurt kunt overslaan, en ongebruikelijke verkeersituaties of scenario’s die zich na miljoenen kilometers in werkelijkheid waarschijnlijk nog niet zouden voordoen, kunt voorprogrammeren om te kijken hoe de software daarop reageert. Een bedrijf dat hier bedreven in is en over realistische testopstellingen en -systemen beschikt, is AVL uit Graz (Oostenrijk). Vervolgens wordt nog een groot aantal testkilometers op een circuit of openbare weg afgelegd om te kijken of er geen rare dingen gebeuren. En dan is de software in principe klaar voor gebruik.

Tot zover in zeer beknopte vorm het rooskleurige verhaal. Feit is dat berichtgeving over automobilisten die gek worden van (gevaarlijke) softwarebugs in hun auto’s, over software-gerelateerde terugroepacties, gebrekkige cyberveiligheid en hacks alsook massaschadeclaims nauwelijks valt bij te houden. En dan te bedenken dat The Economist hier dertien jaar geleden al over schreef – vast niet als eerste.

Is er iets mis met je auto, dan is de kans steeds groter dat dat te wijten valt aan software die fratsen uithaalt. In algemene zin bevat software een fout in naar schatting 1 op de 20 regels code. Coderen is en blijft goeddeels mensenwerk. Het klinkt wat erger dan het in werkelijkheid is, maar zo bezien is een voertuig een systeem bomvol haarscheurtjes.

Technische schuld

Het kan jaren duren voordat een idee voor een nieuwe feature in een auto goed en wel is gerealiseerd en op de markt gebracht. Fabrikanten proberen de duur van dit soort ontwikkelcycli steeds korter te maken. Binnen de felle concurrentiestrijd die in de automotivesector woedt, staan technici onder druk om innovatieve snufjes zo snel mogelijk te introduceren. Een aanzienlijke mate van technische schuld is dan haast onvermijdelijk. Technische schuld komt neer op halfbakken software-oplossingen, patches en short cuts in plaats van een solide en volwaardig script. Die oplossingen zijn dikwijls het gevolg van de (noodgedwongen) keuze om prioriteit te geven aan snelheid boven gedegenheid. ‘Ship now, fix later’ is een principe dat binnen de hele software-industrie veel wordt toegepast.

Voornemens om dergelijke halve slordigheden later alsnog recht te zetten, worden lang niet altijd ingelost. In die zin is technische schuld een schuld op de toekomst. Er worden allerlei vangnetten ingebouwd om foutief gedrag te onderscheppen en doorgaans gaat het goed omdat de meeste foutjes in de code onschuldig zijn. Maar niet altijd: er kunnen zich speciale omstandigheden voordoen waarbij een beroep wordt gedaan op een deel van de software dat kuren vertoont. Bepaalde stukjes code – die tijdens het testen geen problemen gaven – worden als het ware wakker geschud en uitgevoerd, en dan kan het zomaar zijn dat je als automobilist een vervelende bug te pakken hebt.

In veel gevallen zorgen die bugs ervoor dat een auto uit het niets als het ware in paniek raakt en gekke, onverwachte dingen doet. Bijvoorbeeld ‘corrigerend’ optreden daar waar het helemaal niet gewenst of nodig is. Denk aan flink afremmen enkel omdat er keurig netjes iemand naast het voertuig fietst, of bijvoorbeeld omdat een tunnel wordt binnengereden en het van het ene op het andere moment donker is. [Sinds een jaar of twee staan er onder meer bij de Westerscheldetunnel bij Terneuzen borden die automobilisten opdragen de Adaptive Cruise Control uit te zetten omdat anders het risico bestaat dat auto’s in de tunnel vol in de remmen gaan, met alle gevolgen van dien.]

Wie is er verantwoordelijk in het geval van bijvoorbeeld een ongeluk veroorzaakt door foutieve autosoftware? Het is een logische vraag. Alleen is het antwoord minder voor de hand liggend. Volgens verzekeraar Arag kan dat namelijk best de automobilist zijn. Bovendien kan de fabrikant vrijuit gaan als bij de verkoop van de auto het niet mogelijk was om het gebrek te ontdekken.

Voor de goede orde: in alle gevallen gaat het om auto’s die door de typegoedkeuring zijn gekomen en dus veilig zijn verklaard om de weg op te mogen. Vooralsnog wordt bij die keuring slechts marginaal gekeken naar de werking van de software, al was het maar omdat de keuringsinstanties (in Nederland de RDW) vaak niet goed geëquipeerd zijn om dat te doen. Gesprekken tussen belanghebbenden zijn gaande om dit op den duur te veranderen.

Niet direct gevaarlijk, wel vervelend: ook infotainmentsystemen blijken niet altijd feilloos. Zo zijn er verhalen over dashboardschermen die bevriezen, flikkeren of op zwart gaan; of bijvoorbeeld muziek die opeens ophoudt, of plotseling veel te luid uit de speakers schalt. In tegenstelling tot de hierboven beschreven problemen kun je dit soort bugs soms zelf verhelpen.

Zoveel software op wielen geeft natuurlijk te denken over de cyberveiligheid, en daarmee ook de privacy. Hoe zit het daarmee? Fouten en tekortkomingen kunnen worden rechtgezet aan de hand van updates, al dan niet over the air (d.w.z. over het internet). Echter ook daar zitten verschillende haken en ogen aan. Deze deelonderwerpen met betrekking tot connected cars staan centraal in de aankomende artikelen.

Verschillende accounts

Tot slot nog even een zijdelingse observatie met betrekking tot software in voertuigen. Waar het gebruikelijk is om bij een pc of bijvoorbeeld een streamingsdienst als Netflix in te loggen met een eigen account, heeft het multi-user concept de automotivesector vreemd genoeg nog niet bereikt. De mogelijkheid om verschillende berijders verschillende persoonlijke accounts te laten aanmaken, is vooralsnog niet geïntroduceerd. De auto past zich met andere woorden niet aan de gebruiker aan; de gebruiker moet als vanouds de auto aan zichzelf aanpassen.

Verschillende accounts zouden niet alleen handig zijn met het oog op individuele voorkeuren en instellingen die één keer zouden verspringen (afspeellijsten, volume muziek, temperatuur, positie spiegels en stoelen, navigatie naar vaak bezochte bestemmingen, enz.). Het zou bovendien zorgen voor ‘datahygiëne’ in voertuigen die een enorm spoor aan gegevens achterlaten. Zo zouden contactenlijsten en ander geïmporteerd materiaal uit de smartphones van verschillende gebruikers niet vermengd raken in het infotainmentsysteem. Bijkomend voordeel zou zijn dat als je jouw data vergeet te wissen in het geval van een huur- of leaseauto, de volgende berijder niet bij jouw gegevens kan.

Inloggen in een persoonlijk account vergt natuurlijk een vorm van identificatie (wat iets meer tijd kost bij het wegrijden), maar daar zijn verschillende oplossingen voor te bedenken. Autofabrikanten zouden in ieder geval zonder al te veel moeite het multi-user concept in hun software kunnen bouwen. Maar het zijn hiërarchische organisaties waar ook de – vaak wat conservatievere en meer op het ontwerp gefocuste – top in dergelijke innovaties moet geloven. En ervan overtuigd moet zijn dat automobilisten hun auto steeds meer willen gebruiken op een manier die aansluit bij andere producten en digitale diensten.