MASKINLÆRING

Brukar maskinlæring for betre handtering av IT-etterslep

I mange IT-prosjekt oppstår behov for betydeleg etterarbeid, av ulike årsaker. Det vert kalla teknisk gjeld. No håper forskarane å behandla gjelda meir effektivt med maskinlæring.

– Ubehandla teknisk gjeld kan ha store samfunnsmessige konsekvensar, seier Antonio Martini.
– Ubehandla teknisk gjeld kan ha store samfunnsmessige konsekvensar, seier Antonio Martini. Foto: Torstein Helleve/UiO
Torstein Helleve, Titan.uio.no
11. feb. 2024 - 05:44

– Sjå for deg ei gryte med daggammal graut, eller ein kaffikopp som har stått sidan førre fredag, seier professor Antonio Martini ved Institutt for informatikk på Universitetet i Oslo.

– Det hadde vore best å reingjera dei med ein gong. Når det ikkje vert gjort, vert jobben mykje verre. Det er ein illustrasjon på korleis teknisk gjeld fungerer i eit IT-system. Mykje vi møter i kvardagen, ligg det store IT-system bak. Ubehandla teknisk gjeld i desse systema kan ha samfunnsmessige konsekvensar.

Teknisk gjeld er ein metafor som vert brukt om uløyste oppgåver i IT-prosjekt. Ikkje alle typar uløyste oppgåver, men spesifikt der ein har vald løysingar som må forbetrast eller rettast opp seinare.

Investorfirma tapte 4,6 milliardar kroner

– Nokre gonger kan dette vera medvitne val, der utviklarane vel ei løysing som ikkje er optimal sjølv om dei veit at det vert meir arbeid i framtida. Kanskje vert det til og med meir arbeid enn om dei hadde gjort det rett fyrste gongen. Rentekostnadane vert større ettersom tida går og systemet vert utvida og påbygd med meir kode, seier Martini.

– Det kan skje ved tidspress, der forretningssida av organisasjonen legg press på utviklarsida. Spenninga mellom forretning og utvikling leiar ofte til teknisk gjeld. Andre gonger kan det vera marknaden som fører til tidspress. Teknisk gjeld kan òg oppstå hjå utviklarane, til dømes ved at teknikarane ikkje har forstått dei forretningsmessige behova.

Eit døme på kor gale det kan gå, er då det amerikanske investorfirmaet Knight Capital Group i 2012 tapte $440 millionar – 4,6 milliardar norske kroner etter dagens kurs. Det skjedde etter at ein teknikar ved ein glipp aktiverte gammal kode for automatisk aksjehandel.

– Slik kode er utstyrt med stoppvarsel når han har fylt dagens kvote. Men stoppvarselet var blitt endra sidan den gamle koden sist var brukt, og dermed fungerte det ikkje, fortel Martini.

Redningsaksjon ved overgangen til år 2000

– Resultatet var at den gamle koden heldt fram å handla. Han pressa fyrst opp prisane og handla deretter meir til den nye, kunstig høge prisen. Knight Capital Group kom seg aldri etter denne smellen, og vart kjøpt opp året etter.

Den gongen besto altså den tekniske gjelda i at ein hadde gammal kode som verken var blitt oppdatert eller fjerna. Men ein kan òg dra på seg teknisk gjeld uforvarande. Mange vil hugsa År 2000-problemet, «the millenium bug».

– På 1980-talet var det få som tenkte på at det ikkje var nok med to siffer i årstal i IT-løysingar. Dermed vart det ein stor redningsaksjon som måtte setjast i verk over heile verda då år 2000 nærma seg. Mykje pengar og ressursar vart sett inn for å forhindra katastrofale konsekvensar, seier Martini.

– No skal det seiast at sett i etterkant så gjekk overgangen til år 2000 ganske greitt, så kanskje ein hadde overvurdert kor stor den faktiske tekniske gjelda var. Men uansett viser det kor mykje det kan krevja å retta opp teknisk gjeld, uavhengig av kor stort trugsmålet var i dette tilfellet.

Simen Bakke, senior informasjonssikkerhetsrådgiver, skriver i kronikken om hvordan bakdøren i xz-biblioteket trolig ble plassert der.
Les også

Bakdøren i Linux – en sofistikert etterretningsoperasjon?

Modell skal identifisera teknisk gjeld

Martini har fått innovasjonsmidlar frå Forskingsrådet til å utvikla programvare som med maskinlæring skal hjelpa bedrifter med betre gjeldshandtering. Visma og Akva Group er hovudpartnarar i utviklingsarbeidet, men dei samarbeider òg med Sintef, og med Knowit saman med Tolletaten. Saman med seg frå UiO har Martini stipendiat Karthik Shivashankar.

– Forskinga vår fylgjer tre hovudspor. Det fyrste er å bruka modellen til å identifisera teknisk gjeld i det som heiter backlogen til utviklarteamet. Dette er lista over uløyste oppgåver. I store organisasjonar kan ho innehalda mange tusen oppgåver, der langt frå alt er teknisk gjeld, forklarar Martini.

– Han kan òg vurdera kor alvorleg den enkelte gjeldsposten er.

Kan ikkje stola 100 prosent på læringsmodellane

Han legg til at dette er slikt arbeid som utviklarane helst vil unngå sjølve, dei vil helst berre koda. Ein annan modell kan hjelpa med det, langs det som er det andre hovudsporet i forskinga.

– Mange har prøvd å bruka verktøy som Chat GPT til å skriva kode. Resultatet vert ofte så som så. Du får gjerne det du bestiller, men du får ikkje noko meir heller, seier Martini.

– Modellen vår har derimot fått lovande resultat med å skriva kode som ikkje stoppar ved å oppfylla bestillinga, men som òg skriv det som programmerarar kallar god kode. Som med anna liknande innhald må koden likevel kvalitetssikrast av ein programmerar. Vi er ikkje der endå at vi kan stola 100 prosent på læringsmodellane.

Gjera grep på riktig tidspunkt

Det tredje sporet er ikkje så teknisk. Det er rett og slett eit spørjeskjema, utvikla og raffinert over mange år.

– Som sagt er det ofte spenning mellom forretning og utvikling i organisasjonar. Avhengig av kven du spør, vil du få ulike svar på kva som er årsaka til den tekniske gjelda, forklarar Martini.

– Gjennom spørjeskjemaet får vi ei oversikt over dei ulike perspektiva og kan jobba med å få ei felles forståing av kvar problema ligg, for både å forebyggja, identifisera og redusera skadeverknadane av teknisk gjeld. Selskapa som har prøvd det, har funne det nyttig. Vi publiserte ein vitskapleg artikkel om skjemaet som verktøy i fjor.

– Det viktigaste med handtering av teknisk gjeld er å gjera grep på riktig tidspunkt.

Artikkelen ble først publisert på Titan.uio.no

Les også

Voyager 1 ringer hjem etter måneder med uforståelige data

Del
Kommentarer:
Du kan kommentere under fullt navn eller med kallenavn. Bruk BankID for automatisk oppretting av brukerkonto.