A desiderata for refactoring-based software modularity improvement
Proceedings of the 3rd India software engineering conference
Sustainability evaluation of software architectures: a systematic review
Proceedings of the joint ACM SIGSOFT conference -- QoSA and ACM SIGSOFT symposium -- ISARCS on Quality of software architectures -- QoSA and architecting critical systems -- ISARCS
Dual ecological measures of focus in software development
Proceedings of the 2013 International Conference on Software Engineering
Evaluating usefulness of software metrics: an industrial experience report
Proceedings of the 2013 International Conference on Software Engineering
UsageQoS: Estimating the QoS of Web Services through Online User Communities
ACM Transactions on the Web (TWEB)
Hi-index | 0.00 |
The metrics formulated to date for characterizing the modularization quality of object-oriented software have considered module and class to be synonymous concepts. But a typical class in object oriented programming exists at too low a level of granularity in large object-oriented software consisting of millions of lines of code. A typical module (sometimes referred to as a superpackage) in a large object-oriented software system will typically consist of a large number of classes. Even when the access discipline encoded in each class makes for "clean" class-level partitioning of the code, the intermodule dependencies created by associational, inheritance-based, and method invocations may still make it difficult to maintain and extend the software. The goal of this paper is to provide a set of metrics that characterize large object-oriented software systems with regard to such dependencies. Our metrics characterize the quality of modularization with respect to the APIs of the modules, on the one hand, and, on the other, with respect to such object-oriented inter-module dependencies as caused by inheritance, associational relationships, state access violations, fragile base-class design, etc. Using a two-pronged approach, we validate the metrics by applying them to popular open-source software systems.