DEBLOAT: Code Debloating from Source Code to Large-scale Deployment
Forskningsprojekt
Den långsiktiga visionen för DEBLOAT är att designa analysalgoritmer, verktyg och mellanprogram för att låta komplexa mjukvarusystem analysera deras användning och autonomt ta bort värdelösa eller sällan använda delar av koden vid körning. Projektet är ett Postdoktorprojekt i samarbete med KTH, Stockholm (Professor Benoit Baudry).
Denna WASP-expedition stöder det första viktiga steget i denna vision: designa algoritmer och verktyg som tar bort oanvänd kod från programmets översta kod ner till systembiblioteken på låg nivå.
Den snabbt ökande resursförbrukningen av digitala onlinetjänster (t.ex. för ekonomi, administration, underhållning, kommunikation) tillskrivs ofta ökande användningsvolymer, medan bidragen genom att öka mjukvarans storlek och komplexitet ofta förbises. Dagens programvara är bloated. Till exempel har Linux-kärnan över 20 miljoner rader av kod, med varje ny version som lägger till mer i koden. Code bloat minskar inte bara programvarans hastighet avsevärt, utan leder också till allvarliga problem som slöseri med resurser, slöseri med pengar, ökade risker för fel och ökade säkerhetsproblem.
Denna bloating återspeglas också i det som är känt för mjukvaruingenjörer som "death star -mjukvaruarkitekturen", en mycket komplex beroendegraf mellan programvarukomponenter. Många av dessa beroenden och stora delar av denna kod används antingen aldrig eller används endast när extremt sällsynta händelser inträffar. Medan viss uppmärksamhet har ägnats åt dynamisk anpassning av resursallokeringar till varierande användningsvolymer, utvecklar systemprogramvaror och mjukvaruapplikationer statiska körbara filer som paketerar mer kod än nödvändigt, planerar för det mest osannolika fallet - som varje begäran behöver tillgång till all funktionalitet som tillhandahålls av programmet. Även om det har gjorts tidigare försök att förbättra det nuvarande tillståndet (som senare diskuterades i den senaste tekniken), är det faktum att dessa tekniker sällan används, och de flesta av dagens programvarustackar från operativsystemet ( OS) till webbtjänster är bloated. Inga nuvarande tekniker riktar sig mot hela stapeln med programvara när rensning utförs.
Den långsiktiga visionen för DEBLOAT är att designa analysalgoritmer, verktyg och mellanprogram för att låta komplexa mjukvarusystem analysera deras användning och autonomt ta bort värdelösa eller sällan använda delar av koden vid körning. Denna WASP-expedition stöder det första viktiga steget i denna vision: designalgoritmer och verktyg som tar bort oanvänd kod från programmets översta kod ner till systembiblioteken på låg nivå.