Component-based Software System Dependency Metrics based on Component Information Flow Measurements

The motivation of this paper is that the measurement based on the flow of information connecting software components can be used to evaluate component-based software system dependency. The ability to measure system dependency implies the capability to locate weakness in the system design and to determine the level of software quality. In this paper, dependency between components is considered as a major factor affecting the structural design of Component-based software System (CBSS). Two sets of metrics namely, Component Information Flow Metrics and Component Coupling Metrics are proposed based on the concept of Component Information Flow from CBSS designer’s point of view. We also discuss the motivation for and possible uses of system level metrics and component level metrics. Initial results from our on-going empirical evaluation indicate that the proposed metrics are very intuitive. Keywords-Component-based software system; Software metric; Dependency; Information flow.

[1]  Ivica Crnkovic,et al.  Specification, implementation, and deployment of components , 2002, CACM.

[2]  Nasib S. Gill,et al.  Dependency and interaction oriented complexity metrics of component-based systems , 2008, SOEN.

[3]  Andrea De Lucia,et al.  Understanding function behaviors through program slicing , 1996, WPC '96. 4th Workshop on Program Comprehension.

[4]  Sandro Morasca,et al.  Defining and validating high-level design metrics , 1994 .

[5]  Paul D. Scott,et al.  Measuring Software Component Reusability by Coupling and Cohesion Metrics , 2009, J. Comput..

[6]  Debra J. Richardson,et al.  Describing Dependencies in Component Access Points , 2001 .

[7]  A. Jefferson Offutt,et al.  UML-Based Integration Testing for Component-Based Software , 2003, ICCBSS.

[8]  P. S. Grover,et al.  Dependency analysis for component-based software systems , 2009, SOEN.

[9]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[10]  John Daniels,et al.  UML Components: A Simple Process for Specifying Component-Based Software , 2000 .

[11]  Hironori Washizaki,et al.  A metrics suite for measuring reusability of software components , 2003, Proceedings. 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry (IEEE Cat. No.03EX717).

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

[13]  Hanêne Ben-Abdallah,et al.  Coupling metrics for business process modeling , 2010 .

[14]  C.J.H. Mann,et al.  Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems , 2007 .

[15]  Maritta Heisel,et al.  Adding Features to Component-Based Systems , 2003, Objects, Agents, and Features.

[16]  Elaine J. Weyuker,et al.  Testing Component-Based Software: A Cautionary Tale , 1998, IEEE Softw..

[17]  V. Lakshmi Narasimhan,et al.  Some theoretical considerations for a suite of metrics for the integration of software components , 2007, Inf. Sci..

[18]  Paul D. Scott,et al.  Ranking reusability of software components using coupling metrics , 2007, J. Syst. Softw..

[19]  KhlifWiem,et al.  Coupling metrics for business process modeling , 2010 .

[20]  Mark Lycett,et al.  Development Of Component-based Information Systems (Advances in Management Information Systems) , 2005 .

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

[22]  R. Lai,et al.  A complexity measure for UML component‐based system specification , 2008, Softw. Pract. Exp..

[23]  Bixin Li Managing Dependencies in Component-Based Systems Based on Matrix Model , 2003 .

[24]  S.M. Alhazbi Measuring the complexity of component-based system architecture , 2004, Proceedings. 2004 International Conference on Information and Communication Technologies: From Theory to Applications, 2004..

[25]  Saeed Araban,et al.  Interface metrics for reusability analysis of components , 2004, 2004 Australian Software Engineering Conference. Proceedings..

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

[27]  Keith Brian Gallagher,et al.  Using Program Slicing in Software Maintenance , 1991, IEEE Trans. Software Eng..

[28]  Nael Salman,et al.  Complexity Metrics AS Predictors of Maintainability and Integrability of Software components , 2006 .

[29]  Sandro Morasca,et al.  Measuring and assessing maintainability at the end of high level design , 1993, 1993 Conference on Software Maintenance.

[30]  Susan Horwitz,et al.  Incremental program testing using program dependence graphs , 1993, POPL '93.

[31]  Franck Xia,et al.  On the concept of coupling, its modeling and measurement , 2000, J. Syst. Softw..

[32]  Norman F. Schneidewind,et al.  A Methodology for Validating Software Product Metrics , 2000 .

[33]  Michael M. Pickard,et al.  A field study of the relationship of information flow and maintainability of COBOL programs , 1995, Inf. Softw. Technol..

[34]  Octavian Paul Rotaru,et al.  Reusability metrics for software components , 2005, The 3rd ACS/IEEE International Conference onComputer Systems and Applications, 2005..

[35]  Sallie M. Henry,et al.  Software Structure Metrics Based on Information Flow , 1981, IEEE Transactions on Software Engineering.

[36]  Latika Kharb,et al.  Complexity metrics for component-oriented software systems , 2008, SOEN.

[37]  M. Shepperd Measurement of structure and size of software designs , 1992, Inf. Softw. Technol..

[38]  Barbara Kitchenham,et al.  Design metrics in practice , 1990 .