20 oktober 2023
Linnéuniversitetet

Ny avhandling: Källkodstäthet ger förståelse för hur programvara förändras över tid

Sebastian Hönel från Linnéuniversitetet har i sin avhandling i datavetenskap introducerat en ny metod för att mäta och förbättra kvaliteten på programvaruprocesser. Genom att använda digital data från utvecklingsprocessen i kombination med expert- och datadriven analys kan man förutse problem och besluta om eventuella förbättringar.

Ett av de nya verktygen som Sebastian Hönel har utvecklat är ett mått som kallas ”källkodstäthet”. Metoden fokuserar på att förstå hur programvara utvecklas och de förändringar som sker över tid.

Måttet visar den verkliga mängden kod som finns i en programvaruapplikation i förhållande till dess totala storlek. Det hjälper till att avgöra om koden är kompakt och effektiv eller om den är utspridd och innehåller skräpkod.

– Källkodstäthet är ett värdefullt verktyg för att identifiera överflödig kod. Dessutom har vi utvecklat en pålitlig klassificerare baserad på detta för att förstå förändringar i mjukvaran. De här verktygen används för att lättare identifiera komplexa problem i utvecklingsprocessen, säger Sebastian Hönel.

Nya perspektiv på programvaruutveckling

Sebastian Hönel har forskningen potential att förändra hela tankesättet kring programvaruutveckling. Genom att fokusera på själva utvecklingsprocessen och använda verktyg som källkodstäthet kan man skapa bättre, mer pålitlig och effektivare programvara.

– För att optimera programvaran behöver vi först förbättra och justera utvecklingsprocessen och lära oss av tidigare erfarenheter. Innan mättes utvecklingsarbete genom att titta på förändringens storlek, men det har inte funnits någon riktigt pålitlig metod för detta. Nu föreslår vi att man använder data från själva utvecklingsprocessen kombinerat med kvantitativ analys för att förstå förändringens omfattning.

Hitta problem genom att analysera koden

När ett projekt har avslutats är det naturligt att vilja reflektera över och förstå varför vissa saker kanske inte gick som planerat. Utmaningen kan vara att avgöra om problemen uppstod på grund av enskilda beslut eller om det var något i teamdynamiken som låg bakom.

– Vi har skapat ett verktyg som snabbt kan skanna igenom dina projekt och peka ut var de stora problemen kan finnas. Det kanske inte ger dig alla detaljer, men det hjälper dig att snabbt se vilka projekt som behöver extra uppmärksamhet. Vi kan hitta dessa problem bara genom att titta på själva koden i programmet. Vi tror att detta verktyg kan hjälpa till att upptäcka många olika typer av problem, säger Sebastian Hönel.

Kontakt

Sebastian Hönel, doktor, 076-099 27 53, sebastian.honel@lnu.se