Abstract

Software maintainability has been an important external quality attribute that concerns both styles of software development, the proprietary model as well as open source. As lots of open source software are predominantly built using the OO paradigm, there exists a need for empirical validation with respect to certain quality aspects especially maintainability. There are a few studies in the past which use code metrics and a few which use design metrics, much earlier in the software development life cycle to predict maintainability. In addition, there are studies which apply both code as well as design metrics to evaluate maintainability. The objective of this research is to perform an empirical comparison of two popular OO metrics suites, the Martin suite and the CK suite on four open source software systems by analysing a few key design metrics such as size, coupling, complexity, inheritance and stability. Two important observations were made with this empirical study. First, between the two OO suite of design metrics, the prediction model developed using Martin metrics scores better than the model developed using the CK suite. Second, the combination of Martin and CK suites is helpful in predicting the maintainability of OO software, with a predictive accuracy of 66.7%, better than that of the models constructed by either Martin metrics or by the CK metrics individually."

Highlights

  • The IEEE Standard Glossary of Software Engineering Terminology defines maintainability as “The ease with which a software system or component can be modified to correct faults, to improve performance or other attributes, or adapt to a changed environment” (IEEE, 1990)

  • The objective of this research is to perform an empirical comparison of two popular OO metrics suites, the Martin suite and the Chidamber and Kemerer (CK) suite on four open source software systems by analysing a few key design metrics such as size, coupling, complexity, inheritance and stability

  • The design metrics of the Martin suite which were used as independent variables in this study were extracted from the source code of different versions of open source software

Read more

Summary

Introduction

The IEEE Standard Glossary of Software Engineering Terminology defines maintainability as “The ease with which a software system or component can be modified to correct faults, to improve performance or other attributes, or adapt to a changed environment” (IEEE, 1990). There have been several proprietary software systems which have evolved using the Object-Oriented paradigm. Many open source software systems have started evolving the Object-Oriented way and it becomes essential to investigate such software from the quality perspective. At the initial stages of software development, the evaluation of quality parameters was carried out during the later stages of the software development life cycle. At this stage, it becomes rather difficult to make changes in the design.

Objectives
Methods
Results
Discussion
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.