Title :
Class inheritance structures and software maintenance activities - an empirical analysis
Author_Institution :
Dept. of Computer Science, Guru Nanak Dev University, Amritsar, India
Abstract :
In an object oriented design, organization of classes in an inheritance hierarchy is believed to ease the understandability, reusability, and maintainability of the design. However, a lot of empirical analysis is required to confirm this. This research work is another attempt in this direction. Previous research experiments show that programmers do not prefer deep inheritance hierarchies. They find it difficult to perform maintenance tasks on classes deep in the hierarchy. This paper reports results of an experiment which studies the maintenance activity at various levels of the inheritance hierarchy of an open source reusable software component across its various releases. It analyzes changes in inheritance hierarchy by keeping track of the classes added, removed, changed, and unchanged in four successive releases of the software product. It is found that classes that undergo change are more evenly distributed at various levels of the hierarchy rather than classes that are retained as such in the next release. New classes are added at shallow levels of hierarchy most of the times, but unwanted classes are removed from different levels of the hierarchy. The paper also focuses on changes in the inheritance hierarchy as the design evolves.
Keywords :
"Measurement","Maintenance engineering","Software","Complexity theory","Vegetation","Next generation networking","Computers"
Conference_Titel :
Next Generation Computing Technologies (NGCT), 2015 1st International Conference on
DOI :
10.1109/NGCT.2015.7375208