skip to main content
research-article

Developing maintainability index of a software component: a digraph and matrix approach

Authors Info & Claims
Published:22 October 2010Publication History
Skip Abstract Section

Abstract

This paper describes a methodology based on a digraph and matrix approach for developing the maintainability (characteristic) indexof a software component. Sub-characteristics and associated attributes of a component that characterize maintainability are identified and modelled in terms of maintainability digraph. The nodes in the digraph represent maintainability sub-characteristics and edges represent interactive complexity among the subcharacteristics. A detailed procedure for the maintainability analysis of component is suggested through a maintainability function. The maintainability index (Im) is obtained from VPF - m (i.e. permanent of the matrix) by substituting the numerical values of the sub-characteristics and their interactions. The concept of hypothetical best index and hypothetical worst index is also proposed, which will help system developers to identify relative comparison of candidates from hypothetical best and hypothetical worst indices and designers and developers to improve the component maintainability characteristic (looking upon critical attributed factors) by performing sensitivity analysis. A higher value of the VPF - m implies better maintainability of a component. An example is also presented to demonstrate and validate the effectiveness of the methodology.

References

  1. Lientz, B. P., Swanson, E. B., (1978). Characteristics of Application Software Maintenance, Communication of ACM, vol. 21, no. 6, pp. 466--471. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Parikh, G., (1982). The Guide to Software Maintenance, Winthrop Publishers, Cambridge, Mass.Google ScholarGoogle Scholar
  3. Pigoski, T. M., (1997). Practical Software Maintenance, John Wiley & Sons, Inc., New York, NY, pp. 29--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Moad, J., (1990). Maintaining the Competitive Edge," Datamation, vol. 36, no. 4, pp. 61--66.Google ScholarGoogle Scholar
  5. Lientz, B. P., Swanson, E. B., (1980). Software Maintenance Management: A Study of the Maintenance of Computer Application Software in 487 Data Processing Organizations. Addison-Wesley: Reading, MA, 214 p. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Woit D., (1997), Specify Component Interactions for Modular Reliability Estimation, Proceedings of First International Software Quality WeekGoogle ScholarGoogle Scholar
  7. Upadhyay N, Deshpande BM, Agrawal V. P., (2009). MACBSS: Modeling and Analysis of Component Based Software System. IEEE World Congress on Computer Science and Information Engineering, pp; 595--601. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Grover, P. S., Rajesh, K., Arun, S., (2007). Few useful considerations for maintaining software components and component-based systems, ACM SIGSOFT software Engineering Notes, vol. 32, no. 5, pp: 1--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Mark R Vigder, J. Dean (2000): Maintaining a COTS-Based Systems" Proceedings of the NATO Information Systems Technology Panel Symposium on Commercial Off-the-Shelf Products in Defense Applications, Brussels, Belgium, April 3--5, 2000.Google ScholarGoogle Scholar
  10. McCall, J., Richards, P., Walters, G., (1977). Factors in Software Quality, three volumes, NTIS AD-A049-014, AD-A049-015, AD-A049-055Google ScholarGoogle Scholar
  11. Boehm, B. W., Brown, J. R., Lipow, M., MacLeod, G. J., Merritt, M. J., (1978). Characteristics of Software Quality, North Holland Publishing Co., NYGoogle ScholarGoogle Scholar
  12. ISO/IEC-9126. (1991). Information Technology -- Software Product evaluation -- Quality Characteristics and Guidelines for their use, International Standard ISO/IEC 9126, International Standard Organization.Google ScholarGoogle Scholar
  13. Dromey, G, R., (1995). A model for software product quality, IEEE Transactions of Software Engineering, Volume 21, Issue 2, pp: 146--162 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Sedigh-Ali, S., Ghafoor, A., Paul, R. A., (2001). Metrics-guided quality management for component-based software systems, Proceedings of 25th annual international on computer software and applications conference, pp: 303--308 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. ISO 9126. (2001), Information Technology -- Product Quality -- Part1: Quality Model, International Standard ISO/IEC 9126, International Standard Organization.Google ScholarGoogle Scholar
  16. IEEE. (1998). IEEE Standard for Software Maintenance, IEEE Std 1219--1998. The Institute of Electrical and Electronics Engineers, Inc.Google ScholarGoogle Scholar
  17. Voas, J., 1998. Maintaining Component-Based Systems, IEEE Software, pp: 22--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Judith A. Clapp, Audrey E. Taub (1998): A Management Guide to Software Maintenance in COTS-Based Systems", at http://www.mitre.org/work/tech_papers_98/mgt_guide_sftwrmaint.pdfGoogle ScholarGoogle Scholar
  19. Alvaro, A., Almeida, E. S., Meira, S. R. L., (2005). Towards a software component quality model, Proceedings of the 5th International Conference on Quality Software (QSIC).Google ScholarGoogle Scholar
  20. Simão, R. P. S., Belchior, A., (2003). Quality Characteristics for Software Components: Hierarchy and Quality Guides, Component-Based Software Quality: Methods and Techniques, Lecture Notes in Computer Science (LNCS) Springer-Verlag, vol. 2693, pp. 188--211.Google ScholarGoogle Scholar
  21. Bertoa, M., Vallecillo, A., (2002). Quality Attributes for COTS Components, Proceedings of the 6th International ECOOP Workshop on Quantitative Approaches in Object-Oriented Software Engineering (QAOOSE), SpainGoogle ScholarGoogle Scholar
  22. Goulao, M., Brito, F., Abreu, E., 2002. The Quest for Software Components Quality, Proceedings of the 26th IEEE Annual International Computer Software and Applications Conference (COMPSAC), England, pp. 313--318. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Deo, N., (2004), Graph Theory with Applications to Engineering and Computer Science. Prentice-Hall of India Private Limited: New Delhi.Google ScholarGoogle Scholar
  24. Upadhyay N., (2004). Analysis and Design of Algorithms, S. K. Kataria and Sons, New DelhiGoogle ScholarGoogle Scholar
  25. Upadhyay N., Deshpande, B. M., Agrawal, V. P., (2010). Modeling and Analysis of Component Based Software Systems: A Graph Theoretic Systems Approach. Systems Research ForumGoogle ScholarGoogle Scholar
  26. Jurkat, W. B., Ryser, H. J., (1996). Matrix Factorization and Permanents, Journal of Algebra, vol. 16, pp. 1--26.Google ScholarGoogle Scholar
  27. Lexico Publishing Group, (2006). Definition of index, Retrieved from: http://dictionary.reference.com/browse/index (accessed March 25, 2010)Google ScholarGoogle Scholar
  28. Merriam-Webster, (2006), Definition of index, Retrieved from: http://www.merriam-webster.com/dictionary/index (accessed March 25, 2010)Google ScholarGoogle Scholar
  29. Upadhyay, N., Deshpande, B.M., (2010). SDCS: six-dimensional classification strategy framework for COTS products, International Journal of Data Analysis Techniques and Strategies, vol. 2, no. 2, pp. 170--180 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Hong, Z., (2005). Software Design Methodology: From Principles to Architectural Styles, Elsevier, 141.Google ScholarGoogle Scholar

Index Terms

  1. Developing maintainability index of a software component: a digraph and matrix approach
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader