Sammanfattning — Detta papper är ett försök att förstå de processer genom vilka programvara åldras. Vi definierar kod som ska åldras eller förfalla om dess struktur gör det onödigt svårt att förstå eller ändra och vi mäter graden av förfall genom att räkna antalet fel i koden under en tidsperiod. Med hjälp av förändringshanteringsdata från ett mycket stort, långlivat mjukvarusystem utforskar vi i vilken utsträckning mätningar från förändringshistoriken är framgångsrika i att förutsäga fördelningen över moduler av dessa förekomster av fel. I allmänhet är processmått baserade på förändringshistoriken mer användbara för att förutsäga felfrekvenser än produktmått i koden: Till exempel, antalet gånger koden har ändrats är en bättre indikation på hur många fel den kommer att innehålla än dess längd. Vi jämför också felfrekvensen av kod i olika åldrar, finner att om en modul är i genomsnitt ett år äldre än en annars liknande modul, den äldre modulen kommer att ha ungefär en tredjedel färre fel. Vår mest framgångsrika modell mäter felpotentialen hos en modul som summan av bidragen från alla de gånger modulen har ändrats, med stora, senaste förändringar som får mest vikt.
REF undersökte i vilken utsträckning mätningar från förändringshistoriken var framgångsrika i att förutsäga fördelningen av dessa förekomster av fel, och de fann att processmått baserade på förändringshistoriken var mer användbara för att förutsäga felfrekvenser än produktmått i koden.
Predicting fault incidence using software change history
{'venue': 'IEEE Transactions on Software Engineering', 'journal': None, 'mag_field_of_study': ['Computer Science']}