Understanding source package organization using the hybrid model

Authors: Xinyi Dong Michael W. Godfrey

Venue: ICSME   2009 IEEE International Conference on Software Maintenance, pp. 575-578, 2009

Year: 2009

Abstract: Within a large, object-oriented software system it is common to partition the classes into a set of packages, which implicitly serve as a set of coarsely-grained logical design units. However, as such a system evolves and design drift sets in, it becomes increasingly challenging for developers - especially those who are new to the project - to comprehend the underlying criteria behind the package-level design of the system. This problem is exacerbated by the fact that in most object-oriented programming languages the package (or namespace) construct has little semantics beyond that of a simple container, and so fails to capture the essential properties of the objects that its contained classes represent. In this paper, we propose an approach to uncovering package partitioning criteria by analyzing the collaboration patterns between packages. Our analysis approach is based on the Hybrid Model, a program model that describes the coarsely-grained structure and global behaviour of an object-oriented system. We present an exploratory case study to show how our approach can help maintainers to derive the design criteria related to coupling, cohesion, function reuse, and inheritance reuse.

BibTeX:

@inproceedings{xinyidong2009uspouthm,
    author = "Xinyi Dong and Michael W. Godfrey",
    title = "Understanding source package organization using the hybrid model",
    year = "2009",
    pages = "575-578",
    booktitle = "Proceedings of 2009 IEEE International Conference on Software Maintenance"
}

Plain Text:

Xinyi Dong and Michael W. Godfrey, "Understanding source package organization using the hybrid model," 2009 IEEE International Conference on Software Maintenance, pp. 575-578