CA: Kunstig intelligens verner mot år 2000

- For å sikre år 2000-kompatibilitet, må hver kodelinje i en applikasjon sjekkes. Manuelt krever én million linjer to til tre måneder. Kunstig intelligens kan redusere dette til mellom fire timer og to og en halv uker, sier Mark Stabler i Computer Associates.

Stabler viser til et produkt som Computer Associates nettopp har sendt ut på markedet, kalt CA-Fix/2000. Dette verktøyet kjøres på selve stormaskinen, først for å finne fram til de kodelinjene der det må gjøres noe med datofeltet, og så for å endre dem på en konsistent måte.

- Erfaringsmateriale som vi har samlet inn, tyder på at en erfaren programmerer bruker to til tre måneder på å gå gjennom en million linjer med kode. I utprøvingsfasen av CA-Fix/2000, har vi brukt mellom fire timer og to og en halv uker på tilsvarende oppgaver.

At verktøyet kjøres på stormaskinen, betyr at den kan behandle hele applikasjonen under ett, framfor å behandle applikasjonens ulike filer en for en. Det fører også til at verktøyet kan basere sine kunstig intelligente avgjørelser på en analyse av dataflyten i applikasjonen.

- Du kan ikke stole på enkle kriterier når du skal finne fram til datofelter. Det er for eksempel ikke alle som bruker betegnelsen "date" eller "time" på datofelter. Derfor må verktøyet se nærmere på hvordan feltene er definert og formatert. I ett tilfelle der vi skulle settes på prøve, skulle vi bruke vår beta-utgave til å sjekke en serie rutiner. Vi fant raskt et felt kalt "kevin" og som viste seg å være applikasjonens dato-angivelse. Dette feltet hadde gått uoppdaget gjennom en rekke PC-baserte verktøy for automatisk retting av år 2000-følsomme applikasjoner.

Stabler sier at det også er viktig å se på hvilken funksjon datofeltet inngår i.

- Ikke all bruk av avkortede datofelt representerer en risiko. Er kodens funksjon å bare flytte data, er det ingen grunn til å endre den. Det som er viktig er å analysere kode der dato-informasjon bearbeides, for eksempel når to datoer sammenliknes. Erfaringen vår er at bare 10 til 15 prosent av kodelinjene der datoer forekommer, utgjør risikotilfeller som må endres. Å bare endre det som endres er viktig i situasjoner der kunden er under tidspress.

Stabler advarer mot år 2000-hjelpemidler som vil få til for mye på en gang.

- Det er viktig at verktøyet bare endrer på de linjene som må endres. Jeg har sett verktøy som ikke bare fikser alle datofelter, men som også strukturerer programmet. Det gir ikke alltid de ønskede resultater. Husk at stormaskinprogrammer oftest har fungert feilfritt i mange år, selv om de har vært spagetti-programmert. Vårt prinsipp er å la spagettien ligge, og bare endre det som må endres for å gjøre applikasjonen år 2000-sikker.

CAs verktøy etterlater seg en egen logg over alle endringene den har gjennomført, med tanke på kontroll dersom det siden skulle oppstå problemer.

En viktig detalj som ofte går upåaktet hen, er behandlingen av skuddår.

- Det er tre regler som avgjør om et år er et skuddår. Hvis årstallet er delelig på fire, har vi et skuddår. Hvis det er delelig på hundre, er det ikke et skuddår. Hvis det er delelig på 400 er det likevel et skuddår. Helt til ganske nylig innarbeidet programmerere bare de to første reglene i sine systemer. For år 2000 blir dette helt feil.

Stabler peker på at mange vil få problemer allerede i dag med ikke-kompatible applikasjoner.

- Etter nyttår kan du oppleve at datasystemer oppfatter at treårsgarantier på nye produkter allerede er utløpt: 98 pluss 3 gir 01, og 01 minus 98 gir 97 som er klart større enn 3. Liknende problemer rammer flere amerikanske betalingskort, ikke fordi datasystemet til kortleverandøren ikke er ajour, men fordi kortleseren i den enkelte butikken ikke er år 2000-kompatibel. Flere steder i USA vil du se plakater i butikker, der det fortelles at man ikke kan ta imot betalingskort som utløper etter år 2000.

CA-Fix/2000 ble kunngjort i fjor sommer, og formelt lansert i januar i år. Det skal hittil være kjøpt av 65 kunder, forteller Stabler.

Til toppen