Quantitative Measurements of Maintainability I - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Quantitative Measurements of Maintainability I

Description:

Quantitative Measurements of Maintainability I ... Introduction and history of software measurements. Defect ... Fenton, Software Metrics: A Rigorous Approach. ... – PowerPoint PPT presentation

Number of Views:69
Avg rating:3.0/5.0
Slides: 16
Provided by: ecpe4
Category:

less

Transcript and Presenter's Notes

Title: Quantitative Measurements of Maintainability I


1
Quantitative Measurements of Maintainability I
  • CPRE 416-Software Evolution and
    Maintenance-Lecture 5

2
Contents
  • Introduction and history of software measurements
  • Defect Density (DD) Measure
  • Critical analysis of the DD measure

3
Introduction
  • In software literature the terms metrics and
    measures are used as synonyms.
  • More than 1000 software measures have been
    published measures based on size, complexity,
    quality, etc.
  • Two famous measures created in seventies McCabe
    Measure and Halstead measure.
  • Several investigations funded by federal
    agencies Rome Air Development Center (RADC),
    NASA.
  • European Project METK 93 METKIT - Metrics
    Educational Toolkit. Information and Software
    Technology, Volume 35, No. 2, February 1993.

4
Resources
  • Good resources
  • http//irb.cs.tu-berlin.de/zuse/metrics/History_0
    8.html
  • http//www.sei.cmu.edu/str/descriptions/
  • Earliest paper on software complexity Rubey,
    R.J. Hartwick, R.D. Quantitative Measurement
    Program Quality. ACM, National Computer
    Conference pp. 671-677, 1968.
  • Bibliography http//irb.cs.uni-magdeburg.de/sw-en
    g/us/bibliography/bib_main.shtml
  • Books
  • Fenton, Software Metrics A Rigorous Approach.
  • Grady, Software Metrics Establishing a
    Company-wide Program.
  • Putnam and Myers, Five Core Metrics The
    Intelligence Behind Successful Software
    Management.

5
Need for Software Measures
  • The cost of software magnifies the need for
    quantitative analysis.
  • Maintenance applications
  • Predict error-proneness
  • Predict the degree of maintainability
  • Predict the difficulty of testing
  • Other applications
  • Cost estimates
  • Track progress
  • Determine relative complexity
  • Validate best practices
  • Measure productivity of programmers

6
What we will study next
  • We will study a few software measures.
  • The specific measures may or may not be relevant
    to you in future.
  • Our study will focus on
  • Analyzing a measure and judging its
    applicability.
  • Abstracting from concrete examples to develop
    useful insights about software measures.
  • Principles of measurement.

7
Critical Analysis of Measures
  • Think about
  • Is a given measure appropriate for your purpose?
    (e.g. Is LOC a good measure if my job is to fix a
    given set of defects?)
  • Measures such as length, temperature etc. have
    certain intuitive properties that we are familiar
    with. These properties may not hold for a
    software measure.

8
Defect Density (DD) Measure
  • Lines of Code (LOC) and DD are widely used
    measures in industry.
  • There are now companies that analyze your code
    for a given types of defects. Charges are based
    on LOC.
  • Let us explore the DD measure.
  • Definition DD Defects LOC

9
Application In Practice
  • We need two numbers LOC and defects.
  • Many considerations may be needed in practice for
    counting defects.
  • Typically, the number refers to defects found in
    a specified time interval.
  • Many empirical studies and guidelines for
    applying software measures, for example
  • http//www.dcs.qmul.ac.uk/norman/papers/qa_metric
    s_article/section_4_framework.html

10
Question
  • Suppose we have two versions of software V1 and
    V2.
  • Both versions have n components.
  • DD of each component of V1 is lower than the DD
    of the corresponding component of V2.
  • Question Is the overall DD of V1 lower than that
    of V2?

11
An Example
Source http//irb.cs.tu-berlin.de/zuse/metrics/l
ecture02.html (by Zuse)
12
Discussion
  • Mathematically, the example is about
  • Given
  • pairs of numbers (Ai, Bi) and (Xi, Yi)
  • ( Ai / Bi ) lt ( Xi / Yi ) for i 1, 2, .. n.
  • It does not imply that
  • ( Sum(Ai)/ Sum(Bi)) lt ( Sum(Xi)/ Sum(Yi))

13
Additive Measures
  • Theory of Measurement defines the so called
    additive measures. The example shows that the DD
    is not an additive measure.
  • Given a software engineering measure, always ask
    the question if it is an additive measure or not.

14
What is a measure?
  • A measure can be thought of as a relation
    preserving mapping (called homomorphism in
    mathematics)
  • A software measure M maps software to real
    numbers. Given software S, M(S) is a real number
    called the measure of S.
  • M preserves the relation . S1 S2 implies that
    M(S1) M(S2).

15
Additive Property
  • First, there is a notion of composing multiple
    pieces of software.
  • Composition S1 o S2 (associative)
  • A Measure is said to be additive if
  • M(S1 o S2) M(S1) M(S2)
  • An additive measure is called a scale.

Note We have simplified the mathematical
definition of additive measure to save time.
Write a Comment
User Comments (0)
About PowerShow.com