Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010129630 | Q342 D53 2005 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Software systems surround us. Software is a critical component in everything from the family car through electrical power] systems to military equipment. As software ploys an ever-increasing role in our lives and livelihoods, the quality of that software becomes more and more critical. However, our ability to deliver high-quality software has not kept up with those increasing demands. The economic fallout is enormous; the US economy alone is losing over US$50 billion per year due to software failures. This book presents new research into using advanced artificial intelligence techniques to guide software quality improvements. The techniques of chaos theory and data mining arc brought to bear to provide new insights into the software development process. Written for researchers and practitioners in software engineering and computational intelligence, this book is a unique and important bridge between these two fields.
Table of Contents
Dedication | p. v |
Acknowledgements | p. vii |
Foreword | p. ix |
Preface | p. xiii |
Chapter 1 Software Engineering and Artificial Intelligence | p. 1 |
1.1 Introduction | p. 1 |
1.2 Overview of Software Engineering | p. 5 |
1.2.1 The Capability Maturity Model | p. 6 |
1.2.2 Software Life Cycle Models | p. 7 |
1.2.3 Modern Software Development | p. 12 |
1.2.3.1 Requirements Engineering | p. 13 |
1.2.3.2 Software Architecture | p. 16 |
1.2.3.3 OO Design | p. 19 |
1.2.3.4 Design Patterns | p. 20 |
1.2.3.5 Maintenance Cycle | p. 22 |
1.2.4 New Directions | p. 23 |
1.3 Artificial Intelligence in Software Engineering | p. 26 |
1.4 Computational Intelligence | p. 29 |
1.4.1 Fuzzy Sets and Fuzzy Logic | p. 30 |
1.4.2 Artificial Neural Networks | p. 32 |
1.4.3 Genetic Algorithms | p. 34 |
1.4.4 Fractal Sets and Chaotic Systems | p. 35 |
1.4.5 Combined CI Methods | p. 39 |
1.4.6 Case Based Reasoning | p. 40 |
1.4.7 Machine Learning | p. 42 |
1.4.8 Data Mining | p. 43 |
1.5 Computational Intelligence in Software Engineering | p. 44 |
1.6 Remarks | p. 44 |
Chapter 2 Software Testing and Artificial Intelligence | p. 46 |
2.1 Introduction | p. 46 |
2.2 Software Quality | p. 46 |
2.3 Software Testing | p. 52 |
2.3.1 White-Box Testing | p. 53 |
2.3.2 Black-Box Testing | p. 57 |
2.3.3 Testing Graphical User Interfaces | p. 58 |
2.4 Artificial Intelligence in Software Testing | p. 59 |
2.5 Computational Intelligence in Software Testing | p. 61 |
2.6 Remarks | p. 62 |
Chapter 3 Chaos Theory and Software Reliability | p. 65 |
3.1 Introduction | p. 65 |
3.2 Reliability Engineering for Software | p. 71 |
3.2.1 Reliability Engineering | p. 71 |
3.2.1.1 Reliability Analysis | p. 72 |
3.2.1.2 Reliability Testing | p. 77 |
3.2.2 Software Reliability Engineering | p. 79 |
3.2.3 Software Reliability Models | p. 82 |
3.3 Nonlinear Time Series Analysis | p. 87 |
3.3.1 Analytical Techniques | p. 87 |
3.3.2 Software Reliability Data | p. 93 |
3.4 Experimental Results | p. 94 |
3.4.1 State Space Reconstruction | p. 94 |
3.4.2 Test for Determinism | p. 96 |
3.4.3 Dimensions | p. 98 |
3.5 Remarks | p. 98 |
Chapter 4 Data Mining and Software Metrics | p. 107 |
4.1 Introduction | p. 107 |
4.2 Review of Related Work | p. 109 |
4.2.1 Machine Learning for Software Quality | p. 109 |
4.2.2 Fuzzy Cluster Analysis | p. 111 |
4.2.3 Feature Space Reduction | p. 113 |
4.3 Software Change and Software Characteristic Datasets | p. 114 |
4.3.1 The MIS Dataset | p. 114 |
4.3.2 The OOSoft and ProcSoft Datasets | p. 117 |
4.4 Fuzzy Cluster Analysis | p. 119 |
4.4.1 Results for the MIS Dataset | p. 119 |
4.4.2 Results for the ProcSoft Dataset | p. 127 |
4.4.3 Results for OOSoft | p. 129 |
4.4.4 Conclusions from Fuzzy Clustering | p. 131 |
4.5 Data Mining | p. 133 |
4.5.1 The MIS Dataset | p. 133 |
4.5.2 The OOSoft Dataset | p. 135 |
4.5.3 The ProcSoft Dataset | p. 136 |
4.6 Remarks | p. 137 |
Chapter 5 Skewness and Resampling | p. 139 |
5.1 Introduction | p. 139 |
5.2 Machine Learning in Skewed Datasets | p. 140 |
5.3 Experimental Results | p. 144 |
5.4 Proposed Usage | p. 149 |
5.5 Remarks | p. 152 |
Chapter 6 Conclusion | p. 153 |
References | p. 157 |
About the Authors | p. 179 |