skip to main content
article
Free Access

Open source software development should strive for even greater code maintainability

Published:01 October 2004Publication History
Skip Abstract Section

Abstract

A study of almost six million lines of code tracks how freely accessible source code holds up against time and multiple iterations.

References

  1. Drake, T. Measuring software quality: A case study. IEEE Computer 29, 11 (1996), 78--87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. El-Emam. Ethics and open source. Empirical Software Engineering 4, 6 (2001), 291--292. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Feller, J., and Fitzgerald, B. Understanding Open Source Software Development. Addison Wesley, Reading, PA, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Halstead, M. H. Elements of Software Science. Elsevier, North-Holland, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. IEEE Software 16, 1 (Jan/Feb 1999).Google ScholarGoogle Scholar
  6. Maintainability index technique for measuring program maintainability. Software Technology Review, SEI; www.sei.cmu.edu/str/descriptions/mitmpm_body.html.Google ScholarGoogle Scholar
  7. McCabe, T. A complexity measure. IEEE Trans. on Software Engineering 2, 4 (1976), 308--320.Google ScholarGoogle Scholar
  8. Mockus A., Fielding R., and Herbsleb J. Two case studies of open source software development: Apache and Mozilla. ACM Trans. Software Eng. and Meth. 11, 3, (2002), 309--346. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Oman, P. and Hagemeister, J. Constructing and testing of polynomials predicting software maintainability. J. Systems and Software 24, 3 (1994), 251--266. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Schach S.R., Jin B., Wright D.R., Heller D.Z., and Offutt A.J. Maintainability of the Linux kernel. In IEE Proceedings---Software Engineering 149, 1 (2002), 18--24.Google ScholarGoogle ScholarCross RefCross Ref
  11. The Open Source Initiative. Open source definition, version 1.9; www.opensource.org/docs/definition.php.Google ScholarGoogle Scholar
  12. Welker, Kurt D. and Oman, P.W. Software maintainability metrics models in practice. Crosstalk, Journal of Defense Software Eng. 8, 11 (1995), 19--23.Google ScholarGoogle Scholar

Index Terms

  1. Open source software development should strive for even greater code maintainability

          Recommendations

          Reviews

          Andrew Brooks

          This paper reports on the measurement of the Software Engineering Institute's (SEI) Maintainability Index (MI) for five open source software (OSS) projects. MI is an averaging measure of code commenting, complexity, and size at the level of a module. The number of software releases measured varied from eight to 14. The smallest project studied had 343,000 lines of code. Figure 1 in the paper shows that a commercial spin-off of one OSS project had poorer values of MI. Figure 2 shows that one OSS project developed from a commercial project had MI values no worse than the original commercial release. Figure 3 shows a gradual deterioration over time of MI values for three other OSS projects. From these figures, the authors conclude that OSS code maintainability compares favorably with commercial code, and that the maintainability of OSS code deteriorates over time, much as with commercial code. Many analyses are missing. For example: the deterioration in MI for the commercial spin-off referenced in Figure 1 largely took place over one release. Knowing the reasons for this particular deterioration would be useful. Figures 2 and 3 demonstrate periods of relative stability in MI. Detailed comparisons between periods of relative stability and deterioration might reveal the underlying reasons for deterioration in MI. Maintainability is ultimately measured by the effort required to fulfill a change request, and many would view with skepticism findings based solely on the values of the MI metric. This paper is recommended to those researching software maintenance. Online Computing Reviews Service

          Access critical reviews of Computing literature here

          Become a reviewer for Computing Reviews.

          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

          • Published in

            cover image Communications of the ACM
            Communications of the ACM  Volume 47, Issue 10
            Voting systems
            October 2004
            95 pages
            ISSN:0001-0782
            EISSN:1557-7317
            DOI:10.1145/1022594
            Issue’s Table of Contents

            Copyright © 2004 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 October 2004

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • article

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          HTML Format

          View this article in HTML Format .

          View HTML Format