man och kvinna framför dator

Doktorandprojekt: Effektiv detektering av förändringar i mjukvaruutveckling och deras operationalisering för underhåll av programvara

Detta projekt syftade till att förstå och använda förändringar som upptäcks vid underhåll av programvara och utvecklingsprocesser. Att effektivt och automatiskt upptäcka förändringar är absolut nödvändigt, eftersom programvara blir allt mer omfattande och komplex.

Detta projekt avslutades 2023.

Fakta om projektet

Doktorand
Sebastian Hönel
Huvudhandledare
Morgan Ericsson
Biträdande handledare
Welf Löwe, Anna Wingkvist
Finansiärer
Linnaeus University Centre for Data Intensive Sciences and Applications (DISA), Data Intensive Software Technologies and Applications (DISTA), Doctoral School of Management and IT (MIT)
Tidsplan
Sept 2017–aug 2022
Ämne
Datavetenskap (Institutionen för datavetenskap och medieteknik, Fakulteten för teknik)

Mer om projektet

Underhåll av programvara är en integrerad del av dess utvecklingsprocess. Insikten att förändring krävs för att motverka att mjukvara degenererar backas upp av de kostnader som ackumulerade tekniska skulder för med sig och av en önskan att förhindra att programvara blir föråldrad.

Programvara måste förändras av flera anledningar. Det kan handla om omställning till en ny miljö, anpassning till nya funktioner eller helt enkelt att fixa ett fel. Det kan finnas gott om skäl för framtida förändringar, men orsakerna bakom tidigare förändringar kanske inte är tillgängliga längre.

Att förstå förändring inom mjukvaruutveckling ger värdefulla insikter i exempelvis kvaliteten hos ett projekt eller aspekter i den bakomliggande utvecklingsprocessen. Dessa är värda att utnyttja för att till exempel förutse fel, hantera hur utvecklingsgruppen är sammansatt, skapa modeller för uppskattade av resurser eller upptäcka förekomsten av dåliga modeller i hanteringen.

Detta projekt syftar till att först fastställa väldefinierade mätmetoder för att mäta programvarans storlek. Storleksbaserade mätmetoder är beräkningsmässigt billiga, robusta och mångsidiga, och det har tidigare visats att de är effektiva i  scenarierna ovan.

Dessa mätvärden operationaliseras ytterligare för att upptäcka underhållsaktiviteter i de underliggande uppsättningarna av källkod. Genom att extrahera dessa aktiviteter kan man sedan analysera den potentiella närvaron av dåliga modeller i projekthanteringen av programvaran. Sådana så kallade anti-patterns är vanliga återkommande misstag som skadar produktiviteten.

Det är fortfarande ett olöst problem att identifiera dessa tidigt på ett säkert sätt i ett projekt, för att varna team som arbetar med att utveckla programvara om potentiella hot. Längtan efter att lösa detta problem drivs av ett sakligt och databaserat tillvägagångssätt, baserat på antagandet att det finns tillräcklig förutsägbar kraft i programvarurelaterade artefakter.

Projektet är en del av forskningen i Linnaeus University Centre for Data Intensive Sciences and Applications (DISA) och forskargruppen Data Intensive Software Technologies and Applications (DISTA).