SlideShare a Scribd company logo
1 of 68
Analytics for Smarter
               Software Development

               Thomas Zimmermann
               Microsoft Research, USA




© Microsoft Corporation
© Microsoft Corporation
40 percent of major
decisions are based
not on facts, but on
the manager’s gut.
Accenture survey among 254 US managers in industry.
http://newsroom.accenture.com/article_display.cfm?article_id=4777

© Microsoft Corporation
analytics is the use
of analysis, data, and
systematic reasoning
to make decisions.
Definition by Thomas H. Davenport, Jeanne G. Harris
Analytics at Work – Smarter Decisions, Better Results

© Microsoft Corporation
software analytics: empower
software development teams to
gain and share insight
from their data to make better
decisions.
Raymond Buse, Thomas Zimmermann: Information Needs for Software
Development Analytics. ICSE 2012 SEIP Track.
http://research.microsoft.com/apps/pubs/default.aspx?id=172578
© Microsoft Corporation
Smart analytics             Usage analytics


© Microsoft Corporation     © Microsoft Corporation




    Development analytics        The future

  © Microsoft Corporation
© Microsoft Corporation     © Microsoft Corporation
Smart analytics


© Microsoft Corporation
© Microsoft Corporation
© Microsoft Corporation
Jack Bauer
© Microsoft Corporation
Chloe
O’Brian




© Microsoft Corporation
© Microsoft Corporation
All he needed was a paper clip
© Microsoft Corporation
smart analytics is
actionable
© Microsoft Corporation
© Microsoft Corporation
smart analytics is
real time
© Microsoft Corporation
Scene from the movie WarGames (1983).
 © Microsoft Corporation
smart analytics is
sharing
© Microsoft Corporation
insight patterns data




© Microsoft Corporation
insight patterns data




© Microsoft Corporation
insight patterns data




© Microsoft Corporation
smart analytics is
diversity
© Microsoft Corporation
stakeholders tools questions
Researcher                Developer   Tester   Dev. Lead   Test Lead   Manager




© Microsoft Corporation
stakeholders tools questions
                                                 Clustering
           Prediction          Surveys


                                         Qualitative Analysis
         Measurements

                                                     Benchmarking
    Segmenting

                                                      What-if analysis
       Multivariate Analysis
                                    Interviews

© Microsoft Corporation
stakeholders tools questions
                          Build tools for
                          frequent questions




                                                           Use data scientists for
                                                           infrequent questions
             Frequency




                                               Questions




© Microsoft Corporation
smart analytics is
people
© Microsoft Corporation
The Decider           The Brain   The Innovator




© Microsoft Corporation
inductive engineering




The Inductive Software Engineering Manifesto: Principles for Industrial Data Mining.
Tim Menzies, Christian Bird, Thomas Zimmermann, Wolfram Schulte and Ekrem
Kocaganeli. In MALETS 2011: Proceedings International Workshop on Machine
Learning Technologies in Software Engineering
© Microsoft Corporation
Usage analytics


© Microsoft Corporation
Improving the Explorer for Windows 8




                                                                        Explorer
                                                                        in Windows 7
 Alex Simons: Improvements in Windows Explorer.
 http://blogs.msdn.com/b/b8/archive/2011/08/29/improvements-in-windows-explorer.aspx

© Microsoft Corporation
© Microsoft Corporation
Improving the Explorer for Windows 8




© Microsoft Corporation
Improving the Explorer for Windows 8




© Microsoft Corporation
Improving the Explorer for Windows 8

                          Customer feedback
                          • Bring back the "Up" button
                            from Windows XP,
                          • Add cut, copy, & paste into
                            the top-level UI,
                          • More customizable
                            command surface, and
                          • More keyboard shortcuts.



© Microsoft Corporation
Improving the Explorer for Windows 8
        Overlay showing Command usage % by button on the new Home tab




© Microsoft Corporation
Debugging in the (very) large
     • Microsoft ships software to 1 billion users
           – How do we find out when things go wrong?


     • Fix bugs regardless of source application or
       OS software, hardware, or malware
     • Prioritize bugs that affect the most users
     • Get the solutions out to users most efficiently
     • Try to prevent bugs in the first place

 K. Glerum, K. Kinshumann, S. Greenberg, G. Aul, V. Orgovan, G. Nichols, D. Grant, G. Loihle, and G. Hunt:
 Debugging in the (Very) Large: Ten Years of Implementation and Experience. SOSP 2009.

© Microsoft Corporation
Windows Error Reporting



                                   !analyze




© Microsoft Corporation
Windows Error Reporting




© Microsoft Corporation
Windows Error Reporting




© Microsoft Corporation
Windows Error Reporting

             billions     Error reports collected
            1 billion     Machines run WER client code
         100 million      Reports /day processing capacity
         many 1000s       Bugs fixed
          almost all      Microsoft product teams use it
           over 700       Companies using WER
                  200     TB of Storage
                  >60     Servers
                  >10     Years of use



© Microsoft Corporation
Relative number of reports per bucket and cumulative distribution for
Top 20 Buckets from Office 2010 ITP for a 3 week sample period.
© Microsoft Corporation
Project Gotham Racing 4
                                                        Across all races:
                                                        • 2 of 9 game modes were used
                                                           in < 0.5% of races
                                                        • 12 of 29 event types were used
                                                           in < 1% of races
                                                        • 50 of 134 vehicles were used
                                                           in < 0.25% of races

                                                        When looking at multiplayer races:
                                                        • 2 of 4 game modes were used
                                                          in < 2% of races
                                                        • 7 of 16 event types were used
                                                          in < 0.1% of races
                                                        • 53 of 133 vehicles were used
                                                          in < 0.25% of races

 Kenneth Hullett, Nachiappan Nagappan, Eric Schuh, John Hopson:
 Empirical analysis of user data in game software development. ESEM 2012.

© Microsoft Corporation
Player progression in Halo 3




 Bruce Phillips. Peering into the Black Box of Player Behavior: The
 Player Experience Panel at Microsoft Game Studios. GDC 2010

© Microsoft Corporation
Development analytics


© Microsoft Corporation
SWEPT datamart
     • Software Engineering Productivity Tools
     • Set of data sources pertaining to product,
       engineering process and organizations
     • Provides consistency of data discovery and
       access across product groups
     • Provides a standard platform for creating and
       deploying analytics
     • Informs data driven decision making


© Microsoft Corporation
© Microsoft Corporation
© Microsoft Corporation
Change analysis with CRANE
                     Risk
                     • How risky is the fix we are about to make?
                     • Which parts of the change are the riskiest?

                     Test
                     • Which subset of existing test cases should be executed to maximize
                       chances of finding defects?
                     • Which parts of the change will not be covered by existing tests and
                       need new tests?

                     Dependence
                     • What dependent parts of the system need to be re-tested?
                     • For code that exposes a public interface, which consumers of the
                       APIs should be verified?


 Jacek Czerwonka, Rajiv Das, Nachiappan Nagappan, Alex Tarvo, Alex Teterev: CRANE: Failure Prediction,
 Change Analysis and Test Prioritization in Practice - Experiences from Windows. ICST 2011.

© Microsoft Corporation
© Microsoft Corporation
1

                                  2
                                      3


                          4




© Microsoft Corporation
5

                          6



                          7


© Microsoft Corporation
© Microsoft Corporation
Branches in Windows
                                                                                  networking

                                                               integration


                                                                                  main
                                                      integration
                                                                         Process overhead
                                                                         Time delay (velocity)
                                                                                  multimedia
                     Changes are isolated
                     => Less build and test breaks
 Christian Bird, Thomas Zimmermann:
 Assessing the Value of Branches with What-if Analysis. FSE 2012.

© Microsoft Corporation
Code flow for a single file


                                        Orange nodes are
                                         move operations




                                            Blue nodes are
                                           edits to the file



© Microsoft Corporation
Branch decisions

                          How do we coordinate parallel
                          development?


                          How do we structure the branch
                          hierarchy? Can we reduce the
                          complexity of branching?


© Microsoft Corporation
Assessing branches

     Simulate alternate branch structure to assess cost
     and benefit of individual branches

     • Cost: Average delay increase per edit (liveness)
          How much delay does a branch introduce into
          development?

     • Benefit: Provided isolation per edit (isolation)
          How many conflicts does a branch prevent per edit?



© Microsoft Corporation
Child Branch


   Victim Branch


   Parent Branch




   Simulation (what-if)
   Child Branch
                                                              faster
                                                            code flow

   Victim Branch
                                                                                           unneeded
                                                                                     integrations removed
   Parent Branch
                          no longer   no longer no longer    no longer   no longer
                           isolated    isolated isolated      isolated    isolated




© Microsoft Corporation
Assessing branches
          Red dots
      are branches
     with high cost
    but low benefit


                          Delay
                          (Cost)


           Each dot
           is a branch                                  Green dots
                                                        are branches
                                                        with high benefit
                                   Provided Isolation
                                       (Benefit)
                                                        and low cost


© Microsoft Corporation
Assessing branches
          Red dots
      are branches
     with high cost
    but low benefit

        If high-cost-low-benefit branches had been removed,
        changes Delay each have saved 8.9 days of transit
                  would
                 (Cost)
        time and only introduced 0.04 additional conflicts.
           Each dot
           is a branch                              Green dots
                                                    are branches
                                                    with high benefit
                               Provided Isolation
                                   (Benefit)
                                                    and low cost


© Microsoft Corporation
The future


© Microsoft Corporation
INTELLIGENCE IN EVERYTHING

                                          "The models I build are based on a
                                          mix of social and computer
                                          science, statistical data and my
                                          constant travels around the world
                                          talking to people about the future.
                                          […] How do we want to make the
                                          lives of people all over the world
                                          better by infusing our lives with
                                          intelligence?"

                                            Brian David Johnson, Futurist, Intel


Photo via http://www.flickr.com/photos/intelfreepress/6793363054
Quote via Corporation
 © Microsoft
             http://mashable.com/2012/04/04/predictions-digital-future/
CLOUD BECOMES THE NORM


  "My prediction is that the term
  'cloud' will have disappeared from
  the phrase 'cloud computing' by
  2020, because the majority of
  computing will simply assumed to
  be done in the cloud. […]"

                   Jack Uldrich, Futurist



Photo via http://www.prweb.com/releases/2011/12/prweb9052671.htm
Quote via Corporation
 © Microsoft
             http://mashable.com/2012/04/04/predictions-digital-future/
CONNECTING THE CLOUD WITH THE CROWD



                                           "Everything will have moved into
                                           the cloud: content, media, health
                                           records, education.
                                           Connecting the cloud with the
                                           crowd will become a huge
                                           business."

                                                    Gerd Leonhard, Futurist



Photo via http://www.mediafuturist.com/about.html
Quote via Corporation
 © Microsoft
             http://mashable.com/2012/04/04/predictions-digital-future/
NEW ALGORITHMS AND TOOLS

  "Predicting the future will be
  common for the average person […]
  New algorithms and tools will unlock
  this rich source of data, creating
  unprecedented insight. Cloud based
  tools will allow anyone to mine this
  data and perform what-if analysis,
  even using it to predict the future."

    Dave Evans, Cisco Chief Futurist


Dave Evans, Cisco Chief Futurist
Photo via http://www.cisco.com/web/about/ac79/docs/bio/Dave_Evans_Exec_Bio_Final.pdf
Quote via Corporation
 © Microsoft
             http://mashable.com/2012/04/04/predictions-digital-future/
MY ANALYTICS PREDICTIONS FOR 2020

                          More + different data
                          More algorithms
                          More people
                          (everyone mines data)
                          More roles
                          (data scientists!)
                          More real-time
                          More social


© Microsoft Corporation
General Chair                                                   MSR 2013 — Call for Papers
Thomas Zimmermann
Microsoft Research, USA                   International Working Conference on Mining Software Repositories
Program Co-chairs                                                   Sponsored by IEEE TCSE and ACM SIGSOFT
Massimiliano Di Penta                                  May 18-10, 2013, San Francisco, CA, USA. Co-located with ICSE 2013.
University of Sannio, Italy                                       http://msrconf.org        twitter: @msrconf
Sunghun Kim
Hong Kong University of Science and      Software repositories such as source control systems, archived communications between project
Technology, China                        personnel, and defect tracking systems are used to help manage the progress of software pro-
                                         jects. Software practitioners and researchers are recognizing the benefits of mining this infor-
Chief of Data                            mation to support the maintenance of software systems, improve software design/reuse, and
Daniel Germán                            empirically validate novel ideas and techniques. Research is now proceeding to uncover the ways
University of Victoria, Canada           in which mining these repositories can help to understand software development and software
                                         evolution, to support predictions about software development, and to exploit this knowledge
Challenge Chair                          concretely in planning future development. The goal of this two-day working conference is to ad-
Alberto Bacchelli
                                         vance the research and practice of software engineering through the analysis of data stored in
University of Lugano, Switzerland
                                         software repositories.
Web Chair                                This year, MSR solicits three types of papers: research, practice, and data papers. As in previous
Julius Davies                            MSR editions, there will be a Mining Challenge and a special issue of best MSR papers in the Em-
University of British Columbia, Canada   pirical Software Engineering journal.
Program Committee                        Important Dates
To be announced.
                                         Research/practice papers: February 15, 2013 (abstracts: February 8)
Please see the conference website.
                                         Data papers:              March 4, 2013
                                         Challenge papers:         March 4, 2013
Call for Articles
SOFTWARE ANALYTICS: SO WHAT?
Special Issue of IEEE Software

Submission Deadline: 15 December 2012
Publication: July/August 2013

Software analytics are studies of software that lead to actionable changes to
projects. The feedback from analytics should alter decisions relating to the
business, management, design, development, or marketing of software
systems. These analytics can be applied to both the products of developers
(design documents, code, emails between team members) and to data generated by running programs (usage patterns,
economic effects of the running system). Often such analytics requires “big data” methods—visualizations or data
mining of large datasets.
In this special issue, we seek answers to seemingly simple questions: Do these software analytics really work? In
practice, what has actually been achieved? For a supposedly data-driven field, there are surprisingly few exemplar case
studies in the literature—of both successes and failures—in this area. Hence we have no answer for the business user
(or graduate student) who asks, “In this field, what are the best and worst practices, and why?”
The guest editors invite articles addressing the practical successes, as well as the practical drawbacks, of software
analytics. Such analytics includes the application of data mining tools to SE data (but can also include combinations of
automatic and manual data analysis). Topics for these submissions include but are not limited to the following:
     the added value of software analytics to the business community (if, indeed, it exists);
     the synergies (if any) that can be achieved by combining automatic and human insight about some industrial
        problems;
smart analytics is        Usage analytics
actionable                Improving the Explorer for Windows 8
                          Debugging in the (very) large
                          Analytics for Xbox games
real time            © Microsoft Corporation




sharing
diversity                 Development analytics
                          The SWEPT datamart
people                    Risk Assessment with CRANE
                          Branchmania – too many branches


                     © Microsoft Corporation

More Related Content

What's hot

Web Application Remediation - OWASP San Antonio March 2007
Web Application Remediation - OWASP San Antonio March 2007Web Application Remediation - OWASP San Antonio March 2007
Web Application Remediation - OWASP San Antonio March 2007Denim Group
 
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012TEST Huddle
 
SecureWorld: Security is Dead, Rugged DevOps 1f
SecureWorld:  Security is Dead, Rugged DevOps 1fSecureWorld:  Security is Dead, Rugged DevOps 1f
SecureWorld: Security is Dead, Rugged DevOps 1fGene Kim
 
SW Engineering Management
SW Engineering ManagementSW Engineering Management
SW Engineering ManagementRobert Sayegh
 
Protecting Enterprise - An examination of bugs, major vulnerabilities and exp...
Protecting Enterprise - An examination of bugs, major vulnerabilities and exp...Protecting Enterprise - An examination of bugs, major vulnerabilities and exp...
Protecting Enterprise - An examination of bugs, major vulnerabilities and exp...ESET Middle East
 
Bill of-rights-white-paper-final-012312
Bill of-rights-white-paper-final-012312Bill of-rights-white-paper-final-012312
Bill of-rights-white-paper-final-012312Cristiano Caetano
 
AV-Comparatives Performance Test
AV-Comparatives Performance TestAV-Comparatives Performance Test
AV-Comparatives Performance TestHerbert Rodriguez
 
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...Denim Group
 
Predict Software Reliability Before the Code is Written
Predict Software Reliability Before the Code is WrittenPredict Software Reliability Before the Code is Written
Predict Software Reliability Before the Code is WrittenAnn Marie Neufelder
 
Software risk management
Software risk managementSoftware risk management
Software risk managementJose Javier M
 
NASA Software Safety Guidebook
NASA Software Safety GuidebookNASA Software Safety Guidebook
NASA Software Safety GuidebookVapula
 
Introduction to Software Failure Modes Effects Analysis
Introduction to Software Failure Modes Effects AnalysisIntroduction to Software Failure Modes Effects Analysis
Introduction to Software Failure Modes Effects AnalysisAnn Marie Neufelder
 
Overview of software reliability engineering
Overview of software reliability engineeringOverview of software reliability engineering
Overview of software reliability engineeringAnn Marie Neufelder
 
Real Cost of Software Remediation
Real Cost of Software RemediationReal Cost of Software Remediation
Real Cost of Software RemediationDenim Group
 
Outpost24 webinar - Differentiating vulnerabilities from risks to reduce time...
Outpost24 webinar - Differentiating vulnerabilities from risks to reduce time...Outpost24 webinar - Differentiating vulnerabilities from risks to reduce time...
Outpost24 webinar - Differentiating vulnerabilities from risks to reduce time...Outpost24
 

What's hot (20)

Web Application Remediation - OWASP San Antonio March 2007
Web Application Remediation - OWASP San Antonio March 2007Web Application Remediation - OWASP San Antonio March 2007
Web Application Remediation - OWASP San Antonio March 2007
 
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
Peter Zimmerer - Evolve Design For Testability To The Next Level - EuroSTAR 2012
 
SecureWorld: Security is Dead, Rugged DevOps 1f
SecureWorld:  Security is Dead, Rugged DevOps 1fSecureWorld:  Security is Dead, Rugged DevOps 1f
SecureWorld: Security is Dead, Rugged DevOps 1f
 
SW Engineering Management
SW Engineering ManagementSW Engineering Management
SW Engineering Management
 
Dtl 2012 kl-app_ctl1.2
Dtl 2012 kl-app_ctl1.2Dtl 2012 kl-app_ctl1.2
Dtl 2012 kl-app_ctl1.2
 
Protecting Enterprise - An examination of bugs, major vulnerabilities and exp...
Protecting Enterprise - An examination of bugs, major vulnerabilities and exp...Protecting Enterprise - An examination of bugs, major vulnerabilities and exp...
Protecting Enterprise - An examination of bugs, major vulnerabilities and exp...
 
Bill of-rights-white-paper-final-012312
Bill of-rights-white-paper-final-012312Bill of-rights-white-paper-final-012312
Bill of-rights-white-paper-final-012312
 
AV-Comparatives Performance Test
AV-Comparatives Performance TestAV-Comparatives Performance Test
AV-Comparatives Performance Test
 
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
RSA 2015 Blending the Automated and the Manual: Making Application Vulnerabil...
 
Predict Software Reliability Before the Code is Written
Predict Software Reliability Before the Code is WrittenPredict Software Reliability Before the Code is Written
Predict Software Reliability Before the Code is Written
 
Software risk management
Software risk managementSoftware risk management
Software risk management
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Butler
ButlerButler
Butler
 
NASA Software Safety Guidebook
NASA Software Safety GuidebookNASA Software Safety Guidebook
NASA Software Safety Guidebook
 
Introduction to Software Failure Modes Effects Analysis
Introduction to Software Failure Modes Effects AnalysisIntroduction to Software Failure Modes Effects Analysis
Introduction to Software Failure Modes Effects Analysis
 
Overview of software reliability engineering
Overview of software reliability engineeringOverview of software reliability engineering
Overview of software reliability engineering
 
Real Cost of Software Remediation
Real Cost of Software RemediationReal Cost of Software Remediation
Real Cost of Software Remediation
 
Online exa-syste
Online exa-systeOnline exa-syste
Online exa-syste
 
Outpost24 webinar - Differentiating vulnerabilities from risks to reduce time...
Outpost24 webinar - Differentiating vulnerabilities from risks to reduce time...Outpost24 webinar - Differentiating vulnerabilities from risks to reduce time...
Outpost24 webinar - Differentiating vulnerabilities from risks to reduce time...
 
Jeudis du libre scrum
Jeudis du libre scrumJeudis du libre scrum
Jeudis du libre scrum
 

Viewers also liked

Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software developmentThomas Zimmermann
 
Improving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer RecommendationsImproving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer RecommendationsThe University of Adelaide
 
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...The University of Adelaide
 
Investigating Code Review Practices in Defective Files
Investigating Code Review Practices in Defective FilesInvestigating Code Review Practices in Defective Files
Investigating Code Review Practices in Defective FilesThe University of Adelaide
 
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...The University of Adelaide
 
Ecosistemas de Desarrollo Software - Automatización
Ecosistemas de Desarrollo Software - AutomatizaciónEcosistemas de Desarrollo Software - Automatización
Ecosistemas de Desarrollo Software - AutomatizaciónManuel Jesús Recena Soto
 
Agile Consumer Analytics
Agile Consumer AnalyticsAgile Consumer Analytics
Agile Consumer AnalyticsThoughtworks
 
Beyond pretty charts, Analytics for the rest of us. Toufic Boubez DevOps Days...
Beyond pretty charts, Analytics for the rest of us. Toufic Boubez DevOps Days...Beyond pretty charts, Analytics for the rest of us. Toufic Boubez DevOps Days...
Beyond pretty charts, Analytics for the rest of us. Toufic Boubez DevOps Days...tboubez
 
Continuous delivery with zero downtime. made real by dev ops.
Continuous delivery with zero downtime. made real by dev ops.Continuous delivery with zero downtime. made real by dev ops.
Continuous delivery with zero downtime. made real by dev ops.Edureka!
 
DevOps and the Bottom Line
DevOps and the Bottom Line DevOps and the Bottom Line
DevOps and the Bottom Line Chef
 
Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Chakkrit (Kla) Tantithamthavorn
 
DevOps: The Key to IT Performance
DevOps: The Key to IT PerformanceDevOps: The Key to IT Performance
DevOps: The Key to IT PerformanceNicole Forsgren
 
ChefConf 2015 Event Slides
ChefConf 2015 Event SlidesChefConf 2015 Event Slides
ChefConf 2015 Event SlidesSumo Logic
 
Enhance your Agility with DevOps
Enhance your Agility with DevOpsEnhance your Agility with DevOps
Enhance your Agility with DevOpsEdureka!
 
Agile analytics : An exploratory study of technical complexity management
Agile analytics : An exploratory study of technical complexity managementAgile analytics : An exploratory study of technical complexity management
Agile analytics : An exploratory study of technical complexity managementAgnirudra Sikdar
 
Analytics for Software Development
Analytics for Software DevelopmentAnalytics for Software Development
Analytics for Software DevelopmentRay Buse
 
Why Use Analytics on Your Software
Why Use Analytics on Your SoftwareWhy Use Analytics on Your Software
Why Use Analytics on Your SoftwareDeskMetrics
 
Information Needs for Software Development Analytics
Information Needs for Software Development AnalyticsInformation Needs for Software Development Analytics
Information Needs for Software Development AnalyticsRay Buse
 

Viewers also liked (20)

Analytics for software development
Analytics for software developmentAnalytics for software development
Analytics for software development
 
Improving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer RecommendationsImproving Code Review Effectiveness Through Reviewer Recommendations
Improving Code Review Effectiveness Through Reviewer Recommendations
 
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...Ph.D. Thesis Defense:  Studying Reviewer Selection and Involvement in Modern ...
Ph.D. Thesis Defense: Studying Reviewer Selection and Involvement in Modern ...
 
Investigating Code Review Practices in Defective Files
Investigating Code Review Practices in Defective FilesInvestigating Code Review Practices in Defective Files
Investigating Code Review Practices in Defective Files
 
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...Revisiting Code Ownership and Its Relationship with Software Quality in the S...
Revisiting Code Ownership and Its Relationship with Software Quality in the S...
 
Who Should Review My Code?
Who Should Review My Code?  Who Should Review My Code?
Who Should Review My Code?
 
Ecosistemas de Desarrollo Software - Automatización
Ecosistemas de Desarrollo Software - AutomatizaciónEcosistemas de Desarrollo Software - Automatización
Ecosistemas de Desarrollo Software - Automatización
 
Agile Consumer Analytics
Agile Consumer AnalyticsAgile Consumer Analytics
Agile Consumer Analytics
 
Beyond pretty charts, Analytics for the rest of us. Toufic Boubez DevOps Days...
Beyond pretty charts, Analytics for the rest of us. Toufic Boubez DevOps Days...Beyond pretty charts, Analytics for the rest of us. Toufic Boubez DevOps Days...
Beyond pretty charts, Analytics for the rest of us. Toufic Boubez DevOps Days...
 
Continuous delivery with zero downtime. made real by dev ops.
Continuous delivery with zero downtime. made real by dev ops.Continuous delivery with zero downtime. made real by dev ops.
Continuous delivery with zero downtime. made real by dev ops.
 
DevOps and the Bottom Line
DevOps and the Bottom Line DevOps and the Bottom Line
DevOps and the Bottom Line
 
Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...
 
DevOps: The Key to IT Performance
DevOps: The Key to IT PerformanceDevOps: The Key to IT Performance
DevOps: The Key to IT Performance
 
ChefConf 2015 Event Slides
ChefConf 2015 Event SlidesChefConf 2015 Event Slides
ChefConf 2015 Event Slides
 
Enhance your Agility with DevOps
Enhance your Agility with DevOpsEnhance your Agility with DevOps
Enhance your Agility with DevOps
 
Agile analytics : An exploratory study of technical complexity management
Agile analytics : An exploratory study of technical complexity managementAgile analytics : An exploratory study of technical complexity management
Agile analytics : An exploratory study of technical complexity management
 
GUBI: Agile Analytics [pt-br]
GUBI: Agile Analytics [pt-br]GUBI: Agile Analytics [pt-br]
GUBI: Agile Analytics [pt-br]
 
Analytics for Software Development
Analytics for Software DevelopmentAnalytics for Software Development
Analytics for Software Development
 
Why Use Analytics on Your Software
Why Use Analytics on Your SoftwareWhy Use Analytics on Your Software
Why Use Analytics on Your Software
 
Information Needs for Software Development Analytics
Information Needs for Software Development AnalyticsInformation Needs for Software Development Analytics
Information Needs for Software Development Analytics
 

Similar to Analytics for smarter software development

Cyber security - It starts with the embedded system
Cyber security - It starts with the embedded systemCyber security - It starts with the embedded system
Cyber security - It starts with the embedded systemRogue Wave Software
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldRogue Wave Software
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect predictionThomas Zimmermann
 
How AI and ML Can Accelerate and Optimize Software Development and Testing
How AI and ML Can Accelerate and Optimize Software Development and TestingHow AI and ML Can Accelerate and Optimize Software Development and Testing
How AI and ML Can Accelerate and Optimize Software Development and TestingAggregage
 
Reliable software in a continuous integration/continuous deployment (CI/CD) e...
Reliable software in a continuous integration/continuous deployment (CI/CD) e...Reliable software in a continuous integration/continuous deployment (CI/CD) e...
Reliable software in a continuous integration/continuous deployment (CI/CD) e...Ann Marie Neufelder
 
Characterizing and predicting which bugs get fixed
Characterizing and predicting which bugs get fixedCharacterizing and predicting which bugs get fixed
Characterizing and predicting which bugs get fixedThomas Zimmermann
 
The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...
 The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour... The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...
The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...WhiteSource
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Agile India
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SEAbhishekTripathi709328
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
AI improves software testing through test automation, test creation and test ...
AI improves software testing through test automation, test creation and test ...AI improves software testing through test automation, test creation and test ...
AI improves software testing through test automation, test creation and test ...Kari Kakkonen
 
AI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficientAI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficientKari Kakkonen
 

Similar to Analytics for smarter software development (20)

Cyber security - It starts with the embedded system
Cyber security - It starts with the embedded systemCyber security - It starts with the embedded system
Cyber security - It starts with the embedded system
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT world
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
How AI and ML Can Accelerate and Optimize Software Development and Testing
How AI and ML Can Accelerate and Optimize Software Development and TestingHow AI and ML Can Accelerate and Optimize Software Development and Testing
How AI and ML Can Accelerate and Optimize Software Development and Testing
 
Reliable software in a continuous integration/continuous deployment (CI/CD) e...
Reliable software in a continuous integration/continuous deployment (CI/CD) e...Reliable software in a continuous integration/continuous deployment (CI/CD) e...
Reliable software in a continuous integration/continuous deployment (CI/CD) e...
 
Characterizing and predicting which bugs get fixed
Characterizing and predicting which bugs get fixedCharacterizing and predicting which bugs get fixed
Characterizing and predicting which bugs get fixed
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...
 The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour... The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...
The Top 3 Strategies To Reduce Your Open Source Security Risks - A WhiteSour...
 
SE-Lecture1.ppt
SE-Lecture1.pptSE-Lecture1.ppt
SE-Lecture1.ppt
 
Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...Building and Scaling High Performing Technology Organizations by Jez Humble a...
Building and Scaling High Performing Technology Organizations by Jez Humble a...
 
SE
SESE
SE
 
lecture 1.pdf
lecture 1.pdflecture 1.pdf
lecture 1.pdf
 
ch1_introduction (1).ppt
ch1_introduction (1).pptch1_introduction (1).ppt
ch1_introduction (1).ppt
 
ch1_introduction (2).ppt
ch1_introduction (2).pptch1_introduction (2).ppt
ch1_introduction (2).ppt
 
ch1_introduction.ppt
ch1_introduction.pptch1_introduction.ppt
ch1_introduction.ppt
 
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SESE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
SE UNIT 1 NOTES OF SE SOFTWARE ENGG AND SE
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
AI improves software testing through test automation, test creation and test ...
AI improves software testing through test automation, test creation and test ...AI improves software testing through test automation, test creation and test ...
AI improves software testing through test automation, test creation and test ...
 
AI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficientAI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficient
 

More from Thomas Zimmermann

Data driven games user research
Data driven games user researchData driven games user research
Data driven games user researchThomas Zimmermann
 
Not my bug! Reasons for software bug report reassignments
Not my bug! Reasons for software bug report reassignmentsNot my bug! Reasons for software bug report reassignments
Not my bug! Reasons for software bug report reassignmentsThomas Zimmermann
 
Security trend analysis with CVE topic models
Security trend analysis with CVE topic modelsSecurity trend analysis with CVE topic models
Security trend analysis with CVE topic modelsThomas Zimmermann
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesThomas Zimmermann
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesThomas Zimmermann
 
Predicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency GraphsPredicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency GraphsThomas Zimmermann
 
Quality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceThomas Zimmermann
 
Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities Thomas Zimmermann
 
Got Myth? Myths in Software Engineering
Got Myth? Myths in Software EngineeringGot Myth? Myths in Software Engineering
Got Myth? Myths in Software EngineeringThomas Zimmermann
 
Mining Workspace Updates in CVS
Mining Workspace Updates in CVSMining Workspace Updates in CVS
Mining Workspace Updates in CVSThomas Zimmermann
 
Mining Software Archives to Support Software Development
Mining Software Archives to Support Software DevelopmentMining Software Archives to Support Software Development
Mining Software Archives to Support Software DevelopmentThomas Zimmermann
 
esolang: Esoterische Programmiersprachen
esolang: Esoterische Programmiersprachenesolang: Esoterische Programmiersprachen
esolang: Esoterische ProgrammiersprachenThomas Zimmermann
 
TA-RE: An Exchange Language for Mining Software Repositories
TA-RE: An Exchange Language for Mining Software RepositoriesTA-RE: An Exchange Language for Mining Software Repositories
TA-RE: An Exchange Language for Mining Software RepositoriesThomas Zimmermann
 
Fine-grained Processing of CVS Archives with APFEL
Fine-grained Processing of CVS Archives with APFELFine-grained Processing of CVS Archives with APFEL
Fine-grained Processing of CVS Archives with APFELThomas Zimmermann
 
DynaMine: Finding Common Error Patterns by Mining Software Revision Histories
DynaMine: Finding Common Error Patterns by Mining Software Revision HistoriesDynaMine: Finding Common Error Patterns by Mining Software Revision Histories
DynaMine: Finding Common Error Patterns by Mining Software Revision HistoriesThomas Zimmermann
 
How History Justifies System Architecture (or Not)
How History Justifies System Architecture (or Not)How History Justifies System Architecture (or Not)
How History Justifies System Architecture (or Not)Thomas Zimmermann
 
HATARI: Raising Risk Awareness
HATARI: Raising Risk AwarenessHATARI: Raising Risk Awareness
HATARI: Raising Risk AwarenessThomas Zimmermann
 

More from Thomas Zimmermann (20)

Klingon Countdown Timer
Klingon Countdown TimerKlingon Countdown Timer
Klingon Countdown Timer
 
Data driven games user research
Data driven games user researchData driven games user research
Data driven games user research
 
Not my bug! Reasons for software bug report reassignments
Not my bug! Reasons for software bug report reassignmentsNot my bug! Reasons for software bug report reassignments
Not my bug! Reasons for software bug report reassignments
 
Security trend analysis with CVE topic models
Security trend analysis with CVE topic modelsSecurity trend analysis with CVE topic models
Security trend analysis with CVE topic models
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development Activities
 
Changes and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development ActivitiesChanges and Bugs: Mining and Predicting Development Activities
Changes and Bugs: Mining and Predicting Development Activities
 
Predicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency GraphsPredicting Defects using Network Analysis on Dependency Graphs
Predicting Defects using Network Analysis on Dependency Graphs
 
Quality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open Source
 
Meet Tom and his Fish
Meet Tom and his FishMeet Tom and his Fish
Meet Tom and his Fish
 
Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities Predicting Subsystem Defects using Dependency Graph Complexities
Predicting Subsystem Defects using Dependency Graph Complexities
 
Got Myth? Myths in Software Engineering
Got Myth? Myths in Software EngineeringGot Myth? Myths in Software Engineering
Got Myth? Myths in Software Engineering
 
Mining Workspace Updates in CVS
Mining Workspace Updates in CVSMining Workspace Updates in CVS
Mining Workspace Updates in CVS
 
Mining Software Archives to Support Software Development
Mining Software Archives to Support Software DevelopmentMining Software Archives to Support Software Development
Mining Software Archives to Support Software Development
 
Unit testing with JUnit
Unit testing with JUnitUnit testing with JUnit
Unit testing with JUnit
 
esolang: Esoterische Programmiersprachen
esolang: Esoterische Programmiersprachenesolang: Esoterische Programmiersprachen
esolang: Esoterische Programmiersprachen
 
TA-RE: An Exchange Language for Mining Software Repositories
TA-RE: An Exchange Language for Mining Software RepositoriesTA-RE: An Exchange Language for Mining Software Repositories
TA-RE: An Exchange Language for Mining Software Repositories
 
Fine-grained Processing of CVS Archives with APFEL
Fine-grained Processing of CVS Archives with APFELFine-grained Processing of CVS Archives with APFEL
Fine-grained Processing of CVS Archives with APFEL
 
DynaMine: Finding Common Error Patterns by Mining Software Revision Histories
DynaMine: Finding Common Error Patterns by Mining Software Revision HistoriesDynaMine: Finding Common Error Patterns by Mining Software Revision Histories
DynaMine: Finding Common Error Patterns by Mining Software Revision Histories
 
How History Justifies System Architecture (or Not)
How History Justifies System Architecture (or Not)How History Justifies System Architecture (or Not)
How History Justifies System Architecture (or Not)
 
HATARI: Raising Risk Awareness
HATARI: Raising Risk AwarenessHATARI: Raising Risk Awareness
HATARI: Raising Risk Awareness
 

Recently uploaded

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Analytics for smarter software development

  • 1. Analytics for Smarter Software Development Thomas Zimmermann Microsoft Research, USA © Microsoft Corporation
  • 3. 40 percent of major decisions are based not on facts, but on the manager’s gut. Accenture survey among 254 US managers in industry. http://newsroom.accenture.com/article_display.cfm?article_id=4777 © Microsoft Corporation
  • 4. analytics is the use of analysis, data, and systematic reasoning to make decisions. Definition by Thomas H. Davenport, Jeanne G. Harris Analytics at Work – Smarter Decisions, Better Results © Microsoft Corporation
  • 5. software analytics: empower software development teams to gain and share insight from their data to make better decisions. Raymond Buse, Thomas Zimmermann: Information Needs for Software Development Analytics. ICSE 2012 SEIP Track. http://research.microsoft.com/apps/pubs/default.aspx?id=172578 © Microsoft Corporation
  • 6. Smart analytics Usage analytics © Microsoft Corporation © Microsoft Corporation Development analytics The future © Microsoft Corporation © Microsoft Corporation © Microsoft Corporation
  • 10. Jack Bauer © Microsoft Corporation
  • 13. All he needed was a paper clip © Microsoft Corporation
  • 14. smart analytics is actionable © Microsoft Corporation
  • 16. smart analytics is real time © Microsoft Corporation
  • 17. Scene from the movie WarGames (1983). © Microsoft Corporation
  • 18. smart analytics is sharing © Microsoft Corporation
  • 19. insight patterns data © Microsoft Corporation
  • 20. insight patterns data © Microsoft Corporation
  • 21. insight patterns data © Microsoft Corporation
  • 22. smart analytics is diversity © Microsoft Corporation
  • 23. stakeholders tools questions Researcher Developer Tester Dev. Lead Test Lead Manager © Microsoft Corporation
  • 24. stakeholders tools questions Clustering Prediction Surveys Qualitative Analysis Measurements Benchmarking Segmenting What-if analysis Multivariate Analysis Interviews © Microsoft Corporation
  • 25. stakeholders tools questions Build tools for frequent questions Use data scientists for infrequent questions Frequency Questions © Microsoft Corporation
  • 26. smart analytics is people © Microsoft Corporation
  • 27. The Decider The Brain The Innovator © Microsoft Corporation
  • 28. inductive engineering The Inductive Software Engineering Manifesto: Principles for Industrial Data Mining. Tim Menzies, Christian Bird, Thomas Zimmermann, Wolfram Schulte and Ekrem Kocaganeli. In MALETS 2011: Proceedings International Workshop on Machine Learning Technologies in Software Engineering © Microsoft Corporation
  • 30. Improving the Explorer for Windows 8 Explorer in Windows 7 Alex Simons: Improvements in Windows Explorer. http://blogs.msdn.com/b/b8/archive/2011/08/29/improvements-in-windows-explorer.aspx © Microsoft Corporation
  • 32. Improving the Explorer for Windows 8 © Microsoft Corporation
  • 33. Improving the Explorer for Windows 8 © Microsoft Corporation
  • 34. Improving the Explorer for Windows 8 Customer feedback • Bring back the "Up" button from Windows XP, • Add cut, copy, & paste into the top-level UI, • More customizable command surface, and • More keyboard shortcuts. © Microsoft Corporation
  • 35. Improving the Explorer for Windows 8 Overlay showing Command usage % by button on the new Home tab © Microsoft Corporation
  • 36. Debugging in the (very) large • Microsoft ships software to 1 billion users – How do we find out when things go wrong? • Fix bugs regardless of source application or OS software, hardware, or malware • Prioritize bugs that affect the most users • Get the solutions out to users most efficiently • Try to prevent bugs in the first place K. Glerum, K. Kinshumann, S. Greenberg, G. Aul, V. Orgovan, G. Nichols, D. Grant, G. Loihle, and G. Hunt: Debugging in the (Very) Large: Ten Years of Implementation and Experience. SOSP 2009. © Microsoft Corporation
  • 37. Windows Error Reporting !analyze © Microsoft Corporation
  • 38. Windows Error Reporting © Microsoft Corporation
  • 39. Windows Error Reporting © Microsoft Corporation
  • 40. Windows Error Reporting billions Error reports collected 1 billion Machines run WER client code 100 million Reports /day processing capacity many 1000s Bugs fixed almost all Microsoft product teams use it over 700 Companies using WER 200 TB of Storage >60 Servers >10 Years of use © Microsoft Corporation
  • 41. Relative number of reports per bucket and cumulative distribution for Top 20 Buckets from Office 2010 ITP for a 3 week sample period. © Microsoft Corporation
  • 42. Project Gotham Racing 4 Across all races: • 2 of 9 game modes were used in < 0.5% of races • 12 of 29 event types were used in < 1% of races • 50 of 134 vehicles were used in < 0.25% of races When looking at multiplayer races: • 2 of 4 game modes were used in < 2% of races • 7 of 16 event types were used in < 0.1% of races • 53 of 133 vehicles were used in < 0.25% of races Kenneth Hullett, Nachiappan Nagappan, Eric Schuh, John Hopson: Empirical analysis of user data in game software development. ESEM 2012. © Microsoft Corporation
  • 43. Player progression in Halo 3 Bruce Phillips. Peering into the Black Box of Player Behavior: The Player Experience Panel at Microsoft Game Studios. GDC 2010 © Microsoft Corporation
  • 45. SWEPT datamart • Software Engineering Productivity Tools • Set of data sources pertaining to product, engineering process and organizations • Provides consistency of data discovery and access across product groups • Provides a standard platform for creating and deploying analytics • Informs data driven decision making © Microsoft Corporation
  • 48. Change analysis with CRANE Risk • How risky is the fix we are about to make? • Which parts of the change are the riskiest? Test • Which subset of existing test cases should be executed to maximize chances of finding defects? • Which parts of the change will not be covered by existing tests and need new tests? Dependence • What dependent parts of the system need to be re-tested? • For code that exposes a public interface, which consumers of the APIs should be verified? Jacek Czerwonka, Rajiv Das, Nachiappan Nagappan, Alex Tarvo, Alex Teterev: CRANE: Failure Prediction, Change Analysis and Test Prioritization in Practice - Experiences from Windows. ICST 2011. © Microsoft Corporation
  • 50. 1 2 3 4 © Microsoft Corporation
  • 51. 5 6 7 © Microsoft Corporation
  • 53. Branches in Windows networking integration main integration Process overhead Time delay (velocity) multimedia Changes are isolated => Less build and test breaks Christian Bird, Thomas Zimmermann: Assessing the Value of Branches with What-if Analysis. FSE 2012. © Microsoft Corporation
  • 54. Code flow for a single file Orange nodes are move operations Blue nodes are edits to the file © Microsoft Corporation
  • 55. Branch decisions How do we coordinate parallel development? How do we structure the branch hierarchy? Can we reduce the complexity of branching? © Microsoft Corporation
  • 56. Assessing branches Simulate alternate branch structure to assess cost and benefit of individual branches • Cost: Average delay increase per edit (liveness) How much delay does a branch introduce into development? • Benefit: Provided isolation per edit (isolation) How many conflicts does a branch prevent per edit? © Microsoft Corporation
  • 57. Child Branch Victim Branch Parent Branch Simulation (what-if) Child Branch faster code flow Victim Branch unneeded integrations removed Parent Branch no longer no longer no longer no longer no longer isolated isolated isolated isolated isolated © Microsoft Corporation
  • 58. Assessing branches Red dots are branches with high cost but low benefit Delay (Cost) Each dot is a branch Green dots are branches with high benefit Provided Isolation (Benefit) and low cost © Microsoft Corporation
  • 59. Assessing branches Red dots are branches with high cost but low benefit If high-cost-low-benefit branches had been removed, changes Delay each have saved 8.9 days of transit would (Cost) time and only introduced 0.04 additional conflicts. Each dot is a branch Green dots are branches with high benefit Provided Isolation (Benefit) and low cost © Microsoft Corporation
  • 60. The future © Microsoft Corporation
  • 61. INTELLIGENCE IN EVERYTHING "The models I build are based on a mix of social and computer science, statistical data and my constant travels around the world talking to people about the future. […] How do we want to make the lives of people all over the world better by infusing our lives with intelligence?"  Brian David Johnson, Futurist, Intel Photo via http://www.flickr.com/photos/intelfreepress/6793363054 Quote via Corporation © Microsoft http://mashable.com/2012/04/04/predictions-digital-future/
  • 62. CLOUD BECOMES THE NORM "My prediction is that the term 'cloud' will have disappeared from the phrase 'cloud computing' by 2020, because the majority of computing will simply assumed to be done in the cloud. […]"  Jack Uldrich, Futurist Photo via http://www.prweb.com/releases/2011/12/prweb9052671.htm Quote via Corporation © Microsoft http://mashable.com/2012/04/04/predictions-digital-future/
  • 63. CONNECTING THE CLOUD WITH THE CROWD "Everything will have moved into the cloud: content, media, health records, education. Connecting the cloud with the crowd will become a huge business."  Gerd Leonhard, Futurist Photo via http://www.mediafuturist.com/about.html Quote via Corporation © Microsoft http://mashable.com/2012/04/04/predictions-digital-future/
  • 64. NEW ALGORITHMS AND TOOLS "Predicting the future will be common for the average person […] New algorithms and tools will unlock this rich source of data, creating unprecedented insight. Cloud based tools will allow anyone to mine this data and perform what-if analysis, even using it to predict the future."  Dave Evans, Cisco Chief Futurist Dave Evans, Cisco Chief Futurist Photo via http://www.cisco.com/web/about/ac79/docs/bio/Dave_Evans_Exec_Bio_Final.pdf Quote via Corporation © Microsoft http://mashable.com/2012/04/04/predictions-digital-future/
  • 65. MY ANALYTICS PREDICTIONS FOR 2020 More + different data More algorithms More people (everyone mines data) More roles (data scientists!) More real-time More social © Microsoft Corporation
  • 66. General Chair MSR 2013 — Call for Papers Thomas Zimmermann Microsoft Research, USA International Working Conference on Mining Software Repositories Program Co-chairs Sponsored by IEEE TCSE and ACM SIGSOFT Massimiliano Di Penta May 18-10, 2013, San Francisco, CA, USA. Co-located with ICSE 2013. University of Sannio, Italy http://msrconf.org twitter: @msrconf Sunghun Kim Hong Kong University of Science and Software repositories such as source control systems, archived communications between project Technology, China personnel, and defect tracking systems are used to help manage the progress of software pro- jects. Software practitioners and researchers are recognizing the benefits of mining this infor- Chief of Data mation to support the maintenance of software systems, improve software design/reuse, and Daniel Germán empirically validate novel ideas and techniques. Research is now proceeding to uncover the ways University of Victoria, Canada in which mining these repositories can help to understand software development and software evolution, to support predictions about software development, and to exploit this knowledge Challenge Chair concretely in planning future development. The goal of this two-day working conference is to ad- Alberto Bacchelli vance the research and practice of software engineering through the analysis of data stored in University of Lugano, Switzerland software repositories. Web Chair This year, MSR solicits three types of papers: research, practice, and data papers. As in previous Julius Davies MSR editions, there will be a Mining Challenge and a special issue of best MSR papers in the Em- University of British Columbia, Canada pirical Software Engineering journal. Program Committee Important Dates To be announced. Research/practice papers: February 15, 2013 (abstracts: February 8) Please see the conference website. Data papers: March 4, 2013 Challenge papers: March 4, 2013
  • 67. Call for Articles SOFTWARE ANALYTICS: SO WHAT? Special Issue of IEEE Software Submission Deadline: 15 December 2012 Publication: July/August 2013 Software analytics are studies of software that lead to actionable changes to projects. The feedback from analytics should alter decisions relating to the business, management, design, development, or marketing of software systems. These analytics can be applied to both the products of developers (design documents, code, emails between team members) and to data generated by running programs (usage patterns, economic effects of the running system). Often such analytics requires “big data” methods—visualizations or data mining of large datasets. In this special issue, we seek answers to seemingly simple questions: Do these software analytics really work? In practice, what has actually been achieved? For a supposedly data-driven field, there are surprisingly few exemplar case studies in the literature—of both successes and failures—in this area. Hence we have no answer for the business user (or graduate student) who asks, “In this field, what are the best and worst practices, and why?” The guest editors invite articles addressing the practical successes, as well as the practical drawbacks, of software analytics. Such analytics includes the application of data mining tools to SE data (but can also include combinations of automatic and manual data analysis). Topics for these submissions include but are not limited to the following:  the added value of software analytics to the business community (if, indeed, it exists);  the synergies (if any) that can be achieved by combining automatic and human insight about some industrial problems;
  • 68. smart analytics is Usage analytics actionable Improving the Explorer for Windows 8 Debugging in the (very) large Analytics for Xbox games real time © Microsoft Corporation sharing diversity Development analytics The SWEPT datamart people Risk Assessment with CRANE Branchmania – too many branches © Microsoft Corporation