Hoppa direkt till innehållet
printicon
Huvudmenyn dold.

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å.

Projektansvarig

Erik Elmroth
Professor
E-post
E-post
Telefon
090-786 69 86

Projektöversikt

Projektperiod:

2019-01-01 2021-12-31

Finansiering

Knut and Alice Wallenberg Foundation / WASP – Wallenberg AI, Autonomous Systems and Software Program, 4.400.000 kr.

Medverkande institutioner och enheter vid Umeå universitet

Institutionen för datavetenskap

Forskningsområde

Datavetenskap

Projektbeskrivning

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 koderader, 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 debloating 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å.