Ny metod kan förändra framtidens programvaruutveckling
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. Metoden fokuserar på att förstå hur programvara utvecklas och de förändringar som sker över tid. 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". Detta mått 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
Forskningen kan förändra hur vi tänker på 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 riktig 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, säger Sebastian Hönel.
Hitta problem genom att analysera koden
När man hanterar flera datorprojekt samtidigt kommer man att möta både framgångar och utmaningar. Det finns stunder då allt fungerar felfritt, men det finns också tillfällen då komplikationer uppstår. Detta kan bero på att mjukvaran inte presterar tillräckligt snabbt, att den saknar nödvändiga funktioner, att budgeten överskrids eller att projektet inte slutförs enligt schema.
Efter att ett projekt har avslutats är det naturligt att vilja reflektera över och förstå de moment då saker 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 verktyg som snabbt kan skanna igenom dina projekt och peka ut var de stora problemen kan ligga. 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.
Forskningen markerar ett steg framåt i strävan efter att förstå och förbättra programvarukvalitet. Med dessa nya verktyg och metoder kan man effektivisera och optimera utvecklarnas arbete, vilket resulterar i bättre och mer pålitlig programvara.
Länk till avhandlingen
Quantifying Process Quality: The Role of Effective Organizational Learning in Software Evolution
Kontakt
Sebastian Hönel, doktor i datavetenskap, 076-099 27 53, sebastian.honel@lnu.se