Table of Contents
Introduction
Perspectives on data science for software engineering
Software analytics and its application in practice
Seven principles of inductive software engineering: What we do is different
The need for data analysis patterns (in software engineering)
From software data to software theory: The path less traveled
Why theory matters
Success Stories/Applications
Mining apps for anomalies
Embrace dynamic artifacts
Mobile app store analytics
The naturalness of software
Advances in release readiness
How to tame your online services
Measuring individual productivity
Stack traces reveal attack surfaces
Visual analytics for software engineering data
Gameplay data plays nicer when divided into cohorts
A success story in applying data science in practice
There's never enough time to do all the testing you want
The perils of energy mining: measure a bunch, compare just once
Identifying fault-prone files in large industrial software systems
A tailored suit: The big opportunity in personalizing issue tracking
What counts is decisions, not numbers—Toward an analytics design sheet
A large ecosystem study to understand the effect of programming languages on code quality
Code reviews are not for finding defects—Even established tools need occasional evaluation
Techniques
Interviews
Look for state transitions in temporal data
Card-sorting: From text to themes
Tools! Tools! We need tools!
Evidence-based software engineering
Which machine learning method do you need?
Structure your unstructured data first!: The case of summarizing unstructured data with tag clouds
Parse that data! Practical tips for preparing your raw data for analysis
Natural language processing is no free lunch
Aggregating empirical evidence for more trustworthy decisions
If it is software engineering, it is (probably) a Bayesian factor
Becoming Goldilocks: Privacy and data sharing in “just right conditions
The wisdom of the crowds in predictive modeling for software engineering
Combining quantitative and qualitative methods (when mining software data)
A process for surviving survey design and sailing through survey deployment
Wisdom
Log it all?
Why provenance matters
Open from the beginning
Reducing time to insight
Five steps for success: How to deploy data science in your organizations
How the release process impacts your software analytics
Security cannot be measured
Gotchas from mining bug reports
Make visualization part of your analysis process
Don't forget the developers! (and be careful with your assumptions)
Limitations and context of research
Actionable metrics are better metrics
Replicated results are more trustworthy
Diversity in software engineering research
Once is not enough: Why we need replication
Mere numbers aren't enough: A plea for visualization
Don’t embarrass yourself: Beware of bias in your data
Operational data are missing, incorrect, and decontextualized
Data science revolution in process improvement and assessment?
Correlation is not causation (or, when not to scream “Eureka!)
Software analytics for small software companies: More questions than answers
Software analytics under the lamp post (or what star trek teaches us about the importance of asking the right questions)
What can go wrong in software engineering experiments?
One size does not fit all
While models are good, simple explanations are better
The white-shirt effect: Learning from failed expectations
Simpler questions can lead to better insights
Continuously experiment to assess values early on
Lies, damned lies, and analytics: Why big data needs thick data
The world is your test suite