I två kontrollerade experiment jämför vi prestandan på kodunderhållsuppgifter för tre likvärdiga program med 0, 3, och 5 nivåer av arv. För de givna uppgifterna, som fokuserar på att förstå ansträngning mer än förändring ansträngning, program med mindre arv var snabbare att upprätthålla. Daly och Al. tidigare rapporterat liknande experiment i samma fråga med helt olika resultat. De fann att 5-nivåprogrammet tenderade att vara svårare att underhålla än 0-nivåprogrammet, medan 3-nivåprogrammet var betydligt lättare att underhålla än 0-nivåprogrammet. Vi beskriver designen och upplägget av vårt experiment, skillnaderna till de tidigare, och de resultat som erhållits. Våra och tidigare experiment är olika på flera sätt: Vi använde ett längre och mer komplext program, gjorde ett arvsschema tillgängligt för försökspersonerna och lade till en andra typ av underhållsarbete. När det tas tillsammans, de tidigare resultaten plus vårt tyder på att det inte finns något sådant som användbarhet eller skadlighet av ett visst arv djup som sådan. Kodunderhåll är knappast korrelerat med arvdjup, utan beror snarare på andra faktorer (delvis relaterade till arvdjup). Med hjälp av statistisk modellering identifierar vi antalet relevanta metoder som ska vara en sådan faktor. Vi använder den för att bygga en förklaringsmodell för genomsnittlig kodunderhållsinsats som är mycket kraftfullare än en modell som bygger på arvsdjup.
Prechelt m.fl. REF föreslår att underhållsarbetet är positivt förknippat med arvsdjupet (dvs. ju djupare arvshierarkin är, desto mer underhållsarbete krävs -och
A Controlled Experiment on Inheritance Depth as a Cost Factor for Code Maintenance
{'venue': 'IEEE Trans. on Software Engineering, .(.):., . . submitted', 'journal': None, 'mag_field_of_study': ['Computer Science']}