Object oriented design with applications
Object oriented design with applications
Object lifecycles: modeling the world in states
Object lifecycles: modeling the world in states
Object-oriented analysis (2nd ed.)
Object-oriented analysis (2nd ed.)
Designing object-oriented software
Designing object-oriented software
A general economics model of software reuse
ICSE '92 Proceedings of the 14th international conference on Software engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Object success: a manager's guide to object orientation, its impact on the corporation, and its use for reengineering the software process
Large-scale C++ software design
Large-scale C++ software design
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
Software architecture in practice
Software architecture in practice
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Encapsulating objects with confined types
OOPSLA '01 Proceedings of the 16th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Software Component with ADA
IEEE Software
Butterflies: A Visual Approach to Characterize Packages
METRICS '05 Proceedings of the 11th IEEE International Software Metrics Symposium
Identifying refactoring opportunities by identifying dependency cycles
ACSC '06 Proceedings of the 29th Australasian Computer Science Conference - Volume 48
JooJ: real-time support for avoiding cyclic dependencies
ACSC '07 Proceedings of the thirtieth Australasian conference on Computer science - Volume 62
Visualizing the word structure of Java class names
Companion to the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Achieving Agility through Architecture Visibility
QoSA '09 Proceedings of the 5th International Conference on the Quality of Software Architectures: Architectures for Adaptive Software Systems
Package Fingerprints: A visual summary of package interface usage
Information and Software Technology
Refactoring software packages via community detection in complex software networks
International Journal of Automation and Computing
International Journal of Computer Applications in Technology
Hi-index | 0.01 |
Package design is concerned with the determining the best way to partition the classes in a system into subsystems. A poor package design can adversely affect the quality of a software system. In this paper we present a new metric, Class Reachability Set Size (CRSS), the distribution of which can be used to determine if the relationships between the classes in a system preclude it from a good package design. We compute CRSS distributions for programs in a software corpus in order to show that some real programs are precluded in this way. Also we show how the CRSS metric can be used to identify candidates for refactoring so that the potential package structure of a system can be improved.