Evaluating Software Complexity Based on Decision Coverage

By Al-Hajjaji, Mustafa; Alsmadi, Izzat et al. | Informatica Economica, January 1, 2012 | Go to article overview

Evaluating Software Complexity Based on Decision Coverage


Al-Hajjaji, Mustafa, Alsmadi, Izzat, Samarah, Samer, Informatica Economica


It is becoming increasingly difficult to ignore the complexity of software products. Software metrics are proposed to help show indications for quality, size, complexity, etc. of software products. In this paper, software metrics related to complexity are developed and evaluated. A dataset of many open source projects is built to assess the value of the developed metrics. Comparisons and correlations are conducted among the different tested projects. A classification is proposed to classify software code into different levels of complexity. The results showed that measuring the complexity of software products based on decision coverage gives a significant indicator of degree of complexity of those software products. However, such indicator is not exclusive as there are many other complexity indicators that can be measured in software products. In addition, we conducted a comparison among several available metric tools that can collect software complexity metrics. Results among those different tools were not consistent. Such comparison shows the need to have a unified standard for measuring and collecting complexity attributes.

Keywords: Complexity, Software Metrics, Decision Coverage, Software Quality, Testing

1Introduction

In recent years, the software products are getting more complex. Producing a software with all its functionalities while at the same time having high quality attribute is a serious challenge. Improving software testing and measurements can help in findings software bugs early and hence reduce their impact [1]. However, it is very difficult to test every as-pect or attribute in the software, especially when the software application is very huge and has many branches. There are several metrics that have been developed to help de-velopers and testers in their development process in order to guarantee the correctness of tasks and improving the maintainability of the software [2], [3], [4], [5]. Cyclomatic complexity is one of metrics that is used to measure the complexity of a program by measuring the number of linearly independ-ent paths through the source code [6]. Cy-clomatic complexity is computed using the Control Flow Graph (CFG). In CFG, there are nodes and directed edges. The nodes refer to commands or decisions in the program and each edge connects two nodes (i.e. com-mands) when the second command can be executed after the first one.

In this paper, measuring the complexity will be based on decision coverage. Decision coverage is a metric that measures the possi-ble branches that are followed by a flow con-trol structure [7]. A decision is a program point in which the control flow has two or more alternative branches [8]. Decision cov-erage is the percentage of the decision out-comes that have been tested or visited by test cases relative to the overall decisions [7]. The decision coverage metric will be added to the existing metrics in SWMetrics tool de-veloped by one of the paper's authors [13]. SWMetrics computes many metrics such as: Line of Code (LOC), Statement Line of Code (SLOC), Cyclomatic complexity and math counts. The objective of decision coverage testing is to show all the decisions within a component that have been executed at least once. This is usually a software complexity indicator where more decisions in a program mean more complexity. The remainder of this paper is structured as follows: Section 2 presents a background of software metrics. Section 3 discusses some of the metrics that proposed to measure some features of soft-ware, especially complexity. Some tools that can calculate software metrics have also been discussed in this section. Section 4 presents the setup of our experiments. Section 5 de-scribes the experimental results. Section 6 in-cludes a conclusion or summary of the work presented in this paper.

2 Background

Software metrics provide a numerical data related to development, operation, and maintenance of the software product, project, process, etc. …

The rest of this article is only available to active members of Questia

Sign up now for a free, 1-day trial and receive full access to:

  • Questia's entire collection
  • Automatic bibliography creation
  • More helpful research tools like notes, citations, and highlights
  • Ad-free environment

Already a member? Log in now.

Notes for this article

Add a new note
If you are trying to select text to create highlights or citations, remember that you must now click or tap on the first word, and then click or tap on the last word.
One moment ...
Default project is now your active project.
Project items

Items saved from this article

This article has been saved
Highlights (0)
Some of your highlights are legacy items.

Highlights saved before July 30, 2012 will not be displayed on their respective source pages.

You can easily re-create the highlights by opening the book page or article, selecting the text, and clicking “Highlight.”

Citations (0)
Some of your citations are legacy items.

Any citation created before July 30, 2012 will labeled as a “Cited page.” New citations will be saved as cited passages, pages or articles.

We also added the ability to view new citations from your projects or the book or article where you created them.

Notes (0)
Bookmarks (0)

You have no saved items from this article

Project items include:
  • Saved book/article
  • Highlights
  • Quotes/citations
  • Notes
  • Bookmarks
Notes
Cite this article

Cited article

Style
Citations are available only to our active members.
Sign up now to cite pages or passages in MLA, APA and Chicago citation styles.

(Einhorn, 1992, p. 25)

(Einhorn 25)

1

1. Lois J. Einhorn, Abraham Lincoln, the Orator: Penetrating the Lincoln Legend (Westport, CT: Greenwood Press, 1992), 25, http://www.questia.com/read/27419298.

Cited article

Evaluating Software Complexity Based on Decision Coverage
Settings

Settings

Typeface
Text size Smaller Larger Reset View mode
Search within

Search within this article

Look up

Look up a word

  • Dictionary
  • Thesaurus
Please submit a word or phrase above.
Print this page

Print this page

Why can't I print more than one page at a time?

Full screen

matching results for page

Cited passage

Style
Citations are available only to our active members.
Sign up now to cite pages or passages in MLA, APA and Chicago citation styles.

"Portraying himself as an honest, ordinary person helped Lincoln identify with his audiences." (Einhorn, 1992, p. 25).

"Portraying himself as an honest, ordinary person helped Lincoln identify with his audiences." (Einhorn 25)

"Portraying himself as an honest, ordinary person helped Lincoln identify with his audiences."1

1. Lois J. Einhorn, Abraham Lincoln, the Orator: Penetrating the Lincoln Legend (Westport, CT: Greenwood Press, 1992), 25, http://www.questia.com/read/27419298.

Cited passage

Welcome to the new Questia Reader

The Questia Reader has been updated to provide you with an even better online reading experience.  It is now 100% Responsive, which means you can read our books and articles on any sized device you wish.  All of your favorite tools like notes, highlights, and citations are still here, but the way you select text has been updated to be easier to use, especially on touchscreen devices.  Here's how:

1. Click or tap the first word you want to select.
2. Click or tap the last word you want to select.

OK, got it!

Thanks for trying Questia!

Please continue trying out our research tools, but please note, full functionality is available only to our active members.

Your work will be lost once you leave this Web page.

For full access in an ad-free environment, sign up now for a FREE, 1-day trial.

Already a member? Log in now.