Sammanfattning En av de oönskade effekterna av programvaruutveckling är spridningen av oanvända komponenter, som inte används av någon appli-11 katjon. Som en följd av detta tenderar storleken på binärer och bibliotek att växa och systemunderhållbarheten tenderar att minska. Samtidigt är en stor trend för dagens programvarumarknad att överföra tillämpningar på handhållen utrustning eller, i allmänhet, på utrustning som 13 har en begränsad mängd tillgängliga resurser. Refaktoring och, i synnerhet, miniatyrisering av bibliotek och tillämpningar är därför 14 nödvändiga. 15 Vi föreslår en Software Renovation Framework (SRF) och en verktygslåda som täcker flera aspekter av programvarurenovering, såsom 16 ta bort oanvända objekt och kodkloner, och refaktor befintliga bibliotek i mindre mer sammanhållna. Refaktoring har genomförts 17 i SRF med hjälp av en hybrid metod som bygger på hierarkisk klusterbildning, på genetiska algoritmer och bergsklättring, även ta hänsyn till utvecklarna Õ feedback. Syftet med SRF är att övervaka programvarusystemets kvalitet med avseende på de faktorer som påverkar fac-19-tors, och att vid behov utföra renoveringar. De flesta av ramaktiviteterna är språkoberoende, inte 20 kräver någon form av källkodstolkning, och förlitar sig på objektmodulanalys. 21 SRF har tillämpats på GRASS, som är ett stort geografiskt informationssystem med öppen källkod på cirka en miljon LOC 22 i storlek. Det har avsevärt förbättrat programvaruorganisationen, minskat med cirka 50 % det genomsnittliga antalet objekt kopplade till 23 varje program, och har följaktligen också minskat ansökningarna Õ minneskraven. Den ska tillämpas från och med den 1 januari 2018.
I vårt arbete har vi Di REF bygger vidare på dessa resultat och presenterar ett ramverk för programvarurenovering (SRF) som täcker flera aspekter av programvarurenovering, såsom att ta bort oanvända objekt och kodkloner, och att refaktorisera befintliga bibliotek i mindre.
A language-independent software renovation framework
{'venue': None, 'journal': None, 'mag_field_of_study': ['Computer Science']}