Chapter 1: Past, Present, and Future of Analyzing Software Data
Chapter 2: Mining Patterns and Violations Using Concept Analysis
2.4 Mining Shopping Carts with Colibri
2.7 Two Patterns or One Violation?
Chapter 3: Analyzing Text in Software Projects
3.2 Textual Software Project Data and Retrieval
Chapter 4: Synthesizing Knowledge from Software Development Artifacts
Chapter 5: A Practical Guide to Analyzing IDE Usage Data
5.2 Usage Data Research Concepts
5.5 Limits of What You Can Learn from Usage Data
Chapter 6: Latent Dirichlet Allocation: Extracting Topics from Software Engineering Data
6.2 Applications of LDA in Software Analysis
6.5 Pitfalls and Threats to Validity
Chapter 7: Tools and Techniques for Analyzing Product and Process Data
7.2 A Rational Analysis Pipeline
7.5 Analysis of Configuration Management Data
Chapter 8: Analyzing Security Data
8.3 Measuring Vulnerability Severity
8.4 Method of Collecting and Analyzing Vulnerability Data
8.5 What Security Data has Told Us Thus Far
9.2 Motivation for a Mixed Methods Approach
9.4 Quantitative Replication Study: Code Review on Branches
Chapter 10: Mining Android Apps for Anomalies
10.2 Clustering Apps by Description
10.3 Identifying Anomalies by APIs
10.6 Conclusion and Future Work
Chapter 11: Change Coupling Between Software Artifacts: Learning from Past Changes
11.3 Change Coupling Identification Approaches
11.4 Challenges in Change Coupling Identification
11.5 Change Coupling Applications
Part 3: Stories from the Trenches
Chapter 12: Applying Software Data Analysis in Industry Contexts: When Research Meets Reality
12.3 Six Key Issues when Implementing a Measurement Program in Industry
Chapter 13: Using Data to Make Decisions in Software Engineering: Providing a Method to our Madness
13.2 Short History of Software Engineering Metrics
13.5 Challenges with Data Analysis on Software Projects
13.6 Example of Changing Product Development Through the Use of Data
13.7 Driving Software Engineering Processes with Data
Chapter 14: Community Data for OSS Adoption Risk Management
14.3 An Approach to OSS Risk Adoption Management
14.4 OSS Communities Structure and Behavior Analysis: The XWiki Case
14.5 A Risk Assessment Example: The Moodbile Case
Chapter 15: Assessing the State of Software in a Large Enterprise: A 12-Year Retrospective
15.2 Evolution of the Process and the Assessment
15.3 Impact Summary of the State of Avaya Software Report
15.4 Assessment Approach and Mechanisms
15.8 Assessment Follow-up: Recommendations and Impact
15.9 Impact of the Assessments
Chapter 16: Lessons Learned from Software Analytics in Practice
Chapter 17: Code Comment Analysis for Improving Software Quality
17.2 Text Analytics: Techniques, Tools, and Measures
17.4 Automated Code Comment Analysis for Specification Mining and Bug Detection
17.5 Studies and Analysis of API Documentation
17.6 Future Directions and Challenges
Chapter 18: Mining Software Logs for Goal-Driven Root Cause Analysis
18.2 Approaches to Root Cause Analysis
18.3 Root Cause Analysis Framework Overview
18.4 Modeling Diagnostics for Root Cause Analysis
18.7 Root Cause Analysis for Failures Induced by Internal Faults
18.8 Root Cause Analysis for Failures due to External Threats
Chapter 19: Analytical Product Release Planning
19.1 Introduction and Motivation
19.2 Taxonomy of Data-intensive Release Planning Problems
19.3 Information Needs for Software Release Planning
19.4 The Paradigm of Analytical Open Innovation
19.5 Analytical Release Planning—A Case Study
19.6 Summary and Future Research
19.7 Appendix: Feature Dependency Constraints
Part 5: Data Analysis at Scale (Big Data)
Chapter 20: Boa: An Enabling Language and Infrastructure for Ultra-Large-Scale MSR Studies
20.3 Boa’s Syntax and Semantics
20.4 Mining Project and Repository Metadata
20.5 Mining Source Code with Visitors
20.6 Guidelines for Replicable Research
Project and Repository Metadata Problems
Chapter 21: Scalable Parallelization of Specification Mining Using Distributed Computing
21.3 Distributed Specification Mining