Perspectives on Data Science for Software Engineering

  • 6h 23m
  • Laurie Williams, Thomas Zimmermann (eds), Tim Menzies
  • Elsevier Science and Technology Books, Inc.
  • 2016

Perspectives on Data Science for Software Engineering presents the best practices of seasoned data miners in software engineering. The idea for this book was created during the 2014 conference at Dagstuhl, an invitation-only gathering of leading computer scientists who meet to identify and discuss cutting-edge informatics topics.

At the 2014 conference, the concept of how to transfer the knowledge of experts from seasoned software engineers and data scientists to newcomers in the field highlighted many discussions. While there are many books covering data mining and software engineering basics, they present only the fundamentals and lack the perspective that comes from real-world experience. This book offers unique insights into the wisdom of the community’s leaders gathered to share hard-won lessons from the trenches.

Ideas are presented in digestible chapters designed to be applicable across many domains. Topics included cover data collection, data sharing, data mining, and how to utilize these techniques in successful software projects. Newcomers to software engineering data science will learn the tips and tricks of the trade, while more experienced data scientists will benefit from war stories that show what traps to avoid.

  • Presents the wisdom of community experts, derived from a summit on software analytics
  • Provides contributed chapters that share discrete ideas and technique from the trenches
  • Covers top areas of concern, including mining security and social data, data visualization, and cloud-based data
  • Presented in clear chapters designed to be applicable across many domains

About the Editors

Tim Menzies, Full Professor, CS, NC State and a former software research chair at NASA. He has published 200+ publications, many in the area of software analytics. He is an editorial board member (1) IEEE Trans on SE; (2) Automated Software Engineering journal; (3) Empirical Software Engineering Journal. His research includes artificial intelligence, data mining and search-based software engineering. He is best known for his work on the PROMISE open source repository of data for reusable software engineering experiments.

Laurie Williams, Full Professor and Acting Department Head CS, NC State. 180+ publications, many applying software analytics. She is on the editorial boards of IEEE Trans on SE; (2) Information and Software Technology; and (3) IEEE Software.

Thomas Zimmermann is a researcher in the Research in Software Engineering (RiSE) group at Microsoft Research, adjunct assistant professor at the University of Calgary, and affiliate faculty at University of Washington. He is best known for his work on systematic mining of version archives and bug databases to conduct empirical studies and to build tools to support developers and managers.

In this Book

  • Data Science for Software Engineering
  • 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
  • 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
  • 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
  • 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