CFP last date
20 January 2025
Reseach Article

An Interface Complexity Measure for Component-based Software Systems

by Usha Kumari, Shuchita Upadhyaya
International Journal of Computer Applications
Foundation of Computer Science (FCS), NY, USA
Volume 36 - Number 1
Year of Publication: 2011
Authors: Usha Kumari, Shuchita Upadhyaya
10.5120/4459-6247

Usha Kumari, Shuchita Upadhyaya . An Interface Complexity Measure for Component-based Software Systems. International Journal of Computer Applications. 36, 1 ( December 2011), 46-52. DOI=10.5120/4459-6247

@article{ 10.5120/4459-6247,
author = { Usha Kumari, Shuchita Upadhyaya },
title = { An Interface Complexity Measure for Component-based Software Systems },
journal = { International Journal of Computer Applications },
issue_date = { December 2011 },
volume = { 36 },
number = { 1 },
month = { December },
year = { 2011 },
issn = { 0975-8887 },
pages = { 46-52 },
numpages = {9},
url = { https://ijcaonline.org/archives/volume36/number1/4459-6247/ },
doi = { 10.5120/4459-6247 },
publisher = {Foundation of Computer Science (FCS), NY, USA},
address = {New York, USA}
}
%0 Journal Article
%1 2024-02-06T20:22:02.852037+05:30
%A Usha Kumari
%A Shuchita Upadhyaya
%T An Interface Complexity Measure for Component-based Software Systems
%J International Journal of Computer Applications
%@ 0975-8887
%V 36
%N 1
%P 46-52
%D 2011
%I Foundation of Computer Science (FCS), NY, USA
Abstract

Controlling and minimizing software complexity is one of the most important objective of each software development paradigm because it affects all other software quality attributes like reusability, reliability, testability, maintainability etc. For this purpose, a number of software complexity measures have been reported to quantify different aspects of complexity. As the development of component-based software is rising, more and more complexity metrics are being developed for the same. In this paper, we have attempted to design an interface complexity metric for black-box components to quantify an important aspect of complexity of a component-based system. The proposed measure takes into account one major type of complexity of a component. It is due to its interactions (interfaces) with other components. Graph theoretic notions have been used to illustrate interaction among software components and to compute complexity. The proposed measure has been applied to five cases chosen for this study and yields quiet encouraging results which may further help in controlling the complexity of component-based systems so as to minimize both integration and maintenance efforts. As a thumb rule, we propose that average number of interactions (interfaces) per component in a component based system (CBS) should not be greater than five, otherwise that CBS would be highly complex and will be more prone to errors and hence unreliable. However, this rule requires further empirical support.

References
  1. Chidamber, S. R., Kemerer, C.F. (1994): A Metrics Suite for Object Oriented Design, IEEE Transactions on Software Engineering, pp. 476-492.
  2. Mark, L, Jeff, K.(1994): Object Oriented Software Metrics, Prentice Hall Publishing.
  3. Basili, V.R., Biand, L., Melo, W.L. (1995): A validation of object-oriented design metrics as quality indicators, Technical report, Uni. of Maryland, Deptt. of computer science, MD, USA.
  4. Basili, V. (1980): Qualitative Software Complexity Models: A Summary, In Tutorial on Models and Methods for Software Management and Engineering, IEEE Computer Society Press, Los Alamitos, CA.
  5. Singh, R., Grover, P.S. (1997): A New Program Weighted Complexity Metric, Proc. International conference on Software Engg. (CONSEG’97), Chennai, India, pp. 33-39.
  6. Brooks, I. (1993): Object Oriented Metrics Collection and Evaluation with Software Process, presented at OOPSLA’93 Workshop on Processes and Metrics for Object Oriented software development, Washington, DC.
  7. Harrison, W. (1982). Magel, K, Kluezny, R., dekock, A.: Applying Software Complexity Metrics to Program Maintenance, IEEE Computer, 15, pp. 65-79.
  8. Fothi, A. Gaizler, J., Porkol, Z. (2003): The Structured Complexity of Object-Oriented Programs, Mathematical and Computer Modeling, 38, pp. 815-827.
  9. Da-wei, E. (2007): The Software complexity model and metrics for object-oriented, IEEE International Workshop on Anti-counterfeiting, Security, Identification, pp. 464-469.
  10. Brooks, F.P. (1995): The Mythical Man Month: Essays on Software Engineering, Addison-Wesley.
  11. Zuse, H. (1991): Software Complexity Measures and Methods, W.de Gruyter, New York.
  12. Sellers, B. H. (1996): Object-Oriented Metrics : Measures of Complexity, Prentice Hall, New Jersey.
  13. Curtis, B. (1980): Measurement and Experimentation in Software Engineering, Proc. IEEE conference, 68,9, pp. 1144-1157.
  14. Mishra, S. (2007): An Object Oriented Complexity Metric Based on Cognitive Weights, Proc. 6th IEEE International Conference on Cognitive Informatics (ICCI’07).
  15. Usha Chhillar, Sucheta Bhasin (2011): A New Weighted Composite Complexity Measure for Object-Oriented Systems, International Journal of Information and Communication Technology Research, 1 (3).
  16. Elish, M.O., Rine, D. (2005): Indicators of Structural Stability of Object-Oriented Designs: A Case Study, Proc. 29th Annual IEEE/NASA Software Engineering Workshop(SEW’05), 2005.
  17. Halstead, M.H. (1977): Elements of Software Science, New York: Elsevier North Holland.
  18. McCabe, T.J. (1976): A Complexity Measure, IEEE Trans. On Software Engg., SE-2, 4, pp. 308-320.
  19. Aggarwal, K.K. (2006): Empirical Study of Object-Oriented Metrics, Journal of Object Technology, 5, pp. 149-173.
  20. Usha Kumari, Sucheta Bhasin (2011): Application of Object-Oriented Metrics To C++ and Java : A Comparative Study, ACM SIGSOFT Software Engineering Notes, 36 (2), pp. 1-6.
  21. Capretz, L.F (2005): Y : A New Component-Based Software Life Cycle Model, Journal of Computer Science, 1 (1), pp. 76-82.
  22. Brown, Wallnau (1998): The Current State of CBSE, IEEE Software, 15 (5).
  23. Gill, N.S, Balkishan (2008): Dependency and Interaction Oriented Complexity Metrics of Component-Based Systems, ACM SIGSOFT Software Engineering Notes, 33 (2), pp. 1-5.
  24. Ravichandran, T., Rothenberger, M. (2003): Software Reuse Strategies and Component Markets, Communications of the ACM, 18 (5), pp. 410-422.
  25. Dogru, A.H., Tanik, M. (2003): A process Model for Component Oriented Software Engineering, IEEE Software, pp. 34-41.
  26. Vitharana, P., Zahedi, F.M., Jain, H. (2003): Design Retrieval and Assembly in Component-Based Software Development, Communications of the ACM, 46 (11), pp. 97-102.
  27. Basili, V.R., Boehm, B. (2001): COTS-Based Systems Top 10 List, IEEE Computer, 34 (5), pp.91-93.
  28. Noel SALMAN (2006): Complexity Metrics As Predictors of Maintainability and Integrability of Software Components, Journal of Arts and Sciences, 5, pp. 39-50.
  29. Jianguo Chen et.al (2011): Complexity Metrics for Component-based Software Systems, International Journal of Digital Content Technology and its Applications, 5 (3), pp. 235-244.
  30. Sengupta, S., Kanjilal, A. (2011): Measuring Complexity of Component Based Architecture : A Graph Based Approach, ACM SIGSOFT Software Engineering Notes, 36 (1), pp. 1-10.
  31. Sharma, A., Grover, P.S., Kumar, R. (2009): Dependency Analysis for Component-Based Software Systems, ACM SIGSOFT Software Engineering Notes, 34 (4), pp. 1-6.
  32. IEEE Standard Glossary of Software Engineering Technology, 1990, IEEE Std. 610.12-1990, The Institute of Electrical ad Electronics Engineers, Inc.
  33. Weyuker, E.J. (1988): Evaluating Software Complexity Measures, IEEE Transactions on Software Engineering, 14 (9), pp.1357-1365.
  34. Usha Chhillar, Sucheta Bhasin (2011): A Journey of Software Metrics : Traditional to Aspect-Oriented Paradigm, 5th National Conference on Computing For Nation Development, 10th -11th March, 2011, New Delhi, pp. 289-293.
  35. Usha Chhillar, Sucheta Bhasin (2011): A Composite Complexity Measure For Component-Based Systems, ACM SIGSOFT Software Engineering Notes, 36 (6), pp. 1-5.
Index Terms

Computer Science
Information Sciences

Keywords

Software measurement Component-based software development (CBSD) Component-based system (CBS) Component-based software Reusability Reliability Testability Maintainability Black-box components