Designing documentation to compensate for delocalized plans
Communications of the ACM
Maintenance Support for Object-Oriented Programs
IEEE Transactions on Software Engineering - Special issue on software maintenance
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A Validation of Object-Oriented Design Metrics as Quality Indicators
IEEE Transactions on Software Engineering
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Software Engineering
Maintaining Object-Oriented Software
IEEE Software
A Metrics Suite for Object Oriented Design
IEEE Transactions on Software Engineering
Empirical analysis of entropy distance metric for UML class diagrams
ACM SIGSOFT Software Engineering Notes
The task-dependent nature of the maintenance of object-oriented programs
Journal of Systems and Software
Modeling Design/Coding Factors That Drive Maintainability of Software Systems
Software Quality Control
Assessment of software system evolvability
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
Using Controlled Experiments for Validating UML Statechart Diagrams Measures
Software Process and Product Measurement
ESEM '09 Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement
Class movement and re-location: An empirical study of Java inheritance evolution
Journal of Systems and Software
Finding software metrics threshold values using ROC curves
Journal of Software Maintenance and Evolution: Research and Practice
Assessment of usability metrics for object-oriented software system
ACM SIGSOFT Software Engineering Notes
Usability Estimation of Software System by using Object-Oriented Metrics
ACM SIGSOFT Software Engineering Notes
Assessment of maintainability metrics for object-oriented software system
ACM SIGSOFT Software Engineering Notes
ADVIS'04 Proceedings of the Third international conference on Advances in Information Systems
An empirical study of the nesting level of composite states within UML statechart diagrams
ER'05 Proceedings of the 24th international conference on Perspectives in Conceptual Modeling
Hi-index | 0.00 |
In two controlled experiments we compare the performance on code maintenance tasks for three equivalent programs with 0, 3, and 5 levels of inheritance. For the given tasks, which focus on understanding effort more than change effort, programs with less inheritance were faster to maintain. Daly et al. previously reported similar experiments on the same question with quite different results. They found that the 5-level program tended to be harder to maintain than the 0-level program, while the 3-level program was significantly easier to maintain than the 0-level program. We describe the design and setup of our experiment, the differences to the previous ones, and the results obtained. Ours and the previous experiments are different in several ways: We used a longer and more complex program, made an inheritance diagram available to the subjects, and added a second kind of maintenance task.When taken together, the previous results plus ours suggest that there is no such thing as usefulness or harmfulness of a certain inheritance depth as such. Code maintenance effort is hardly correlated with inheritance depth, but rather depends on other factors (partly related to inheritance depth). Using statistical modeling, we identify the number of relevant methods to be one such factor. We use it to build an explanation model of average code maintenance effort that is much more powerful than a model relying on inheritance depth.