Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Property-Based Software Engineering Measurement

Published: 01 January 1996 Publication History

Abstract

Little theory exists in the field of software system measurement. Concepts such as complexity, coupling, cohesion or even size are very often subject to interpretation and appear to have inconsistent definitions in the literature. As a consequence, there is little guidance provided to the analyst attempting to define proper measures for specific problems. Many controversies in the literature are simply misunderstandings and stem from the fact that some people talk about different measurement concepts under the same label (complexity is the most common case).There is a need to define unambiguously the most important measurement concepts used in the measurement of software products. One way of doing so is to define precisely what mathematical properties characterize these concepts, regardless of the specific software artifacts to which these concepts are applied. Such a mathematical framework could generate a consensus in the software engineering community and provide a means for better communication among researchers, better guidelines for analysts, and better evaluation methods for commercial static analyzers for practitioners.In this paper, we propose a mathematical framework which is generic, because it is not specific to any particular software artifact, and rigorous, because it is based on precise mathematical concepts. We use this framework to propose definitions of several important measurement concepts (size, length, complexity, cohesion, coupling). It does not intend to be complete or fully objective; other frameworks could have been proposed and different choices could have been made. However, we believe that the formalisms and properties we introduce are convenient and intuitive. This framework contributes constructively to a firmer theoretical ground of software measurement.

References

[1]
N. Fenton, "Software measurement: A necessary scientific basis," IEEE Trans. Software Eng., vol. 20, no. 3, pp. 199-206, Mar. 1994.
[2]
D.L. Parnas, "On the criteria to be used in decomposing systems into modules," Comm. ACM, vol. 15, pp. 1,053-1,058, May 1972.
[3]
L. Briand S. Morasca and V.R. Basili, "A goal-driven definition process for product metrics based on properties," Univ. of Maryland, Dept. of Computer Science, Tech. Report CS-TR-3346, UMIACS-TR-94-106, 1994. Submitted for publication.
[4]
R. Courtney and D. Gustafson, "Shotgun correlations in software measures," Software Eng. J., vol. 8, no. 1, pp. 5-13, Jan. 1993.
[5]
K.B. Lakshmanian S. Jayaprakash and P.K. Sinha, "Properties of control-flow complexity measures," IEEE Trans. Software Eng., vol. 17, no. 12, pp. 1,289-1,295, Dec. 1991.
[6]
J. Tian and M.V. Zelkowitz, "A formal program complexity model and its application," J. Systems Software, vol. 17, pp. 253-266, 1992.
[7]
E.J. Weyuker, "Evaluating software complexity measures," IEEE Trans. Software Eng., vol. 14, no. 9, pp. 1,357-1,365, Sept. 1988.
[8]
S.R. Chidamber and C. Kemerer, "A metrics suite for object oriented design," IEEE Trans. Software Eng., vol. 20, no. 6, pp. 476-493, June 1994.
[9]
W. Harrison, "An entropy-based measure of software complexity," IEEE Trans. Software Eng., vol. 18, no. 11, pp. 1,025-1,029, Nov. 1992.
[10]
M. Shepperd, "Algebraic models and metric validation," Formal Aspects of Measurement, T. Denvir, R. Herman and R.W. Whitty, eds., pp. 157-173, Lecture Notes in Computer Science, Springer-Verlag, 1992.
[11]
H. Zuse, Software Complexity: Measures and Methods. Amsterdam: de Gruyter, 1991.
[12]
J.C. Cherniavsky and C.H. Smith, "On Weyuker's axioms for software complexity measures," IEEE Trans. Software Eng., vol. 17, no. 6, pp. 636-638, June 1991.
[13]
B. Henderson-Sellers and J. Edwards, Book Two of the OO Knowledge: The Working Object. Prentice Hall Object-Oriented Series, 1994.
[14]
N. Fenton, Software Metrics, A Rigorous Approach. Chapman and Hall, 1991.
[15]
M.H. Halstead, Elements of Software Science. Elsevier North-Holland, 1977.
[16]
B. Curtis S. Sheppard P. Milliman M. Borst and T. Love, "Measuring the psychological complexity of software maintenance task with the Halstead and McCabe metrics," IEEE Trans. Software Eng., vol. 5, no. 2, pp. 96-104, Mar. 1979.
[17]
A.C. Melton D.A. Gustafson J.M. Bieman and A.A. Baker, "Mathematical perspective of software measures research," IEE Software Eng. J., vol. 5, no. 5, pp. 246-254, 1990.
[18]
E.I. Oviedo, "Control flow, data flow and program complexity," Proc. IEEE COMPSAC, pp. 146-152, Nov. 1980.
[19]
T.J. McCabe, "A complexity measure," IEEE Trans. Software Eng., vol. 2, no. 5, pp. 308-320, Apr. 1976.
[20]
S. Henry and D. Kafura, "Software structure metrics based on information flow," IEEE Trans. Software Eng., vol. 7, no. 5, pp. 510-518, Sept. 1981.
[21]
D. Card and R. Glass, "Measuring software design quality." Englewood Cliffs, N.J.: Prentice Hall, 1990.
[22]
L. Briand S. Morasca and V. Basili, "Defining and validating high-level design metrics," CS-TR 3301, Univ. of Maryland, College Park, Md. Submitted for publication.
[23]
J. Bieman and L.M. Ott, "Measuring functional cohesion," IEEE Trans. Software Eng., vol. 20, no. 8, pp. 644-657, Aug. 1994.
[24]
F. Roberts, Measurement Theory with Applications to Decisionmaking, Utility, and the Social Sciences. Addison-Wesley, 1979.
[25]
N. Fenton and A. Melton, "Deriving structurally based software measures," J. Systems Software, vol. 12, pp. 177-187, 1990.
[26]
R.E. Prather, "An axiomatic theory of software complexity measure," The Computer J., vol 27, no. 4, pp. 340-346, 1984.
[27]
Encyclopaedia of Software Eng. John Wiley & Sons, 1994.
[28]
L. Briand K. El Emam and S. Morasca, "On the application of measurement theory in software engineering," to appear in Empirical Software Engineering, An Int'l J.

Cited By

View all
  • (2024)A fuzzy logic-based quality model for identifying microservices with low maintainabilityJournal of Systems and Software10.1016/j.jss.2024.112143216:COnline publication date: 1-Oct-2024
  • (2023)AI-based Quality-driven Decomposition Tool for Monolith to Microservice MigrationProceedings of the 2023 4th Asia Service Sciences and Software Engineering Conference10.1145/3634814.3634839(181-191)Online publication date: 27-Oct-2023
  • (2023)Decision Tree Regression Analysis of Proposed Metric Suite for Software Fault PredictionSN Computer Science10.1007/s42979-023-02386-95:1Online publication date: 6-Dec-2023
  • Show More Cited By

Index Terms

  1. Property-Based Software Engineering Measurement

    Recommendations

    Reviews

    Curtis Roger Cook

    A mathematical framework for the measurement of internal attributes of software artifacts is presented. Concepts such as size, complexity, coupling, and cohesion have been introduced to define these attributes. Hundreds of quantitative measures have been proposed for these concepts. The contribution of this paper is to use the proposed framework to define necessary properties for these measurements. Such a framework is sorely needed because many of the proposed measures are based on intuition and hence are not well defined, which makes comparison and communication among researchers and practitioners difficult. The proposed framework is based on graph theory. A directed graph represents the system, and subgraphs correspond to modules. The authors illustrate the generality and precision of their framework by giving defining properties for size, length, complexity, cohesion, and coupling. For each concept, they give examples of current measures that satisfy and do not satisfy the software measurement properties. The authors also compare their defining sets of properties with other proposed defining sets of software complexity measures, including those of Weyuker, Fenton, and Zuse. They found much commonality as well as some differences. The intent of the paper was not to prove the validity of the proposed set of measurement properties, but to show its practicality and to sensitize software metrics researchers to the importance of a formal measurement framework. Metrics researchers should consider this when they define new software measures.

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image IEEE Transactions on Software Engineering
    IEEE Transactions on Software Engineering  Volume 22, Issue 1
    January 1996
    93 pages
    ISSN:0098-5589
    Issue’s Table of Contents

    Publisher

    IEEE Press

    Publication History

    Published: 01 January 1996

    Author Tags

    1. Software measurement
    2. cohesion
    3. complexity
    4. coupling.
    5. measure properties
    6. measurement theory
    7. size

    Qualifiers

    • Research-article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 13 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A fuzzy logic-based quality model for identifying microservices with low maintainabilityJournal of Systems and Software10.1016/j.jss.2024.112143216:COnline publication date: 1-Oct-2024
    • (2023)AI-based Quality-driven Decomposition Tool for Monolith to Microservice MigrationProceedings of the 2023 4th Asia Service Sciences and Software Engineering Conference10.1145/3634814.3634839(181-191)Online publication date: 27-Oct-2023
    • (2023)Decision Tree Regression Analysis of Proposed Metric Suite for Software Fault PredictionSN Computer Science10.1007/s42979-023-02386-95:1Online publication date: 6-Dec-2023
    • (2023)Evaluating Microservice Organizational Coupling Based on Cross-Service ContributionProduct-Focused Software Process Improvement10.1007/978-3-031-49266-2_30(435-450)Online publication date: 11-Dec-2023
    • (2022)The Effect of Feature Characteristics on the Performance of Feature Location TechniquesIEEE Transactions on Software Engineering10.1109/TSE.2021.304973548:6(2066-2085)Online publication date: 1-Jun-2022
    • (2020)A Better Set of Object-Oriented Design Metrics for Within-Project Defect PredictionProceedings of the 24th International Conference on Evaluation and Assessment in Software Engineering10.1145/3383219.3383243(230-239)Online publication date: 15-Apr-2020
    • (2020)Playground for Early Automotive Service Architecture Design and Evaluation2020 IEEE Intelligent Vehicles Symposium (IV)10.1109/IV47402.2020.9304633(1349-1356)Online publication date: 19-Oct-2020
    • (2020)Software Defect-Proneness Prediction with Package Cohesion and Coupling Metrics Based on Complex Network TheoryDependable Software Engineering. Theories, Tools, and Applications10.1007/978-3-030-62822-2_12(186-201)Online publication date: 24-Nov-2020
    • (2019)Empirical investigation of dimension hierarchy sharing-based metrics for multidimensional schema understandabilityInternational Journal of Intelligent Engineering Informatics10.5555/3337636.33376387:2-3(141-163)Online publication date: 1-Jan-2019
    • (2019)A metrics suite for UML model stabilitySoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0573-618:1(557-583)Online publication date: 1-Feb-2019
    • Show More Cited By

    View Options

    View options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media