The Case for Non-Cohesive Packages

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.

[1]  Jiawei Han,et al.  Semi-supervised Discriminant Analysis , 2007, 2007 IEEE 11th International Conference on Computer Vision.

[2]  Douglas C. Schmidt,et al.  Building application frameworks: object-oriented foundations of framework design , 1999 .

[3]  Miguel Goulão,et al.  Coupling and Cohesion as Modularization Drivers: Are We Being Over-Persuaded? , 2001, CSMR.

[4]  Meng Wang,et al.  Correlative multilabel video annotation with temporal kernels , 2008, TOMCCAP.

[5]  Gabriele Bavota,et al.  Software Re-Modularization Based on Structural and Semantic Metrics , 2010, 2010 17th Working Conference on Reverse Engineering.

[6]  Rudolf Ferenc,et al.  Using the Conceptual Cohesion of Classes for Fault Prediction in Object-Oriented Systems , 2008, IEEE Transactions on Software Engineering.

[7]  Sallie M. Henry,et al.  Object-oriented metrics that predict maintainability , 1993, J. Syst. Softw..

[8]  Xian-Sheng Hua,et al.  Video search re-ranking via multi-graph propagation , 2007, ACM Multimedia.

[9]  Hwann-Tzong Chen,et al.  Semantic manifold learning for image retrieval , 2005, ACM Multimedia.

[10]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[11]  Ufr Ieea Visualizing, Assessing and Re-Modularizing Object-Oriented Architectural Elements , 2009 .

[12]  Spiros Mancoridis,et al.  On the automatic modularization of software systems using the Bunch tool , 2006, IEEE Transactions on Software Engineering.

[13]  Shih-Fu Chang,et al.  Video search reranking through random walk over document-level context graph , 2007, ACM Multimedia.

[14]  R. Fisher THE USE OF MULTIPLE MEASUREMENTS IN TAXONOMIC PROBLEMS , 1936 .

[15]  Don Roberts,et al.  Evolving Frameworks A Pattern Language for Developing Object-Oriented Frameworks , 2004 .

[16]  Glenford J. Myers,et al.  Structured Design , 1974, IBM Syst. J..

[17]  James M. Bieman,et al.  Cohesion and reuse in an object-oriented system , 1995, SSR '95.

[18]  Naftali Tishby,et al.  Agglomerative Information Bottleneck , 1999, NIPS.

[19]  Lionel C. Briand,et al.  A Unified Framework for Coupling Measurement in Object-Oriented Systems , 1999, IEEE Trans. Software Eng..

[20]  Maria Laura Ponisio,et al.  Exploiting Client Usage to Manage Program Modularity , 2006 .

[21]  Thomas S. Huang,et al.  Content-based image retrieval with relevance feedback in MARS , 1997, Proceedings of International Conference on Image Processing.

[22]  C.-C. Jay Kuo,et al.  Texture analysis and classification with tree-structured wavelet transform , 1993, IEEE Trans. Image Process..

[23]  Robert Heim Agile Software Development , 2013 .

[24]  Wei-Ying Ma,et al.  Benchmarking of image features for content-based retrieval , 1998, Conference Record of Thirty-Second Asilomar Conference on Signals, Systems and Computers (Cat. No.98CH36284).

[25]  Nicolas Anquetil,et al.  Comparative study of clustering algorithms and abstract representations for software remodularisation , 2003 .

[26]  Zhigang Luo,et al.  Manifold Regularized Discriminative Nonnegative Matrix Factorization With Fast Gradient Descent , 2011, IEEE Transactions on Image Processing.

[27]  Lifeng Sun,et al.  Topic mining on web-shared videos , 2008, 2008 IEEE International Conference on Acoustics, Speech and Signal Processing.

[28]  Vojislav B. Misic,et al.  Cohesion is structural, coherence is functional: different views, different measures , 2001, Proceedings Seventh International Software Metrics Symposium.

[29]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[30]  Jiawei Han,et al.  Spectral Regression: A Unified Approach for Sparse Subspace Learning , 2007, Seventh IEEE International Conference on Data Mining (ICDM 2007).

[31]  Jing Huang,et al.  Image indexing using color correlograms , 1997, Proceedings of IEEE Computer Society Conference on Computer Vision and Pattern Recognition.

[32]  Arnold Neumaier,et al.  Solving Ill-Conditioned and Singular Linear Systems: A Tutorial on Regularization , 1998, SIAM Rev..

[33]  Dacheng Tao,et al.  Bregman Divergence-Based Regularization for Transfer Subspace Learning , 2010, IEEE Transactions on Knowledge and Data Engineering.

[34]  Shumeet Baluja,et al.  VisualRank: Applying PageRank to Large-Scale Image Search , 2008, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[35]  Xuelong Li,et al.  A unifying framework for spectral analysis based dimensionality reduction , 2008, 2008 IEEE International Joint Conference on Neural Networks (IEEE World Congress on Computational Intelligence).

[36]  Xiaofei He,et al.  Locality Preserving Projections , 2003, NIPS.

[37]  Rong Yan,et al.  Co-retrieval: A Boosted Reranking Approach for Video Retrieval , 2004, CIVR.

[38]  Xuelong Li,et al.  Direct kernel biased discriminant analysis: a new content-based image retrieval relevance feedback algorithm , 2006, IEEE Transactions on Multimedia.

[39]  Serge Demeyer,et al.  FAMIX 2. 1-the FAMOOS information exchange model , 1999 .

[40]  Thomas S. Huang,et al.  Relevance feedback: a power tool for interactive content-based image retrieval , 1998, IEEE Trans. Circuits Syst. Video Technol..

[41]  R. Tibshirani,et al.  Least angle regression , 2004, math/0406456.

[42]  Dacheng Tao,et al.  Max-Min Distance Analysis by Using Sequential SDP Relaxation for Dimension Reduction , 2011, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[43]  Taghi M. Khoshgoftaar,et al.  Measuring coupling and cohesion of software modules: an information-theory approach , 2001, Proceedings Seventh International Software Metrics Symposium.

[44]  Shih-Fu Chang,et al.  Video search reranking via information bottleneck principle , 2006, MM '06.

[45]  Miguel Goulão,et al.  Toward the Design Quality Evaluation of Object-Oriented Software Systems , 1995 .

[46]  Oscar Nierstrasz,et al.  Using Contextual Information to Assess Package Cohesion , 2006 .

[47]  Marcel Worring,et al.  Content-Based Image Retrieval at the End of the Early Years , 2000, IEEE Trans. Pattern Anal. Mach. Intell..

[48]  J. Tenenbaum,et al.  A global geometric framework for nonlinear dimensionality reduction. , 2000, Science.

[49]  Stéphane Ducasse,et al.  Package Surface Blueprints: Visually Supporting the Understanding of Package Relationships , 2007, 2007 IEEE International Conference on Software Maintenance.

[50]  Ian H. Witten,et al.  Can We Avoid High Coupling? , 2011, ECOOP.

[51]  R. Manmatha,et al.  Automatic Image Annotation and Retrieval using CrossMedia Relevance Models , 2003 .

[52]  S T Roweis,et al.  Nonlinear dimensionality reduction by locally linear embedding. , 2000, Science.

[53]  Xian-Sheng Hua,et al.  Active Reranking for Web Image Search , 2010, IEEE Transactions on Image Processing.

[54]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[55]  Xiaofei He,et al.  Using Graph Model for Face Analysis , 2005 .

[56]  Bo Yang,et al.  DSI: A model for distributed multimedia semantic indexing and content integration , 2010, TOMCCAP.

[57]  H. Zha,et al.  Principal manifolds and nonlinear dimensionality reduction via tangent space alignment , 2004, SIAM J. Sci. Comput..

[58]  Wolfgang Pree Framework development and reuse support , 1995 .

[59]  H. Hotelling Analysis of a complex of statistical variables into principal components. , 1933 .

[60]  Nicu Sebe,et al.  Content-based multimedia information retrieval: State of the art and challenges , 2006, TOMCCAP.

[61]  Thomas S. Huang,et al.  Small sample learning during multimedia retrieval using BiasMap , 2001, Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. CVPR 2001.

[62]  Sang Uk Lee,et al.  Efficient video indexing scheme for content-based retrieval , 1999, IEEE Trans. Circuits Syst. Video Technol..

[63]  Marcel Worring,et al.  Optimization of interactive visual-similarity-based search , 2008, TOMCCAP.

[64]  Edward Yourdon,et al.  Structured design : fundamentals of a discip!ine of computer proqram and system desiqn , 1979 .

[65]  Allan Tucker,et al.  Object-oriented cohesion as a surrogate of software comprehension: an empirical study , 2005, Fifth IEEE International Workshop on Source Code Analysis and Manipulation (SCAM'05).

[66]  Rong Yan,et al.  Multimedia Search with Pseudo-relevance Feedback , 2003, CIVR.

[67]  Michael W. Godfrey,et al.  System-level Usage Dependency Analysis of Object-Oriented Systems , 2007, 2007 IEEE International Conference on Software Maintenance.

[68]  H. Zou,et al.  Regularization and variable selection via the elastic net , 2005 .

[69]  Yogesh Singh,et al.  Quantification Criteria for Optimization of Modules in OO Design , 2006, Software Engineering Research and Practice.

[70]  R. Manmatha,et al.  Automatic image annotation and retrieval using cross-media relevance models , 2003, SIGIR.

[71]  Gustavo Carneiro,et al.  Supervised Learning of Semantic Classes for Image Annotation and Retrieval , 2007, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[72]  Edward Yourdan Structured design: fundamentals of a discipline of computer program an , 2014 .

[73]  Lionel C. Briand,et al.  A Unified Framework for Cohesion Measurement in Object-Oriented Systems , 1997, Proceedings Fourth International Software Metrics Symposium.

[74]  Oscar Nierstrasz,et al.  Moose: an agile reengineering environment , 2005, ESEC/FSE-13.

[75]  Rong Yan,et al.  Semantic concept-based query expansion and re-ranking for multimedia retrieval , 2007, ACM Multimedia.

[76]  Nicolas Anquetil,et al.  Legacy Software Restructuring: Analyzing a Concrete Case , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.