Jump to content

Programming complexity

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Blaisorblade (talk | contribs) at 15:58, 16 June 2008 (Remove references to algorithmic complexity, as explained in talk page). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Programming Complexity is the complexity of programs, programming and languages, and one of the unsolved problems in software engineering.

Applications are complex to the extent that when programmers resign or are terminated, companies fail if those companies have no one capable of understanding what the programmers did [who?]. Because of this, researchers establish metrics which measure the complexity and can be used to figure out how to reduce the complexity of the software.

There are several metrics one can use to measure programming complexity:

  • data complexity (Chapin Metric)
  • data flow complexity (Elshof Metric)
  • data access complexity (Card Metric)
  • interface complexity (Henry Metric)
  • control flow complexity (McCabe Metric)
  • decisional complexity (McClure Metric)
  • branching complexity (Sneed Metric)
  • language complexity (Halstead Metric)
  • cyclomatic complexity

See also