Reisebrev fra TechDebt 2023 og ICSE 2023

Bli med på en spennende reise til den andre siden av jordkloden, til det fantastiske landet Australia. Denne gangen er Melbourne vertsbyen for den prestisjetunge IEEE/ACM International Conference on Software Engineering (ICSE) og IEEE/ACM International Conference on Technical Debt (TechDebt). Jeg var full av forventning og stolthet da jeg la ut på reisen for å delta på ICSE 2023 og presentere min forskning som nettopp har blitt akseptert for publikasjon på TechDebt 2023.

Daniel Skryseth

Trykk på taggene for å lese mer om hvor og hvordan vi benytter samme fag og teknologi

ICSE og TechDebt

ICSE blir anerkjent som en av de mest innflytelsesrike og høyest rangerte internasjonale konferansene innen programvareutvikling. Konferansen samler akademikere, industrieksperter, praktikere og forskere fra hele verden for å diskutere og presentere de nyeste trendene, innovasjonene, problemene og erfaringene innen teknologiutvikling og programvare. Konferansen dekker et bredt spekter av emner, inkludert maskinlæring, programvaretesting, arkitektur, informasjonsutvinning, datasikkerhet samt de samfunnsmessige og kognitive aspektene ved programvareutvikling.

TechDebt samler ledende forskere og praktikere for å diskutere spesifikke tilnærminger til teknisk gjeld, dele erfaringer og beste praksis innen området, samt identifisere nøkkelutfordringer for både industri og akademia. Dersom man ikke er kjent med begrepet teknisk gjeld, kan man tenke på det som en samling av design- eller implementeringskonstruksjoner man gjør i en teknisk kontekst, hvor disse konstruksjonene kan på kort sikt være hensiktsmessige, men som over tid vil føre til at vedlikeholdbarheten og utviklingsevnen til det tekniske systemet blir mer kostbare eller til og med umulige.

Reisen starter 

Reisen fra Oslo til Melbourne var en lang reise, det er jo tross alt en av de storbyene i verden som ligger lengst unna hovedstaden vår. Ikke nok med det, men det fulgte også med en heftig jetlag etter å ha reist fra vår tidssone til den australske, som har en tidsforskjell på rundt 10 timer frem i tid. Heldigvis, etter ankomst, kunne jeg glede meg over å dele med kolleger, venner og familie at det allerede var morgen i Australia og at en ny dag ventet dem. De var sannsynligvis klare for å legge seg da jeg endelig hadde landet trygt i Australia på morgenkvisten, og var klar for seks dager med konferanse i storbyen.

botanisk_hage.jpg
Melbournes botaniske hage var bare en kort tur unna konferansen og bød på den vakre naturen i Melbourne og Australia midt i storbyen.

Endelig konferanse 

Endelig var det klart for konferanser og først ut var TechDebt 2023 som startet 14. mai og varte i to dager før ICSE 2023 overtok fra 17. mai og frem til 20. mai da det ble avsluttet med en dag med workshops. I løpet av denne perioden ble programmet for de ulike arrangementene og konferansene delt opp i keynote-foredrag, sosiale arrangementer, paneldiskusjoner og tekniske presentasjoner. Man stod fritt i å velge hvilke deler man ønsket å delta på og kunne følge programmet gjennom en egen app på mobil.

deltakere_registrerer_seg.jpg
Deltakerne står klare for å registrere seg for ICSE 2023 og de samlokaliserte konferansene ved Melbourne Convention Exhibition Centre.

Min tur til å presentere 

Først den 15. mai var det endelig tid for at jeg skulle presentere min forskning, som snart blir publisert som et technical paper med tittelen "Technical Debt Classification in Issue Trackers using Natural Language Processing based on Transformers". Forskningen ble gjennomført i samarbeid med dyktige medforfattere, inkludert PhD-student Karthik Shivashankar fra Universitetet i Oslo (UiO), seniorforsker Ildikó Pilán fra Norsk Regnesentral og professor Antonio Martini fra UiO. Vår forskning var et av ti aksepterte research papers sendt inn som viste innovativ og betydningsfull original forskning på feltet teknisk gjeld, og som etter en omfattende fagfellevurdering ble akseptert for TechDebt 2023.

Forskningen vi utførte dreide seg om å bruke maskinlæring til å gjenkjenne diskusjoner og samtaler om teknisk gjeld i oppgavehåndteringssystemer som Jira og GitHub. For dette utforsket vi bruken av et stort datasett med utvikler-merkede teknisk gjeld-diskusjoner kombinert med avanserte tilnærminger innen språkbehandling (NLP) for å automatisk klassifiserse diskusjonene. Vi brukte informasjonsutvinning for å hente inn mer enn 160 GB med tekstdata fra GitHub-prosjekter, som vi så rensket og analyserte for å få tillit til datasettene.

Deretter brukte vi dataene til å trene og teste ulike maskinlæringsmodeller basert på Transformer-arkitekturen. Til slutt endte vi opp med en endelig maskinlæringsmodell som vi også testet generaliseringsevnen til på seks usette programvareprosjekter. Vi undersøkte også muligheten for å tilpasse maskinlæringsmodellen vår ved å finjustere den til spesifikke prosjekter, for å så evaluere hvor god tilpasningsevnen var til kontekstavhengige prosjekter. 

Resultatet av studien var opprettelsen og utgivelsen av GTD-datasettet (GitHub Technical Debt Dataset) med data fra 6 401 GitHub-repositorier med ulike kontekster. Dette er det første omfattende datasettet av sitt slag. Vår maskinlæringsmodell oppnådde også lovende resultater i ytelsesmålinger knyttet til støtte for automatisk klassifisering av teknisk gjeld i oppgavehåndteringssystemer. Dette tyder på at våre resultater representerer et betydelig skritt i den retningen, spesielt når maskinlæringsmodellen blir finjustert mot konteksten av et programvareprosjekt. Alle datasettene våre, maskinlæringsmodellen og koden er publisert på Zenodo for de som er interessert. 

foran_talerstolen.jpg
Daniel Skryseth står foran talerstolen etter å ha presentert.

Etter å ha hatt den store gleden av å få mitt technical paper akseptert, og ha hatt muligheten til å samarbeide med dyktige mennesker og presentere forskningen for en fantastisk forsamling, fikk jeg anledning til å bruke de påfølgende dagene på å lytte og lære av andre som holdt presentasjoner. Blant de mange arrangementene som det var mulighet til å delta på, var det mange som interesserte meg og som jeg hadde sett frem til å høre mer om. 

digital_posters.jpg
Interaktive skjermer, der man kunne gå gjennom "digital posters" av studiene som ble presentert, var blitt plassert rundt i lokalene.

Inntrykk fra konferansen 

En av presentasjonene som etterlot meg med flere gode inntrykk, var keynote-foredraget fra Titus Winters, som er Principal Engineer hos Google, library lead for Googles C++ kodebase og forfatteren bak boken "Software Engineering at Google". Under foredraget hans "Tech Debt Metaphors Aren't Helping" snakket han om hvordan begrepet "teknisk gjeld" har blitt både begrunnet og betvilt som en metafor med finansiell tilknytning, og hvordan det har blitt brukt for å rettferdiggjøre redesign av programvarefunksjoner. Han diskuterte også hvordan denne metaforen passer eller ikke passer inn i ulike scenarier og faser av programvareutvikling. 

For meg var dette svært interessant, spesielt fordi keynote-foredraget ga meg et nytt perspektiv på håndteringen av teknisk gjeld. Teknisk gjeld blir ofte sammenlignet med økonomisk gjeld, og antyder at det er en gjeld som må betales tilbake. Konsekvensene av å ikke betale tilbake gjelden i et system er knyttet til noen forestilte renter. Så lenge gjelden ikke blir nedbetalt, forventes det at disse rentene vil øke over tid, og det vil for eksempel gjøre det vanskeligere å håndtere den eksisterende tekniske gjelden. 

Omarbeiding av tekniske løsninger og tilbakebetaling av gjelden omtales ofte som refaktorering. Kostnaden knyttet til omskrivingen av koden eller refaktoreringen betraktes som hovedbeløpet, som vil gjenspeile kostnadene (for eksempel ressurser og tid) ved å håndtere teknisk gjeld basert på visse problemer. Det var også noen av disse aspektene Winter tok opp i sitt foredrag, der han utforsket de ulike sidene og refererte til hvilke kontekster de passer inn i og ikke. Blant annet snakket han om tilfeller hvor det kan være vanskelig å kvantifisere gjelden og samtidig måle kostnadene knyttet til den. 

For meg ga det mening, også med hensyn til forskningen vi hadde gjort. Målet vårt var å kunne klassifisere diskusjoner og samtaler om teknisk gjeld blant utviklere i oppgavehåndteringssystemer, fordi vi visste at en eventuell kvantifiseringen av gjelden, rentene og kostnadene ved teknisk gjeld er kontekstavhengige og kan være vanskelige å gi eksakte tall på. Ved å derimot kvantifisere diskusjoner og samtalene som omfattet teknisk gjeld, som på en stor skala med maskinlæring, ville vi kunne tilby et unikt verktøy med vår maskinlæringsmodell. 

Et verktøy som ikke bare kvantifiserte noe basert på statisk analyse, slik mange andre verktøy for teknisk gjeld er utviklet for, men et stokastisk verktøy som har potensialet til å ta hensyn til konteksten av et prosjekt. Deretter kunne de som bruker verktøyet oppsummere sakene i deres egne oppgavehåndteringssystemer og få de klassifisert som enten teknisk gjeld eller ikke. Vårt verktøy er kanskje ikke en perfekt løsning som takler alle problemer, men det kan være et skritt fremover når det gjelder å se på teknisk gjeld som ikke kan enkelt oppsummeres ved forhåndsbestemte regler. 

En annen presentasjon som jeg likte veldig godt var "Better Software Analytics via "DUO": Data Mining Algorithms Using/Used-by Optimizers", presentert av professor Tim Menzies fra NC State University. I hans presentasjon av forskningen ble konseptet Data Mining Algorithms Using/Used-by Optimizers (DUO) fremhevet som et potensielt nytt felt innen empirisk programvareteknologi-forskning. Forskningen fokuserer på hvordan man kan kombinere datautvinning og optimalisering for å oppnå bedre prediktive modeller, høyere nøyaktighet og forbedret generaliseringsevne i datautvinningsanalyser. 

Blant annet tok presentasjonen opp de store likhetene mellom datautvinning og optimalisering. Hvor det ble tydeliggjort viktigheten av å inkludere en optimaliseringskomponent i analyser av datautvinning, for å unngå misvisende konklusjoner. I en stadig mer teknologidrevet verden begynner slikt som datamaskiner og kunstig intelligens å utføre stadig mer komplekse oppgaver for oss. Vi blir dermed mer og mer avhengige av god og pålitelig data for å forsikre oss om at systemene våre kan levere nøyaktige og pålitelige resultater. Det er derfor avgjørende å maksimere kvaliteten og påliteligheten til den dataen vi bruker. På denne måten kan vi styrke tilliten til slikt som datamaskiner og kunstig intelligens som et kraftig verktøy i dagens verden.

stor_konferansesal.jpg
Åpningen av ICSE 2023 fant sted i en av de store konferansesalene på Melbourne Convention Exhibition Centre.

Sosialisering

Etter mange tekniske foredrag som ble holdt i løpet av dagene, var det også godt å kunne delta på de sosiale arrangementene som ble tilbudt. I tillegg til servering av god mat og drikke, inkluderte programmet frokoster, middager, sportsarrangementer og en stor konferansefest. Disse arrangementene ga en fantastisk mulighet til å bli kjent med andre deltakere og delta i interessante samtaler om presentasjonene, fagstoff og mye annet. Jeg synes det var virkelig morsomt å møte mennesker med ulike bakgrunner på denne internasjonale arenaen og skape nye bekjentskaper.

Melbourne_kveldstid.jpg
Melbourne lyser opp om kvelden. Det er enkelt å finne gode restauranter, musikk og steder i byen på dette tidspunktet. En av de fantastiske synene er de åtte tårnene langs Melbournes Southbank (under de blå tårnene til høyre), som sender enorme ildkuler opp mot nattehimmelen. 

Blant de sosiale arrangementene jeg har gode minner fra, er da vi hadde den fantastiske muligheten til å oppleve Australias dyreliv under konferansen. Det ble introdusert ulike dyr som er assosiert med Australia, som krokodiller, koalaer og kenguruer. Vi fikk muligheten til å bli bedre kjent med dyrene ved å høre mer om dem og til og med få lov til å holde noen av dem.

dyr_australia.png
På konferansen fikk jeg holde en krokodille og møte både en koala og en babykenguru. Koalaer og kenguruer er innfødte i Australia og landet er det eneste der villbestander av koalaer og kenguruer finnes naturlig.

Turen hjem 

Konferansen i Melbourne var en utrolig berikende opplevelse for meg. Å delta på ICSE 2023 og presentere min forskning på TechDebt 2023 fylte meg med stolthet og har skapt gode minner. Jeg fikk muligheten til å dele mine funn og ideer med andre forskere, akademikere og praktikere innen programvareutvikling på en stor internasjonal konferanse. Konferansene, med sin omfattende agenda og varierte presentasjoner, ga meg en ny arena for å bli kjent med dyktige mennesker og oppnå innsikt i de nyeste trendene og utfordringene i bransjen. Med en vellykket presentasjon og verdifulle læringsmuligheter, var jeg heldig nok til å avslutte turen med å ta litt ferie og utforske andre deler av Australia. Blant annet fikk jeg besøke Sydney, Brisbane og dykke blant korallrevene i The Great Barrier Reef utenfor Cairns. 

IMG_1086 (1).JPG
Et unikt varselskilt i Palm Cove, Cairns som forteller om farene i området.

Etter en lang og begivenhetsrik reise var tiden kommet for å vende tilbake til Norge. Hjemturen involverte flere flybytter og mellomlandinger, hvor jeg tilbrakte rundt to fulle døgn på farten, med kun to korte søvnperioder underveis. Til tross for den utfordrende reisen, forsvant all utmattelse idet jeg endelig satte mine føtter på Gardermoen. Gleden og oppfyllelsen fra de fantastiske opplevelsene fra konferansene og turen overskygget alle prøvelser fra en så lang reise. Nå var jeg bare glad for å kunne dra hjem til Drammen og ha gleden av å returnere til vårt strålende kontor på SporX.