Design properties and evolvability of object-oriented systems
Advances in software engineering
Dynamic Coupling Measurement for Object-Oriented Software
IEEE Transactions on Software Engineering
Recovering binary class relationships: putting icing on the UML cake
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Surveying the factors that influence maintainability: research design
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
ACM SIGSOFT Software Engineering Notes
Proceedings of the 1st Workshop on Testing Object-Oriented Systems
Systems evolution and software reuse in object-oriented programming and aspect-oriented programming
TOOLS'11 Proceedings of the 49th international conference on Objects, models, components, patterns
Using Formal Concept Analysis to support change analysis
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Survey of object-oriented metrics: focusing on validation and formal specification
ACM SIGSOFT Software Engineering Notes
Hi-index | 0.00 |
The assessment of the changeability of software systems is of major concern for buyers of the large systems found in fast-moving domains such as telecommunications. One way of approaching this problem is to investigate the dependency between the changeability of the software and its design, with the goal of finding design properties that can be used as changeability indicators. In our research, we defined a model of software changes and change impacts and implemented it for the C++ language. Furthermore, we identified a set of nine object-oriented (OO) design metrics, four of which are specifically geared towards changeability detection. The model and the metrics were applied to three test systems of industrial size. The experiment showed a high correlation, across systems and across changes, between changeability and the access to a class by other classes through method invocation or variable access. On the other hand, no result could support the hypothesis that the depth of the inheritance tree has some influence on changeability. Furthermore, our results confirm the observation of others that the use of inheritance is rather limited in industrial systems.