Chapter
Publicly Available
Contents
Chapters in this book
- Frontmatter I
- Preface V
- Acknowledgements VI
- Contents IX
- 1. Introduction 1
-
2. Problems in Evaluating the Complexity of Programs
- 2.1. Difficulties in Interpreting the Results of Software Complexity Measurement 7
- 2.2. Problems in Interpreting Numerical Values 21
- 2.3. Problems in Determining the Complexity of Programs 22
- 2.4. Problems in Calculating the Arithmetic Mean 22
- 2.5. Problems in Selecting Appropriate Software Complexity Measures 23
-
3. Discussion about Software Measurement and Measures
- 3.1. What is Software Measurement? 25
- 3.2. An Overview of Software Measurement 27
- 3.3. What are Software Metrics/Measures? 28
- 3.4. Classification of Software Complexity Measures 31
- 3.5. Verbal Definitions of the Term Complexity 34
- 3.6. Limits to the Values of Software Measures 35
- 3.7. Remarks About Measures in Relationship to Measurement Theory and Scales 36
- 3.8. Summary 37
-
4. Measurement Theory and Criteria for Scales
- 4.1. The Definition of the Empirical Relational System and the Formal Relational System 40
- 4.2. The Definition of Scales and Meaningfulness 42
- 4.3. Criteria for Ordinal and Ratio Scales 46
- 4.4. Description of Measures as an Ordinal and Ratio Scale 51
- 4.5. Characterization of the Measure of McCabe 62
- 4.6. Summary 65
-
5. Models of Programs and their Definitions
- 5.1. Definitions of Control Flowgraphs 67
- 5.2. Definitions of Subflowgraphs and Primes 72
- 5.3. Definitions and Notation for Decomposition of Flowgraphs, Sequence and Nesting 77
- 5.4. Definitions of Structuredness of Flowgraphs 78
- 5.5. Definition of Intervals and Reducibiiity 81
- 5.6. Definition of Loops 82
- 5.7. Definition of Unstructuredness of Flowgraphs 82
- 5.8. Notations Used in this Book 84
-
6. Ideas Behind the Complexity of Programs
- 6.1. Desirable Properties of Measures by Tsai, Lopez, Rodriguez and Volovik 87
- 6.2. Desirable Properties of Measures by Evangeiisti 88
- 6.3. Ideas of Complexity by McCabe 89
- 6.4. Ideas of Complexity by Belady 89
- 6.5. Axioms of Complexity by Piwowarski 89
- 6.6. Axioms of Complexity by Bache 90
- 6.7. Desireable Properties of Complexity Measures by Weyuker 92
- 6.8. Required Properties for Measures by Jayaprakash, Lakshmanan and Sinha 96
- 6.9. Summary 98
-
7. Our Investigation of Software Complexity Measures
- 7.1. Overview of our Investigation of the Measures 99
- 7.2. The "Measure Demonstration System" MDS 100
- 7.3. Atomic Modifications, Partial Properties and the Ordinal Scale 120
- 7.4. Extensive Structure and Binary Operations between Programs 127
- 7.5. Conditions for the Use of Measures as an Ordinal and a Ratio Scale in Practice 128
- 7.6. Summary 131
-
8. Characterization of Software Complexity Measures
- 8.1. Selection of the Software Complexity Measures 138
- 8.2. Measures of Halstead 142
- 8.3. Measure Lines of Code 146
- 8.4. Measures of McCabe and Modifications 151
- 8.5. Measures "Relative and Absolute Logical Complexity" of Gilb 170
- 8.6. Measure "Control Flow Density" of Szentes and Potier 176
- 8.7. Measures of Szentes and Gras 179
- 8.8. Measure of Oviedo 195
- 8.9. Measure PATH of Schneidewind 200
- 8.10. Measures of Whitworth and Szulewski 206
- 8.11. Measures of Hecht and Extensions 221
- 8.12. Measure of Moawad and Hassan and Extensions 234
- 8.13. Measure "Reachability" of Schneidewind 242
- 8.14. Measures of Chen 250
- 8.15. Measures Based on the Prime Decomposition of Flowgraphs 265
- 8.16. Measure of Schmidt and Gong and Extensions 374
- 8.17. Measures Based on Ranges 400
- 8.18. Measures for Analyzing the Unstructuredness of Flowgraphs 458
-
9. Results and Research in the Future
- 9.1. List of the Investigated Measures 511
- 9.2. Partial Properties of the Measures 512
- 9.3. Properties of Measures Related to the Extensive Structure 531
- 9.4. Set of Measures to Measure the Intra-Modular Complexity 538
- 9.5. Measurement Process of Restructure and Software Reuse 551
- 9.6. Wrong and Correct Calculation of the Arithmetic Mean 557
- 9.7. Complexity In Comparison to Reference Programs and Program Versions 558
- 9.8. Validation of a Measure 560
- 9.9. Correlation between Software Complexity Measures 562
- 9.10. Open Problems and Research in the Future 563
- 10. Glossary of Terms 565
- 11. References 573
- Name Index 587
- Subject Index 590
- Measure Index 598
- Definition Index 601
- Backmatter 607
Chapters in this book
- Frontmatter I
- Preface V
- Acknowledgements VI
- Contents IX
- 1. Introduction 1
-
2. Problems in Evaluating the Complexity of Programs
- 2.1. Difficulties in Interpreting the Results of Software Complexity Measurement 7
- 2.2. Problems in Interpreting Numerical Values 21
- 2.3. Problems in Determining the Complexity of Programs 22
- 2.4. Problems in Calculating the Arithmetic Mean 22
- 2.5. Problems in Selecting Appropriate Software Complexity Measures 23
-
3. Discussion about Software Measurement and Measures
- 3.1. What is Software Measurement? 25
- 3.2. An Overview of Software Measurement 27
- 3.3. What are Software Metrics/Measures? 28
- 3.4. Classification of Software Complexity Measures 31
- 3.5. Verbal Definitions of the Term Complexity 34
- 3.6. Limits to the Values of Software Measures 35
- 3.7. Remarks About Measures in Relationship to Measurement Theory and Scales 36
- 3.8. Summary 37
-
4. Measurement Theory and Criteria for Scales
- 4.1. The Definition of the Empirical Relational System and the Formal Relational System 40
- 4.2. The Definition of Scales and Meaningfulness 42
- 4.3. Criteria for Ordinal and Ratio Scales 46
- 4.4. Description of Measures as an Ordinal and Ratio Scale 51
- 4.5. Characterization of the Measure of McCabe 62
- 4.6. Summary 65
-
5. Models of Programs and their Definitions
- 5.1. Definitions of Control Flowgraphs 67
- 5.2. Definitions of Subflowgraphs and Primes 72
- 5.3. Definitions and Notation for Decomposition of Flowgraphs, Sequence and Nesting 77
- 5.4. Definitions of Structuredness of Flowgraphs 78
- 5.5. Definition of Intervals and Reducibiiity 81
- 5.6. Definition of Loops 82
- 5.7. Definition of Unstructuredness of Flowgraphs 82
- 5.8. Notations Used in this Book 84
-
6. Ideas Behind the Complexity of Programs
- 6.1. Desirable Properties of Measures by Tsai, Lopez, Rodriguez and Volovik 87
- 6.2. Desirable Properties of Measures by Evangeiisti 88
- 6.3. Ideas of Complexity by McCabe 89
- 6.4. Ideas of Complexity by Belady 89
- 6.5. Axioms of Complexity by Piwowarski 89
- 6.6. Axioms of Complexity by Bache 90
- 6.7. Desireable Properties of Complexity Measures by Weyuker 92
- 6.8. Required Properties for Measures by Jayaprakash, Lakshmanan and Sinha 96
- 6.9. Summary 98
-
7. Our Investigation of Software Complexity Measures
- 7.1. Overview of our Investigation of the Measures 99
- 7.2. The "Measure Demonstration System" MDS 100
- 7.3. Atomic Modifications, Partial Properties and the Ordinal Scale 120
- 7.4. Extensive Structure and Binary Operations between Programs 127
- 7.5. Conditions for the Use of Measures as an Ordinal and a Ratio Scale in Practice 128
- 7.6. Summary 131
-
8. Characterization of Software Complexity Measures
- 8.1. Selection of the Software Complexity Measures 138
- 8.2. Measures of Halstead 142
- 8.3. Measure Lines of Code 146
- 8.4. Measures of McCabe and Modifications 151
- 8.5. Measures "Relative and Absolute Logical Complexity" of Gilb 170
- 8.6. Measure "Control Flow Density" of Szentes and Potier 176
- 8.7. Measures of Szentes and Gras 179
- 8.8. Measure of Oviedo 195
- 8.9. Measure PATH of Schneidewind 200
- 8.10. Measures of Whitworth and Szulewski 206
- 8.11. Measures of Hecht and Extensions 221
- 8.12. Measure of Moawad and Hassan and Extensions 234
- 8.13. Measure "Reachability" of Schneidewind 242
- 8.14. Measures of Chen 250
- 8.15. Measures Based on the Prime Decomposition of Flowgraphs 265
- 8.16. Measure of Schmidt and Gong and Extensions 374
- 8.17. Measures Based on Ranges 400
- 8.18. Measures for Analyzing the Unstructuredness of Flowgraphs 458
-
9. Results and Research in the Future
- 9.1. List of the Investigated Measures 511
- 9.2. Partial Properties of the Measures 512
- 9.3. Properties of Measures Related to the Extensive Structure 531
- 9.4. Set of Measures to Measure the Intra-Modular Complexity 538
- 9.5. Measurement Process of Restructure and Software Reuse 551
- 9.6. Wrong and Correct Calculation of the Arithmetic Mean 557
- 9.7. Complexity In Comparison to Reference Programs and Program Versions 558
- 9.8. Validation of a Measure 560
- 9.9. Correlation between Software Complexity Measures 562
- 9.10. Open Problems and Research in the Future 563
- 10. Glossary of Terms 565
- 11. References 573
- Name Index 587
- Subject Index 590
- Measure Index 598
- Definition Index 601
- Backmatter 607