Freshly Printed - allow 10 days lead
Perspectives on Data Science for Software Engineering
Assembles the expertise and best practices of leading data scientists in software engineering who describe their experience on topics including data collection, sharing, and mining, and how to utilize these techniques in successful software projects
Tim Menzies (Author), Laurie Williams (Author), Thomas Zimmermann (Author)
9780128042069, Elsevier Science
Paperback, published 12 July 2016
408 pages
23.4 x 19 x 2.6 cm, 0.91 kg
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.
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
Subject Areas: Databases [UN], Software Engineering [UMZ], Library, archive & information management [GLC]