Atnaujinkite slapukų nuostatas

Empirical Research in Software Engineering: Concepts, Analysis, and Applications [Kietas viršelis]

(Delhi Technological University, India)
  • Formatas: Hardback, 472 pages, aukštis x plotis: 254x178 mm, weight: 1060 g, 185 Tables, black and white; 140 Illustrations, black and white
  • Išleidimo metai: 05-Oct-2015
  • Leidėjas: Chapman & Hall/CRC
  • ISBN-10: 1498719724
  • ISBN-13: 9781498719728
Kitos knygos pagal šią temą:
  • Formatas: Hardback, 472 pages, aukštis x plotis: 254x178 mm, weight: 1060 g, 185 Tables, black and white; 140 Illustrations, black and white
  • Išleidimo metai: 05-Oct-2015
  • Leidėjas: Chapman & Hall/CRC
  • ISBN-10: 1498719724
  • ISBN-13: 9781498719728
Kitos knygos pagal šią temą:
Empirical research has now become an essential component of software engineering yet software practitioners and researchers often lack an understanding of how the empirical procedures and practices are applied in the field. Empirical Research in Software Engineering: Concepts, Analysis, and Applications shows how to implement empirical research processes, procedures, and practices in software engineering.

Written by a leading researcher in empirical software engineering, the book describes the necessary steps to perform replicated and empirical research. It explains how to plan and design experiments, conduct systematic reviews and case studies, and analyze the results produced by the empirical studies.



The book balances empirical research concepts with exercises, examples, and real-life case studies, making it suitable for a course on empirical software engineering. The author discusses the process of developing predictive models, such as defect prediction and change prediction, on data collected from source code repositories. She also covers the application of machine learning techniques in empirical software engineering, includes guidelines for publishing and reporting results, and presents popular software tools for carrying out empirical studies.

Recenzijos

"In this book, Dr. Malhotra uses her breadth of software engineering experience and expertise to give the reader coverage of many aspects of empirical software engineering. She covers the essential techniques and concepts needed for a researcher to get started on empirical software engineering research, including metrics, experimental design, analysis and statistical techniques, threats to the validity of any research findings, and methods and tools for empirical software engineering research. The book provides the reader with an introduction and overview of the field and is also backed by references to the literature, allowing the interested reader to follow up on the methods, tools, and concepts described." From the Foreword by Mark Harman, University College London

Foreword xix
Preface xxi
Acknowledgments xxiii
Author xxv
1 Introduction 1(32)
1.1 What Is Empirical Software Engineering?
1(1)
1.2 Overview of Empirical Studies
2(1)
1.3 Types of Empirical Studies
3(5)
1.3.1 Experiment
4(1)
1.3.2 Case Study
5(1)
1.3.3 Survey Research
6(1)
1.3.4 Systematic Reviews
7(1)
1.3.5 Postmortem Analysis
8(1)
1.4 Empirical Study Process
8(5)
1.4.1 Study Definition
9(1)
1.4.2 Experiment Design
10(1)
1.4.3 Research Conduct and Analysis
11(1)
1.4.4 Results Interpretation
12(1)
1.4.5 Reporting
12(1)
1.4.6 Characteristics of a Good Empirical Study
12(1)
1.5 Ethics of Empirical Research
13(3)
1.5.1 Informed Content
14(1)
1.5.2 Scientific Value
15(1)
1.5.3 Confidentiality
15(1)
1.5.4 Beneficence
15(1)
1.5.5 Ethics and Open Source Software
15(1)
1.5.6 Concluding Remarks
15(1)
1.6 Importance of Empirical Research
16(1)
1.6.1 Software Industry
16(1)
1.6.2 Academicians
16(1)
1.6.3 Researchers
17(1)
1.7 Basic Elements of Empirical Research
17(1)
1.8 Some Terminologies
18(10)
1.8.1 Software Quality and Software Evolution
18(2)
1.8.2 Software Quality Attributes
20(1)
1.8.3 Measures Measurements and Metrics
20(2)
1.8.4 Descriptive Correlational and Cause-Effect Research
22(1)
1.8.5 Classification and Prediction
22(1)
1.8.6 Quantitative and Qualitative Data
22(1)
1.8.7 Independent Dependent and Confounding Variables
23(1)
1.8.8 Proprietary Open Source and University Software
24(1)
1.8.9 Within-Company and Cross-Company Analysis
25(1)
1.8.10 Parametric and Nonparametric Tests
26(1)
1.8.11 Goal/Question/Metric Method
26(2)
1.8.12 Software Archive or Repositories
28(1)
1.9 Concluding Remarks
28(1)
Exercises
28(1)
Further Readings
29(4)
2 Systematic Literature Reviews 33(32)
2.1 Basic Concepts
33(3)
2.1.1 Survey versus SRs
33(1)
2.1.2 Characteristics of SRs
34(1)
2.1.3 Importance of SRs
35(1)
2.1.4 Stages of SRs
35(1)
2.2 Case Study
36(1)
2.3 Planning the Review
37(9)
2.3.1 Identify the Need for SR
37(1)
2.3.2 Formation of Research Questions
38(1)
2.3.3 Develop Review Protocol
39(6)
2.3.4 Evaluate Review Protocol
45(1)
2.4 Methods for Presenting Results
46(5)
2.4.1 Tools and Techniques
46(3)
2.4.2 Forest Plots
49(2)
2.4.3 Publication Bias
51(1)
2.5 Conducting the Review
51(5)
2.5.1 Search Strategy Execution
51(2)
2.5.2 Selection of Primary Studies
53(1)
2.5.3 Study Quality Assessment
53(1)
2.5.4 Data Extraction
53(1)
2.5.5 Data Synthesis
53(3)
2.6 Reporting the Review
56(2)
2.7 SRs in Software Engineering
58(2)
Exercises
60(1)
Further Readings
61(4)
3 Software Metrics 65(38)
3.1 Introduction
65(2)
3.1.1 What Are Software Metrics?
66(1)
3.1.2 Application Areas of Metrics
66(1)
3.1.3 Characteristics of Software Metrics
67(1)
3.2 Measurement Basics
67(4)
3.2.1 Product and Process Metrics
68(1)
3.2.2 Measurement Scale
69(2)
3.3 Measuring Size
71(1)
3.4 Measuring Software Quality
72(4)
3.4.1 Software Quality Metrics Based on Defects
72(2)
3.4.1.1 Defect Density
72(1)
3.4.1.2 Phase-Based Defect Density
73(1)
3.4.1.3 Defect Removal Effectiveness
73(1)
3.4.2 Usability Metrics
74(1)
3.4.3 Testing Metrics
75(1)
3.5 OO Metrics
76(13)
3.5.1 Popular OO Metric Suites
77(2)
3.5.2 Coupling Metrics
79(4)
3.5.3 Cohesion Metrics
83(2)
3.5.4 Inheritance Metrics
85(1)
3.5.5 Reuse Metrics
86(2)
3.5.6 Size Metrics
88(1)
3.6 Dynamic Software Metrics
89(1)
3.6.1 Dynamic Coupling Metrics
89(1)
3.6.2 Dynamic Cohesion Metrics
89(1)
3.6.3 Dynamic Complexity Metrics
90(1)
3.7 System Evolution and Evolutionary Metrics
90(2)
3.7.1 Revisions Refactorings and Bug-Fixes
91(1)
3.7.2 LOC Based
91(1)
3.7.3 Code Churn Based
91(1)
3.7.4 Miscellaneous
92(1)
3.8 Validation of Metrics
92(1)
3.9 Practical Relevance
93(7)
3.9.1 Designing a Good Quality System
93(1)
3.9.2 Which Software Metrics to Select?
94(1)
3.9.3 Computing Thresholds
95(4)
3.9.3.1 Statistical Model to Compute Threshold
96(2)
3.9.3.2 Usage of ROC Curve to Calculate the Threshold Values
98(1)
3.9.4 Practical Relevance and Use of Software Metrics in Research
99(1)
3.9.5 Industrial Relevance of Software Metrics
100(1)
Exercises
100(1)
Further Readings
101(2)
4 Experimental Design 103(40)
4.1 Overview of Experimental Design
103(1)
4.2 Case Study: Fault Prediction Systems
103(3)
4.2.1 Objective of the Study
104(1)
4.2.2 Motivation
104(1)
4.2.3 Study Context
105(1)
4.2.4 Results
105(1)
4.3 Research Questions
106(3)
4.3.1 How to Form RQ?
106(1)
4.3.2 Characteristics of an RQ
107(1)
4.3.3 Example: RQs Related to FPS
108(1)
4.4 Reviewing the Literature
109(8)
4.4.1 What Is a Literature Review?
109(1)
4.4.2 Steps in a Literature Review
110(1)
4.4.3 Guidelines for Writing a Literature Review
111(1)
4.4.4 Example: Literature Review in FPS
112(5)
4.5 Research Variables
117(1)
4.5.1 Independent and Dependent Variables
117(1)
4.5.2 Selection of Variables
118(1)
4.5.3 Variables Used in Software Engineering
118(1)
4.5.4 Example: Variables Used in the FPS
118(1)
4.6 Terminology Used in Study Types
118(2)
4.7 Hypothesis Formulation
120(11)
4.7.1 Experiment Design Types
120(1)
4.7.2 What Is Hypothesis?
121(1)
4.7.3 Purpose and Importance of Hypotheses in an Empirical Research
121(1)
4.7.4 How to Form a Hypothesis?
122(2)
4.7.5 Steps in Hypothesis Testing
124(5)
4.7.5.1 Step 1: State the Null and Alternative Hypothesis
124(2)
4.7.5.2 Step 2: Choose the Test of Significance
126(1)
4.7.5.3 Step 3: Compute the Test Statistic and Associated p-Value
126(1)
4.7.5.4 Step 4: Define Significance Level
127(1)
4.7.5.5 Step 5: Derive Conclusions
127(2)
4.7.6 Example: Hypothesis Formulation in FPS
129(2)
4.7.6.1 Hypothesis Set A
130(1)
4.7.6.2 Hypothesis Set B
130(1)
4.8 Data Collection
131(5)
4.8.1 Data-Collection Strategies
131(1)
4.8.2 Data Collection from Repositories
132(2)
4.8.3 Example: Data Collection in FPS
134(2)
4.9 Selection of Data Analysis Methods
136(3)
4.9.1 Type of Dependent Variable
137(1)
4.9.2 Nature of the Data Set
137(1)
4.9.3 Aspects of Data Analysis Methods
138(1)
Exercises
139(1)
Further Readings
140(3)
5 Mining Data from Software Repositories 143(64)
5.1 Configuration Management Systems
143(4)
5.1.1 Configuration Identification
144(1)
5.1.2 Configuration Control
144(2)
5.1.3 Configuration Accounting
146(1)
5.2 Importance of Mining Software Repositories
147(1)
5.3 Common Types of Software Repositories
147(3)
5.3.1 Historical Repositories
148(1)
5.3.2 Run-Time Repositories or Deployment Logs
149(1)
5.3.3 Source Code Repositories
150(1)
5.4 Understanding Systems
150(1)
5.4.1 System Characteristics
150(1)
5.4.2 System Evolution
151(1)
5.5 Version Control Systems
151(4)
5.5.1 Introduction
151(2)
5.5.2 Classification of VCS
153(3)
5.5.2.1 Local VCS
153(1)
5.5.2.2 Centralized VCS
153(1)
5.5.2.3 Distributed VCS
154(1)
5.6 Bug Tracking Systems
155(1)
5.7 Extracting Data from Software Repositories
156(14)
5.7.1 CVS
157(2)
5.7.2 SVN
159(3)
5.7.3 Git
162(4)
5.7.4 Bugzilla
166(3)
5.7.5 Integrating Bugzilla with Other VCS
169(1)
5.8 Static Source Code Analysis
170(5)
5.8.1 Level of Detail
171(1)
5.8.1.1 Method Level
171(1)
5.8.1.2 Class Level
171(1)
5.8.1.3 File Level
171(1)
5.8.1.4 System Level
172(1)
5.8.2 Metrics
172(1)
5.8.3 Software Metrics Calculation Tools
173(2)
5.9 Software Historical Analysis
175(5)
5.9.1 Understanding Dependencies in a System
176(1)
5.9.2 Change Impact Analysis
177(1)
5.9.3 Change Propagation
177(1)
5.9.4 Defect Proneness
178(1)
5.9.5 User and Team Dynamics Understanding
178(1)
5.9.6 Change Prediction
178(1)
5.9.7 Mining Textual Descriptions
179(1)
5.9.8 Social Network Analysis
179(1)
5.9.9 Change Smells and Refactoring
180(1)
5.9.10 Effort Estimation
180(1)
5.10 Software Engineering Repositories and Open Research Data Sets
180(7)
5.10.1 FLOSSmole
180(1)
5.10.2 FLOSSMetrics
181(1)
5.10.3 PRedictOr Models In Software Engineering
182(1)
5.10.4 Qualitas Corpus
182(1)
5.10.5 Sourcerer Project
182(1)
5.10.6 Ultimate Debian Database
183(1)
5.10.7 Bug Prediction Data Set
183(1)
5.10.8 International Software Benchmarking Standards Group
184(1)
5.10.9 Eclipse Bug Data
184(1)
5.10.10 Software-Artifact Infrastructure Repository
184(1)
5.10.11 Ohloh
185(1)
5.10.12 SourceForge Research Data Archive
185(1)
5.10.13 Helix Data Set
186(1)
5.10.14 Tukutuku
186(1)
5.10.15 Source Code ECO System Linked Data
186(1)
5.11 Case Study: Defect Collection and Reporting System for Git Repository
187(16)
5.11.1 Introduction
187(1)
5.11.2 Motivation
188(1)
5.11.3 Working Mechanism
188(2)
5.11.4 Data Source and Dependencies
190(1)
5.11.5 Defect Reports
191(8)
5.11.5.1 Defect Details Report
191(2)
5.11.5.2 Defect Count and Metrics Report
193(1)
5.11.5.3 LOC Changes Report
194(1)
5.11.5.4 Newly Added Source Files
195(1)
5.11.5.5 Deleted Source Files
196(1)
5.11.5.6 Consolidated Defect and Change Report
197(1)
5.11.5.7 Descriptive Statistics Report for the Incorporated Metrics
198(1)
5.11.6 Additional Features
199(3)
5.11.6.1 Cloning of Git-Based Software Repositories
199(2)
5.11.6.2 Self-Logging
201(1)
5.11.7 Potential Applications of DCRS
202(1)
5.11.7.1 Defect Prediction Studies
202(1)
5.11.7.2 Change-Proneness Studies
203(1)
5.11.7.3 Statistical Comparison
203(1)
5.11.8 Concluding Remarks
203(1)
Exercises
203(1)
Further Readings
204(3)
6 Data Analysis and Statistical Testing 207(68)
6.1 Analyzing the Metric Data
207(12)
6.1.1 Measures of Central Tendency
207(4)
6.1.1.1 Mean
207(1)
6.1.1.2 Median
208(1)
6.1.1.3 Mode
209(1)
6.1.1.4 Choice of Measures of Central Tendency
209(2)
6.1.2 Measures of Dispersion
211(1)
6.1.3 Data Distributions
212(1)
6.1.4 Histogram Analysis
213(1)
6.1.5 Outlier Analysis
213(5)
6.1.5.1 Box Plots
214(2)
6.1.5.2 Z-Score
216(2)
6.1.6 Correlation Analysis
218(1)
6.1.7 Example-Descriptive Statistics of Fault Prediction System
218(1)
6.2 Attribute Reduction Methods
219(4)
6.2.1 Attribute Selection
221(1)
6.2.1.1 Univariate Analysis
222(1)
6.2.1.2 Correlation-Based Feature Selection
222(1)
6.2.2 Attribute Extraction
222(1)
6.2.2.1 Principal Component Method
222(1)
6.2.3 Discussion
223(1)
6.3 Hypothesis Testing
223(2)
6.3.1 Introduction
224(1)
6.3.2 Steps in Hypothesis Testing
224(1)
6.4 Statistical Testing
225(38)
6.4.1 Overview of Statistical Tests
225(1)
6.4.2 Categories of Statistical Tests
225(1)
6.4.3 One-Tailed and Two Tailed Tests
226(2)
6.4.4 Type I and Type II Errors
228(1)
6.4.5 Interpreting Significance Results
229(1)
6.4.6 t-Test
229(6)
6.4.6.1 One Sample t-Test
229(3)
6.4.6.2 Two Sample t-Test
232(1)
6.4.6.3 Paired t-Test
233(2)
6.4.7 Chi-Squared Test
235(7)
6.4.8 F-Test
242(2)
6.4.9 Analysis of Variance Test
244(3)
6.4.9.1 One-Way ANOVA
244(3)
6.4.10 Wilcoxon Signed Test
247(3)
6.4.11 Wilcoxon-Mann-Whitney Test (U-Test)
250(4)
6.4.12 Kruskal-Wallis Test
254(3)
6.4.13 Friedman Test
257(2)
6.4.14 Nemenyi Test
259(2)
6.4.15 Bonferroni-Dunn Test
261(2)
6.4.16 Univariate Analysis
263(1)
6.5 Example-Univariate Analysis Results for Fault Prediction System
263(2)
Exercises
265(6)
Further Readings
271(4)
7 Model Development and Interpretation 275(56)
7.1 Model Development
275(5)
7.1.1 Data Partition
276(1)
7.1.2 Attribute Reduction
277(1)
7.1.3 Model Construction using Learning Algorithms/Techniques
277(1)
7.1.4 Validating the Model Predicted
277(1)
7.1.5 Hypothesis Testing
278(1)
7.1.6 Interpretation of Results
278(1)
7.1.7 Example-Software Quality Prediction System
278(2)
7.2 Statistical Multiple Regression Techniques
280(1)
7.2.1 Multivariate Analysis
280(1)
7.2.2 Coefficients and Selection of Variables
280(1)
7.3 Machine Learning Techniques
281(9)
7.3.1 Categories of ML Techniques
281(1)
7.3.2 Decision Trees
282(1)
7.3.3 Bayesian Learners
282(1)
7.3.4 Ensemble Learners
282(1)
7.3.5 Neural Networks
283(2)
7.3.6 Support Vector Machines
285(1)
7.3.7 Rule-Based Learning
286(1)
7.3.8 Search-Based Techniques
287(3)
7.4 Concerns in Model Prediction
290(2)
7.4.1 Problems with Model Prediction
290(1)
7.4.2 Multicollinearity Analysis
290(1)
7.4.3 Guidelines for Selecting Learning Techniques
291(1)
7.4.4 Dealing with Imbalanced Data
291(1)
7.4.5 Parameter Tuning
292(1)
7.5 Performance Measures for Categorical Dependent Variable
292(12)
7.5.1 Confusion Matrix
292(2)
7.5.2 Sensitivity and Specificity
294(1)
7.5.3 Accuracy and Precision
295(1)
7.5.4 Kappa Coefficient
295(1)
7.5.5 F-measure G-measure and G-mean
295(3)
7.5.6 Receiver Operating Characteristics Analysis
298(4)
7.5.6.1 ROC Curve
298(2)
7.5.6.2 Area Under the ROC Curve
300(1)
7.5.6.3 Cutoff Point and Co-Ordinates of the ROC Curve
300(2)
7.5.7 Guidelines for Using Performance Measures
302(2)
7.6 Performance Measures for Continuous Dependent Variable
304(2)
7.6.1 Mean Relative Error
304(1)
7.6.2 Mean Absolute Relative Error
304(1)
7.6.3 PRED (A)
305(1)
7.7 Cross-Validation
306(3)
7.7.1 Hold-Out Validation
307(1)
7.7.2 K-Fold Cross-Validation
307(1)
7.7.3 Leave-One-Out Validation
307(2)
7.8 Model Comparison Tests
309(1)
7.9 Interpreting the Results
310(5)
7.9.1 Analyzing Performance Measures
310(2)
7.9.2 Presenting Qualitative and Quantitative Results
312(1)
7.9.3 Drawing Conclusions from Hypothesis Testing
312(1)
7.9.4 Example-Discussion of Results in Hypothesis Testing Using Univariate Analysis for Fault Prediction System
312(3)
7.10 Example-Comparing ML Techniques for Fault Prediction
315(8)
Exercises
323(1)
Further Readings
324(7)
8 Validity Threats 331(22)
8.1 Categories of Threats to Validity
331(6)
8.1.1 Conclusion Validity
331(2)
8.1.2 Internal Validity
333(1)
8.1.3 Construct Validity
334(1)
8.1.4 External Validity
335(2)
8.1.5 Essential Validity Threats
337(1)
8.2 Example-Threats to Validity in Fault Prediction System
337(4)
8.2.1 Conclusion Validity
337(2)
8.2.2 Internal Validity
339(1)
8.2.3 Construct Validity
339(1)
8.2.4 External Validity
340(1)
8.3 Threats and Their Countermeasures
341(9)
Exercises
350(1)
Further Readings
350(3)
9 Reporting Results 353(12)
9.1 Reporting and Presenting Results
353(6)
9.1.1 When to Disseminate or Report Results?
354(1)
9.1.2 Where to Disseminate or Report Results?
354(1)
9.1.3 Report Structure
355(6)
9.1.3.1 Abstract
356(1)
9.1.3.2 Introduction
357(1)
9.1.3.3 Related Work
357(1)
9.1.3.4 Experimental Design
357(1)
9.1.3.5 Research Methods
358(1)
9.1.3.6 Research Results
358(1)
9.1.3.7 Discussion and Interpretation
359(1)
9.1.3.8 Threats to Validity
359(1)
9.1.3.9 Conclusions
359(1)
9.1.3.10 Acknowledgment
359(1)
9.1.3.11 References
359(1)
9.1.3.12 Appendix
359(1)
9.2 Guidelines for Masters and Doctoral Students
359(2)
9.3 Research Ethics and Misconduct
361(1)
9.3.1 Plagiarism
362(1)
Exercises
362(1)
Further Readings
363(2)
10 Mining Unstructured Data 365(26)
10.1 Introduction
365(3)
10.1.1 What Is Unstructured Data?
366(1)
10.1.2 Multiple Classifications
366(1)
10.1.3 Importance of Text Mining
367(1)
10.1.4 Characteristics of Text Mining
367(1)
10.2 Steps in Text Mining
368(10)
10.2.1 Representation of Text Documents
368(1)
10.2.2 Preprocessing Techniques
368(4)
10.2.2.1 Tokenization
370(1)
10.2.2.2 Removal of Stop Words
370(1)
10.2.2.3 Stemming Algorithm
371(1)
10.2.3 Feature Selection
372(3)
10.2.4 Constructing a Vector Space Model
375(2)
10.2.5 Predicting and Validating the Text Classifier
377(1)
10.3 Applications of Text Mining in Software Engineering
378(1)
10.3.1 Mining the Fault Reports to Predict the Severity of the Faults
378(1)
10.3.2 Mining the Change Logs to Predict the Effort
378(1)
10.3.3 Analyzing the SRS Document to Classify Requirements into NFRs
378(1)
10.4 Example-Automated Severity Assessment of Software Defect Reports
379(8)
10.4.1 Introduction
379(1)
10.4.2 Data Source
380(1)
10.4.3 Experimental Design
380(2)
10.4.4 Result Analysis
382(3)
10.4.5 Discussion of Results
385(2)
10.4.6 Threats to Validity
387(1)
10.4.7 Conclusion
387(1)
Exercises
387(1)
Further Readings
388(3)
11 Demonstrating Empirical Procedures 391(38)
11.1 Abstract
391(1)
11.1.1 Basic
391(1)
11.1.2 Method
392(1)
11.1.3 Results
392(1)
11.2 Introduction
392(2)
11.2.1 Motivation
392(1)
11.2.2 Objectives
392(1)
11.2.3 Method
393(1)
11.2.4 Technique Selection
393(1)
11.2.5 Subject Selection
394(1)
11.3 Related Work
394(1)
11.4 Experimental Design
395(6)
11.4.1 Problem Definition
395(1)
11.4.2 Research Questions
395(1)
11.4.3 Variables Selection
396(1)
11.4.4 Hypothesis Formulation
397(1)
11.4.4.1 Hypothesis Set
397(1)
11.4.5 Statistical Tests
398(1)
11.4.6 Empirical Data Collection
399(1)
11.4.7 Technique Selection
400(1)
11.4.8 Analysis Process
401(1)
11.5 Research Methodology
401(3)
11.5.1 Description of Techniques
401(3)
11.5.2 Performance Measures and Validation Method
404(1)
11.6 Analysis Results
404(16)
11.6.1 Descriptive Statistics
404(4)
11.6.2 Outlier Analysis
408(1)
11.6.3 CFS Results
408(1)
11.6.4 Tenfold Cross-Validation Results
408(8)
11.6.5 Hypothesis Testing and Evaluation
416(3)
11.6.6 Nemenyi Results
419(1)
11.7 Discussion and Interpretation of Results
420(3)
11.8 Validity Evaluation
423(1)
11.8.1 Conclusion Validity
423(1)
11.8.2 Internal Validity
423(1)
11.8.3 Construct Validity
423(1)
11.8.4 External Validity
423(1)
11.9 Conclusions and Future Work
424(1)
Appendix
425(4)
12 Tools for Analyzing Data 429(16)
12.1 WEKA
429(1)
12.2 KEEL
429(1)
12.3 SPSS
430(1)
12.4 MATLAB®
430(1)
12.5 R
431(1)
12.6 Comparison of Tools
431(3)
Further Readings
434(3)
Appendix: Statistical Tables
437(8)
References 445(14)
Index 459
Ruchika Malhotra is an assistant professor in the Department of Software Engineering at Delhi Technological University (formerly Delhi College of Engineering). She was awarded the prestigious UGC Raman Fellowship for pursuing post-doctoral research in the Department of Computer and Information Science at Indiana UniversityPurdue University. She received her masters and doctorate degrees in software engineering from the University School of Information Technology of Guru Gobind Singh Indraprastha University. She received the IBM Best Faculty Award in 2013 and has published more than 100 research papers in international journals and conferences. Her research interests include software testing, improving software quality, statistical and adaptive prediction models, software metrics, neural nets modeling, and the definition and validation of software metrics.