Development / Nieuws
‘Software wordt nooit foutloos'
Software zal nooit foutloos worden omdat ontwikkelaars bestaande software onvoldoende doorontwikkelen en te veel gefocust zijn op nieuwe versies. Dat stelt VU-onderzoeker Andrew Tanenbaum die de betrouwbaarheid en veiligheid van systeemsoftware onderzoekt.
U heeft een subsidie van 2,5 miljoen euro gekregen van de European Research Council (ERC). Wat gaat u precies onderzoeken?
Ik ga onderzoek doen naar betrouwbare en veilige systeemsoftware. Ik wil het systeem Minix, dat ik in de jaren tachtig maakte, verder ontwikkelen.
In software zitten altijd fouten, dat zijn bugs in de code. Een bug zorgt niet altijd voor een crash, dat gebeurt alleen in bijzondere omstandigheden. Software moet deze fouten eigenlijk zelf detecteren en oplossen, zodat de gebruiker er niets van merkt. Er is wel zelfregulerende software, maar niet veel en het werkt niet zo goed.
Veel software is zo ontwikkeld dat er geen wijzigingen aangebracht kunnen worden terwijl de programmatuur draait. Programma's moeten gestopt of herstart worden om updates door te voeren. Dat lukt niet altijd, servers bij banken moeten altijd blijven draaien. Door meer te moduleren moet het mogelijk worden om bijvoorbeeld de software op een draaiende fileserver te vernieuwen.
U gaat dus verder met Minix?
De ontwikkeling van Minix staat al een jaar of tien stil. Ik ontwikkelde Minix in de jaren tachtig. Linus Torvals ontwikkelde het systeem verder, maar wijzigde het zo erg dat het een ander systeem werd. Dat werd Linux. Linux heeft te veel regels code, het is te groot. Windows is nog veel groter. Hoe meer code, hoe meer fouten. Uit onderzoek blijkt dat er in goede software gemiddeld een fout per honderd regels code zit. Als je er echt alles aan doet, bijvoorbeeld door goed te testen en een goed beleid, dan kom je uit op een bug per duizend regels code. Maar beter dan dat kun je het niet doen. Linux heeft vijf miljoen regels code. De complete Windows Vista distributie is 70 miljoen regels.
Hoeveel geld heeft u hier voor beschikbaar?
Ik heb hiervoor 2,5 miljoen euro beschikbaar voor vijf jaar. Een deel van dat geld gaat naar de Vrije Universiteit (VU) als overhead. Dat betekent dat ik ongeveer 0,4 miljoen euro heb per jaar. Hier kan ik ongeveer vijf mensen voor aan het werk zetten. Waarschijnlijk zijn dat twee tot drie programmeurs, een aantal aio's (assistenten in opleiding) en wat post-doctorale onderzoekers.
Wat hoopt u over vijf jaar te hebben?
Ik hoop dat we dan veel ideeën hebben over hoe het beter moet. En dat we een werkend prototype hebben.
Wordt software ooit foutloos?
Het zal wel ooit mogelijk worden dat software foutloos wordt, maar ik denk niet dat het ooit gebeurd. Softwareleveranciers komen met een constant stroom van updates en nieuwe features (met nieuwe bugs) en iedere paar jaar met een nieuw systeem. Een televisie draait tien jaar zonder problemen, die is redelijk stabiel. Ik wil dat een computer net zo stabiel is als een televisie.
Softwareontwikkelaars werken altijd aan nieuwe versies. Als Microsoft nu nog Windows 98 ontwikkelde, was het foutenvrij geweest. Maar dat gebeurt niet. Programma's krijgen steeds meer functies, vaak steeds nuttelozere functies. Zolang softwaremakers nieuwe versies blijven ontwikkelen (in plaats van de oude versies debuggen), blijven er altijd fouten in software zitten.
Volgens mij had ie toch al eerder toegegeven dat Linux compleet los stond van Minix en dat er geen code van Minix in Linux gebruikt is...
Lijkt wel of hij met deze opmerking alsnog wat credits voor Linux wil opeisen.
En zoals Nick al terecht zegt.. gewoon from scratch beginnen en niet met die oude zooi waar een leger studenten aan heeft zitten klooien.
Het ERC weet wel waar ze het geld aan uitgeven.
Liechtenstein is dus een stuk gezonder dan Nederland, want in Nederland wonen meer mensen en zijn er dus meer zieken.
Zie verder mijn blogpost: http://adi.atosoriginblog.nl/2008/08/22/software-wordt-nooit-foutloos-so-what
De European Research Council had het geld net zo goed door de plee kunnen spoelen.
De "concurrentiepositie"? Van Microsoft zeker. Ik weet dat zij dit argument gebruiken om hun software op de markt te gooien terwijl die nog lang niet af is. Maar ondertussen sparen ze gewoon miljarden dollars uit door naieve gebruikers als onbezoldigde testers te laten optreden. Als er werkelijk concurrentie was dan zouden ze veel hogere prioriteit geven aan de kwaliteit van hun producten. En dan praten we over miljarden en niet die zielige paar miljoen waarmee Tanenbaum mag proberen zijn speeltje nieuw leven in te blazen.
Ik ben het er niet mee eens dat we de huidige kwaliteit van software maar moeten accepteren. Als je televisie of auto gebreken heeft dan heb je recht op herstel of vervanging. Waarom zou dat niet ook kunnen gelden voor software.
Het zegt voldoende dat Microsoft in zijn disclaimers aangeeft dat hun software "niet geschikt" is "voor welk doel dan ook"... Misschien kan mw Kroes ervoor zorgen dat softwarebedrijven hier niet meer mee weg komen. Dan zal er pas echt iets gaan veranderen, hoop ik.
@Nick: Zal liggen aan de compiler of die 64 bits is ingesteld.
Zijn pleidooi voor meer testen is op zich niet verkeerd. Tegenwoordig zijn exploderende ariane raketten doodnormaal. Wie heeft toch de trend gezet dat testen van systemen niet nodig is?
@JosW: Je hebt helemaal gelijk wat betreft die tendes wbt software kwaliteit.
Gefeliciteerd met deze subsidie,
IK heb liever iemand die zijn HOOFD gebruikt in plaats van de MUIS die ze krijgen van de software leverancier.
Eindelijk iemand die NEDERLAND een stap vooruit kan zetten.
Tanenbaum stelt dat software uit teveel code bestaat.
Wonen er, om jouw redenering te volgen, teveel mensen in Nederland zodat er meer zieken zijn dan in bijv. Liechtenstein met een lagere bevolkingsdichtheid?
Heel veel code is bloated, dat is een feit. Meer code betekent niet altijd meer functionaliteit.
- 14:05 Subsidie voor ICT-opleiding blijkt niet populair
- 14:15 ICT'er vindt flexwerken belangrijk
- 13:28 Virusprobleem AZM is nog niet opgelost
- 14:23 Juniper en ProCurve winnen terrein op Cisco
- 13:03 Bouw & ICT 2010: CORA zingt rond
- 10:58 Bedrijven krijgen subsidie voor ICT-opleidingen
- 10:49 Siemens versimpelt zijn ICT-divisie
- 10:33 Leeuwarden zoekt testers voor Drupal-site
- 17:36 Eurlings zet tender Kilometerheffing stop
- 15:59 Ook studentinformatiesysteem UvA is vertraagd
Kwaliteit en agile software development
Agile is “hot”. Agile projecten beloven sneller software te leveren, die na elke iteratie onmiddellijk in......
SAP-maatwerk, duur beheer
Als er veel wordt gesleuteld aan een SAP-applicatie, zorgt dat voor hogere beheerkosten na het project. Maar het is lastig aan de organisatie duidelijk te maken dat maatwerk niet altijd de beste oplossing is.
Meer maatwerk bij SAP maakt beheer duurderZakelijke tablet-PC's met aanraakscherm van HP
17-03 10:18 HP introduceert twee tablet-pc's met touchscreen voor zakelijke gebruikers. Daarnaast is de ProBook-serie uitgebreid met drie modellen die geschikt zijn voor zowel grote- als...
Development productenBol.com ontwikkelt sneller nieuwe applicaties
01-03 11:14 In de strijd om de beste business cases van 2009 heeft ook Xebia een inzending gedaan. Met het project 'Bol.com' dingen zij mee naar de prestigieuze Computable-prijs. Het...
Development praktijk'HRM-software kan nog volop verbeterd worden'
17-02 10:15 De afgelopen jaren heeft de ontwikkeling van hrm-software zo goed als stil gestaan. Dat meent althans Jan Hoogstra van KPMG IT Advisory. KPMG deed onderzoek naar de...
Development achtergrondGrip op de onbekende
14-03 10:42 Als testers moeten we steeds vaker op basis van minder concrete input gaan testen. De klant neemt besluiten/risico's om zo snel mogelijk naar de markt te kunnen. Men weet vaak...
Development opinie



Windows XP was toch duidelijk een verbetering die je met alleen het debuggen van Windows 98 nooit voor elkaar had gekregen.
En nu moet een 10 jaar oud systeem als start dienen voor een project van 2,5 miljoen? Had dat geld maar aan mij gegeven.
Waarom niet beginnen van scratch en gelijk rekening houden met moderne hardware? Multi-core? 64 bit? Wil ie dat er zo in gaan hacken ofzo?