210 likes | 370 Views
Het Jaar 2000 Probleem. Arie van Deursen. Bestaande problemen. Selectie uit The Risk Digest Forum On Risks To The Public In Computers And Related Systems comp.risks http://catless.ncl.ac.uk/Risks/. Datumproblemen (I). januari 1999 (Zweden): Girotel weigert datums in 1999
E N D
Het Jaar 2000 Probleem Arie van Deursen
Bestaande problemen • Selectie uit The Risk Digest Forum On Risks To The Public In Computers And Related Systems • comp.risks • http://catless.ncl.ac.uk/Risks/
Datumproblemen (I) • januari 1999 (Zweden): • Girotel weigert datums in 1999 • Geen nieuwe paspoorten • Taximeters geven te laag bedrag • december 1998: • Verzekeraar HBA (Australië) verstuurt polisverlenging van 1999-1900
Datumproblemen (II) • april 1999: 1900 als wijnjaar • Chateau Margaux 1900 -> 2000 • januari 1999: Waadt (Zwitserland) • Patientregistratie in alle ziekenhuizen 36 uur down (01.01.00 -> 01-01-1900) • maart 99: MS Outlook Express: • 30 juni 1998 -> 30 juli 2018
Datumproblemen (III) • 9-09-99: • onverwachte bijboekingen van $160.000 tot $2.000.000 bij bank in VS • 1 oktober 1999: Visa-card • 10/01/1999 -> 0/01/1999 (VS) • 12 oktober 1999: Maine (VS) • Registratie nieuwe auto's: “Horseless carriages”. • 2000 -> 1900, als < 1916 dan ...
Y2K-“correcties” (I) • september 1998, Dublin. • Incorrecte y2k-upgrade in besturingssoftware verkeerslichten: Dublin uren verstopt. • januari 1999, Malmo • Betalingsopdrachten gemeente sinds y2k-correctie elke dag verstoord. Geen verklaring gevonden!
Y2K-“correcties” (II) • augustus, 1999 • London Electricity • “Y2K upgrade went horribly wrong” • 400.000 “prepaid” klanten • 2000 klanten enkele dagen zonder elektriciteit • 2000 klanten “having difficulties” • Informatie over prepaid bedrag incorrect overgedragen.
Y2K- “correcties” (III) • februari 1999: • Verkeersboetes in Ottawa • Boete gedateerd in 2097 • Te betalen voor 2098 (!) • 300 boetes verstuurd • “Correctie”: overal “19” door “20” vervangen
Testen van Correcties (I) • december 1998 • Bank One Texas voert jaar 2000 test uit • test: cliënten die rood staan informeren • duizenden testgevallen aangemaakt • … per ongeluk wel verstuurd • februari 1999 • PSE&G verstuurt 61000 incorrecte rekeningen • Y2K test data niet verwijderd
Testen van Correcties (II) • maart 1999 • Pennsylvania's Atomic Power Station • Vooruitzetten van de klok: • primary and backup monitoring systems crashed • alle computerschermen zwart • overstap op handmatige procedures. • software 7 uur down • Oorzaak: klok foutief verzet. • Centrale zelf OK, maar test gevaarlijk!
Testen van Correcties (III) • mei 1999 • y2k test legt Fiji Telecommunication Services hele dag plat • juni 1999 • Los Angeles test Y2K compliance • 16 milj. liter rioolwater in stuwmeer geloosd • software-fout had pijp afgesloten.
Gevolgen van 2 cijfers • “Harde” getallen: 19, 1900 • Gebruik van 99 (00) voor uitzonderingen • Rekenkundige overflow / underflow • Vergelijkingen • Sorteren • Schrikkeljaren • Misbruik van eeuwvelden
Waarom 2 cijfers? • Jaren 60, 70: • geheugen duur • levensduur > 20 jaar onvoorstelbaar • twee cijfers natuurlijk voor mensen • datatypisten niet steeds 19 laten intypen • Jaren 70, 80: • data uitwisselen met andere systemen • data uit oude systemen behouden
Technische oplossingen • Expansie: • rek 2 cijfers op tot 4 • alle programma’s, en alle bestanden (!) moeten aangepast worden • Vensters: kies breekjaar (bijv 60): • 00-60: -> 2000 - 2060 • 61-99: -> 1961 - 1999 • Alleen programma’s aanpassen • Datumbereik maximaal 100 jaar
Stappen Y2K Projecten • Bewustwording • Inventarisatie • Evaluatie & Planning • Impact-analyse • Renovatie • Testen • Overdracht
Initial repairs Bad fix repairs Test library repairs Database repairs Chip replacements Faster hardware Litagation / damages US Total 70.000.000.000 7.000.000.000 10.000.000.000 60.000.000.000 10.000.000.000 20.000.000.000 100.000.000.000 277.000.000.000 Kosten VS in $ Capers Jones Y2K: Quantifying Costs NL: 5%
Correcties in het echt (I) J2K *01 CDAT-DATUM. J2K * 05 JAAR PIC X(02). J2K * 05 MAAND PIC X(02). J2K * 05 DAG PIC X(02). J2K 01 CDAT-DATUM-AN. J2K 05 CDAT-DATUM. J2K 15 EEUW PIC X(02). J2K 15 JAAR PIC X(02). J2K 15 MAAND PIC X(02). J2K 15 DAG PIC X(02). J2K 05 FILLER PIC X(13).
Correcties in het echt (II) J2K * IF KM-WINSTDELEND IN KV-KRT2 J2K * < '70’ OR > JAAR IN CDAT-DATUM J2KA IF KM-WINSTDELEND IN KV-KRT2 J2KA < '1970’ OR > JAAR-J2K
Een toevallig incident? • Unieke aspecten van Y2K: • Impact over hele wereld • geen uitstel • enorm in omvang • Gevolg van algemene slechte conditie van software • Foutgevoelig , onbegrijpelijk, star, ontestbaar • maar onmogelijk in een keer te vervangen!
Onderzoek: Software renovatie • Program Understanding • Maak programmatuur inzichtelijk • Visualiseer programma’s • Ondersteun software browsing • Program Transformation • Herschrijf programma’s • Verwijder slechte constructies • Van procedureel naar object-georiënteerd
Voorspellingen • Jaar-2000 fouten • vergelijkbaar met genoemde (lastig, niet ernstig) • gedurende heel 2000 • pieken rond 1 jan en 29 feb • Bewustwording: • afhankelijkheid software • noodzaak kwaliteitsverbetering