Software Engineering Measurement
John C. Munson · 2003
THE GOALS OF SOFTWARE ENGINEERING MEASUREMENT Software Engineering Measurement The Rationale for Effective Measurement Measurement across the Life Cycle Model Reasonable and Attainable Goals for Software Measurement Summary THE CONDUCT OF SCIENTIFIC INVESTIGATIONS The Principals of Scientific Investigation Measurement Measurement Issues Measurement Standards Principles of Experimentation MEASURING SOFTWARE DEVELOPMENT Measurement Domains Modeling: Mapping among Measurement Domains The Process of Software Measurement Summary VALIDATION OF SOFTWARE MEASURES Understanding What Is Being Measured Criterion-Oriented Validity Content Validity Construct Validity Empirical Validity Reliability STATIC SOFTWARE MEASUREMENT Introduction Primitive Measures of Source Code Measures of Software Quality Summary DERIVED SOFTWARE MEASURES Introduction Software Science Metrics Sources of Variation The Principal Components of Measurement Principal Components Analysis as a Validation Tool Discovering New Sources of Variation Domain Metrics A Unitary Measure of Software Complexity Summary MODELING WITH METRICS Introduction Simple Linear Regression Non-Linear Models Problems Associated with Multicollinearity Regression as a Metric Validation Tool Canonical Correlation MEASURING SOFTWARE EVOLUTION Introduction Measuring Evolving Software Measuring Changes to Modules across Builds Summary SOFTWARE SPECIFICATION AND DESIGN Introduction Software Operational Requirements Specification Software Functional Requirements Specification Software Module Requirements Specification A Formal Description of Program Operation Configuration Control for the Requirements Measuring Software Design Alternatives Maintainability DYNAMIC SOFTWARE MEASUREMENT Introduction A Stochastic Description of Program Operation The Profiles of Software Dynamics Estimates for Profiles Code Instrumentation Instrumenting for the Profiles Partial Complexity A Measure of Cohesion Entropy Testability Revisited THE MEASUREMENT OF SOFTWARE TESTING ACTIVITY Introduction Static and Dynamic Measurement A Metaphor for Test Activity Measurement Based Testing Fractional Measures Introduction to Statistical Testing SOFTWARE AVAILABILITY Introduction Software Reliability Availability Security Maintainability IMPLEMENTING A SOFTWARE MEASUREMENT PLAN The Software Measurement Process Building a Measurement Process Measurement Process Improvement Institutionalizing Measurement Process Improvement A Network Based Measurement System IMPLEMENTING A SOFTWARE RESEARCH PLAN What Is Software Research? Implementing a Research Plan Defining Software Research Objectives Budgeting for Software Research Research Pays APPENDIXES REVIEW OF MATHEMATICAL FUNDAMENTALS Matrix Algebra Some Notions of Probability Discrete Probability Distributions Continuous Probability Distributions Statistics Tests of Hypotheses Introduction to Modeling A STANDARD FOR THE MEASUREMENT OF C PROGRAMMING LANGUAGE ATTRIBUTES Introduction Compiler Directives Style and Statement Metrics Lexical Metrics Control Flowgraph Metrics Coupling Metrics Definitions Tokens