The Case for Non-Cohesive Packages

Nicolas Anquetil 1 Muhammad Bhatti 1 Stéphane Ducasse 1 André Hora 1 Jannik Laval 1
1 RMOD - Analyses and Languages Constructs for Object-Oriented Application Evolution
Inria Lille - Nord Europe, CRIStAL - Centre de Recherche en Informatique, Signal et Automatique de Lille (CRIStAL) - UMR 9189
Abstract : While the lack of cohesiveness of modules in procedural languages is a good way to identify modules with potential quality problems, we doubt that it is an adequate measure for packages in object-oriented systems. Indeed, mapping procedural metrics to object-oriented systems should take into account the building principles of object-oriented programming: inheritance and late binding. Inheritance offers the possibility to create packages by just extending classes with the necessary increment of behavior. Late binding coupled to the " Hollywood Principle " are a key to build frameworks and let the users branch their extensions in the framework. Therefore, a package extending a framework does not have to be cohesive, since it inherits the framework logic, which is encapsulated in framework packages. In such a case, the correct modularization of an extender application may imply low cohesion for some of the packages. In this paper we confirm these conjectures on various real systems (JHotdraw, Eclipse, JEdit, JFace) using or extending OO frameworks. We carry out a dependency analysis of packages to measure their relation with their framework. The results show that framework dependencies form a considerable portion of the overall package dependencies. This means that non-cohesive packages should not be considered systematically as packages of low quality.
Document type :
Conference papers
Liste complète des métadonnées

Cited literature [31 references]  Display  Hide  Download

https://hal.inria.fr/hal-01585703
Contributor : Lse Lse <>
Submitted on : Sunday, September 24, 2017 - 6:31:03 PM
Last modification on : Friday, March 22, 2019 - 1:34:17 AM
Document(s) archivé(s) le : Tuesday, December 26, 2017 - 3:35:04 AM

File

paper-anq.pdf
Files produced by the author(s)

Identifiers

Citation

Nicolas Anquetil, Muhammad Bhatti, Stéphane Ducasse, André Hora, Jannik Laval. The Case for Non-Cohesive Packages. SQAMIA 2017 - 6th workshop on Software Quality Analysis, Monitoring, Improvement, and Applications, Sep 2017, Belgrade, Serbia. 2017, 〈http://2017.sqamia.org/〉. 〈10.1145/0000000.0000000〉. 〈hal-01585703〉

Share

Metrics

Record views

299

Files downloads

82