• DocumentCode
    882694
  • Title

    Cyclomatic complexity and the year 2000

  • Author

    McCabe, T.

  • Author_Institution
    McCabe & Associates, Columbia, MD
  • Volume
    13
  • Issue
    3
  • fYear
    1996
  • fDate
    5/1/1996 12:00:00 AM
  • Firstpage
    115
  • Lastpage
    117
  • Abstract
    The year 2000 problem is omnipresent, fast approaching, and will present us with something we´re not used to: a deadline that can´t slip. It will also confront us with two problems, one technical, the other managerial. My cyclomatic complexity measure, implemented using my company´s tools, can address both of these concerns directly. The technical problem is that most of the programs using a date or time function have abbreviated the year field to two digits. Thus, as the rest of society progresses into the 21st century, our software will think it´s the year 00. The managerial problem is that date references in software are everywhere; every line of code in every program in every system will have to be examined and made date compliant. In this article, I elaborate on an adaptation of the cyclomatic complexity measure to quantify and derive the specific tests for date conversion. I originated the use of cyclomatic complexity as a software metric. The specified data-complexity metric is calculated by first removing all control constructs that do not interact with the referenced data elements in the specified set, and then computing cyclomatic complexity. Specifying all global data elements gives an external coupling measure that determines encapsulation. Specifying all the date elements would quantify the effort for a year-2000 upgrade. This effort will vary depending on the quality of the code that must be changed
  • Keywords
    data encapsulation; data integrity; program diagnostics; program testing; software metrics; software tools; 2-digit year field; code quality; control constructs; cyclomatic complexity measure; date conversion tests; date references; encapsulation; external coupling measure; referenced data elements; year 2000 problem; Computer aided software engineering; Economic forecasting; Equations; Licenses; Portfolios; Predictive models; Software algorithms; Software testing; Software tools; Stock markets;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/52.493032
  • Filename
    493032