The Art and Science of Analyzing Software Data provides valuable information on analysis techniques often used to derive insight from software data. This book shares best practices in the field generated by leading data scientists, collected from their experience training software engineering students and practitioners to master data science.
The book covers topics such as the analysis of security data, code reviews, app stores, log files, and user telemetry, among others. It covers a wide variety of techniques such as co-change analysis, text analysis, topic analysis, and concept analysis, as well as advanced topics such as release planning and generation of source code comments. It includes stories from the trenches from expert data scientists illustrating how to apply data analysis in industry and open source, present results to stakeholders, and drive decisions.
is a researcher in the empirical software engineering group at Microsoft Research. He is primarily interested in the relationship between software design, social dynamics, and processes in large development projects. He has studied software development teams at Microsoft, IBM, and in the Open Source realm, examining the effects of distributed development, ownership policies, and the ways in which teams complete software tasks. He has published in the top Software Engineering venues and is the recipient of the ACM SIGSOFT distinguished paper award. 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. 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. He received two ACM SIGSOFT Distinguished Paper Awards for his work published at the ICSE '07 and FSE '08 conferences.
Past, Present, and Future of Analyzing Software Data Part 1 TUTORIAL-TECHNIQUES Mining Patterns and Violations Using Concept Analysis Analyzing Text in Software Projects Synthesizing Knowledge from Software Development Artifacts A Practical Guide to Analyzing IDE Usage Data Latent Dirichlet Allocation: Extracting Topics from Software Engineering Data Tools and Techniques for Analyzing Product and Process Data PART 2 DATA/PROBLEM FOCUSSED Analyzing Security Data A Mixed Methods Approach to Mining Code Review Data: Examples and a Study of Multicommit Reviews and Pull Requests Mining Android Apps for Anomalies Change Coupling Between Software Artifacts: Learning from Past Changes PART 3 STORIES FROM THE TRENCHES Applying Software Data Analysis in Industry Contexts: When Research Meets Reality Using Data to Make Decisions in Software Engineering: Providing a Method to our Madness Community Data for OSS Adoption Risk Management Assessing the State of Software in a Large Enterprise: A 12-Year Retrospective Lessons Learned from Software Analytics in Practice PART 4 ADVANCED TOPICS Code Comment Analysis for Improving Software Quality Mining Software Logs for Goal-Driven Root Cause Analysis Analytical Product Release Planning PART 5 DATA ANALYSIS AT SCALE (BIG DATA) Boa: An Enabling Language and Infrastructure for Ultra-Large-Scale MSR Studies Scalable Parallelization of Specification Mining Using Distributed Computing