Hoe zwart-wit is code?

Het is een algemeen beeld dat programmatuur altijd
consequent doet wat er staat.  Met andere woorden
code is heel zwart wit.  Reken je iets fout uit,
dan gaat het ook altijd fout.  Is een algoritme
correct uitgeprogrammeerd dan zal het ook altijd
het juiste antwoord geven.  Er is dus niet zoiets
als een bug hooguit een verkeerd stuk code.
Maar is dat wel zo?  

Stel je wilt weten waarom een bij doodgaat na het
steken en een wesp niet.  Op
natuurinformatie.nl staat het antwoord.  Maar
niet altijd.  Op 18 november 2011 om 15:18 uur
stond er dit:

msxml6.dll error '80070020' The process cannot
access the file because it is being used by
another process.
D:\treznet\oper\cultuur/sites/natuurdatabase.nl/asp/shared.inc,
line 254

Dus het lijkt niet altijd zo te zijn dat code die
goed is, ook altijd een goed resultaat biedt.
Want even later vinden we het antwoord.  Een bij
gaat helemaal niet dood bij steken, alleen bij het
steken van een mens, maar daar is de bij eigenlijk
niet voor bedoeld.

De foutmelding blijft knagen, dus we googelen op
de eerste zin van de foutmelding. Er zijn precies
twee hits.  De eerste hit krijgen we ergens op
nederlandsesoorten.nl, nog meer natuur dus.  Daar
zou deze foutmelding ook staan en dat is in de
omschrijving op google goed te zien.  Maar bij
opvragen van deze pagina staat er iets over
Mycosphaerella mori.  Dat lijkt een of andere
schimmel te zijn.  Gek want volgens de google
cache staat daar die foutmelding daar toch echt.
Kennelijk staat ook daar soms iets anders dan wat
er zou moeten staan en heeft google dat toevallig
opgepikt toen de search bot langskwam.

Kortom: waar we inhoud verwachten staat het niet
altijd en waar we de foutmelding kunnen vinden
staat het ook niet altijd.

Dan is er nog die tweede hit.  Die leidt naar
Microsoft en daar linkt men door naar een support
pagina met als onderwerp: You receive error
0x80070020 when you use the Windows Update Web
site or the Microsoft Update Web site to install
updates.

Het is fijn dat de support pagina met u meedenkt:
``This article applies to a different operating
system than the one you are using.  Article
content that may not be relevant to you is
disabled.''  Geen idee dus of wat je leest ook
daadwerkelijk het complete verhaal is.

Men beschrijft inderdaad dat als je iets upload
van een Windows website dat je dan die error kunt
krijgen.  Niets over wespen en schimmels waar we
dit ook krijgen.  De oorzaak van het probleem
wordt ook geschetst.  Namelijk als een stuk
programmatuur interfereert met het automatische
update proces.  Een voorbeeld wordt er ook bij
gegeven: antivirus programma's die real-time
scannen en real-time backups veroorzaken dit
probleem.  Dan komt een hele trits aan methoden
voor oplossingen, en die zitten allemaal in de
hoek van restarten en clean boots, en het
tijdelijk uitzetten van spyware, antivirus
programmatuur en het uitzetten van firewalls.

De support pagina blijkt "kleine lettertjes" te
hebben.  Ik zou zeggen bij support heb je juist
geen kleine lettertjes maar ehh.. support?  Afijn
in die kleine lettertjes staat het volgende te
lezen: ``This article contains information that
shows you how to help lower security settings or
how to turn off security features on a computer.
You can make these changes to work around a
specific problem. Before you make these changes,
we recommend that you evaluate the risks that are
associated with implementing this workaround in
your particular environment. If you implement this
workaround, take any appropriate additional steps
to help protect the computer.''

Als ik het even mag samenvatten: waarom gaat een
bij dood bij steken en een wesp niet.  Om hierop
consequent altijd antwoord te krijgen moet men
aldaar de automatische backup en/of de antivirus
programmatuur en/of de firewall uitzetten zodat
het antwoord erop komt in plaats van af en toe een
duistere foutmelding.  We zien hier dus
interferentie optreden tussen
bedrijfsfunctionaliteit en allerlei externe
processen die deze functionaliteit moeten
borgen zoals beveiliging en continuiteit.  

Kortom de software doet grosso modo waarvoor het
bedoeld is maar soms even niet.  Code is minder en
minder deterministisch aan het worden, en dat is
een zorgpunt als het niet gaat om de wondere
wereld van de insecten naar als het om
bedrijfskritische zaken gaat.

X

Meer weten over de wondere wereld van ICT
in Jip en Janneke taal? Ga dan naar de
knipselkrant van Chris Verhoef

Prof. dr Chris Verhoef is hoogleraar informatica
aan de Vrije Universiteit in Amsterdam en
wetenschappelijk adviseur voor overheid en
bedrijfsleven.  Hij schrijft regelmatig een
column in de AG.  Hij is te bereiken via email:
x@cs.vu.nl.  Deze tekst is copyright SDU.  Niets
van deze uitgave mag zonder schriftelijke
toestemming van de uitgever worden overgenomen of
worden gepubliceerd.