SlideShare a Scribd company logo
1 of 82
Empirical Software Engineering
        at Microsoft Research


             Christian Bird
             Nachiappan Nagappan
             Brendan Murphy
             Thomas Zimmermann, Microsoft Research




© Microsoft Corporation
© Microsoft Corporation




© Microsoft Corporation
The ESE Group at Microsoft
                          Socio-technical congruence
                          • Contribution behavior, technical relationships, and quality
                          • Does organizational structure affect bugs?
                          • Investigating the effects of geographic distribution

                          Bug reporting and triage
                          • What makes a good bug report?
                          • Characterizing bug reassignments and fixed bugs
                          • Collaboration and information needs in bug reports

                          Data-driven software engineering
                          • Failure-prediction/risk analysis
                          • Assessment of test-driven development and unit testing
                          • Analytics for software development




© Microsoft Corporation
Collaborations of the ESE Group
                                Main locations of the ESM Group:
                                Redmond, Cambridge (UK)
                                Collaborations with other MSR Labs:
                                Microsoft Research India (Bangalore),
                                Microsoft Research Asia (Beijing),
                                European Microsoft Innovation Center
                                (Aachen, Germany)

                                Interns 2007-2010: U of Virginia (Ray
                                Buse); U of California, Santa Cruz (Ken
                                Hullett); National Institute of
                                Technology, Tiruchirappalli, India
                                (Kalaikumaran Ramamurthy); Stanford U
                                (Philip Guo); Boğaziçi U, Turkey (Ayse
                                Tosun); Darmstadt U of Technology
                                (Andreas Johansson); North Carolina
                                State U (Lucas Layman, Mei Nagappan)

                                Visitors 2007-2010: Hong Kong U of
                                Science and Technology (Sung Kim); U of
                                Zurich (Harald Gall, Martin Pinzger);
                                Saarland U (Andreas Zeller); North
                                Carolina State U (Laurie Williams); U of
                                Maryland (Victor Basili); Darmstadt U of
                                Technology (Neeraj Suri).




© Microsoft Corporation
Outline
                          Socio-technical congruence
                          • Contribution behavior, technical relationships, and quality
                          • Does organizational structure affect bugs?
                          • Investigating the effects of geographic distribution

                          Bug reporting and triage
                          • What makes a good bug report?
                          • Characterizing bug reassignments and fixed bugs
                          • Collaboration and information needs in bug reports

                          Data-driven software engineering
                          • Failure-prediction/risk analysis
                          • Assessment of test-driven development and unit testing
                          • Analytics for software development




© Microsoft Corporation
Nachiappan Nagappan, Brendan Murphy, Victor Basili @ ICSE 2008

        INFLUENCE OF ORGANIZATIONAL
        STRUCTURE ON SOFTWARE QUALITY




© Microsoft Corporation
Motivation
     • Conway’s Law:
           – “Organizations that design systems are constrained to
             produce systems which are copies of the
             communication structures of these organizations.”
     • Brooks argues in the Mythical Man Month:
           – product quality is strongly affected by that structure.
     • Little empirical evidence for relationship between
       organizational structure and software quality




© Microsoft Corporation
Factors that influence software quality

     • Number of changes
     • Number of people who make changes
     • Number of people who left the company
     • Cohesiveness of contributions
           – Do most edits come from the team that owns
             the component?
           – How many organizations do make many edits
             to the component?


© Microsoft Corporation
Examples of organizational metrics
 Total Edits = 250           Total Engineers Editing = 32        Total Ex-Engineers = 0

                          Top Level           30                Other Top                   40              30
                          Manager      M.L0                 Level Manager       M.L0                M.L0    10
                                              200                                           40



      M.L1      10        M.L1         M.L1   190   M.L1            M.L1                         Org Size
                                                                                                 No Of Edits
                                                                                                 Ln = Level n
          Owner (>75% edits)           M.L2   190



     E1            E2             E3          E4            E5          E6             E7
                   30             45           60           25                         30


     NOE = 32               NOEE = 0          EF = 250           DMO = 2          PO = 7/30
                 OCO
© Microsoft Corporation   = 190/250           OOW = 5/32               OIF (>10% edits) = 2
Organization metrics
     • The more people who touch the code, the lower the quality (NOE)
     • A large loss of team members affects the knowledge retention and
       lowers the quality (NOEE)
     • The more edits to components, the higher the instability and the
       lower the quality (EF)
     • The lower the level the ownership, the better the quality (DMO)
     • The more cohesive the contributors (organizationally), the higher the
       quality (PO)
     • The more cohesive the contributions (edits), the higher the quality
       (OCO)
     • The more the diffuse the contribution to a binary, the lower the
       quality (OOW)
     • The more diffuse the different organizations contributing code, the
       lower the quality (OIF)




© Microsoft Corporation
Defect prediction

                                  Model
   Software element                            Prediction
                                     PCA
                                  Regression
       Metrics                      Bayes         Classification
                          Churn

     Dependencies                                  Ranking

                            Org
            …


© Microsoft Corporation
Defect prediction

                                               Model
   Software element                                         Prediction
                                                  PCA
                                               Regression
  Predictor               Precision   Recall     Bayes
       Metrics                                                 Classification
  Pre-Release Bugs        73.80%   62.90%
                                Churn
  Test Coverage           83.80%      54.40%
    Dependencies
  Dependencies 74.40%                 69.90%                    Ranking
  Code Complexity         79.30%      66.00%
  Code Churn              78.60%      …
                                      79.90%
            …
  Org. Structure          86.20%      84.00%


© Microsoft Corporation
Interpretation
                                               Org B
              Org A


            Low                                         Binary

             Risk                                      Bug Fix
                                                        New
                                                        Feature




                                           Org D
      Org C



© Microsoft Corporation
Interpretation
                                               Org B
              Org A


                                                        Binary
                                                       Bug Fix
                                                        New
                                                        Feature




                                           Org D
      Org C
                                High Risk Known

© Microsoft Corporation
Interpretation
                                               Org B
              Org A


                                                        Binary
                                                       Bug Fix
                                                        New
                                                        Feature

                  High Risk
                  Unknown
                                           Org D
      Org C



© Microsoft Corporation
Christian Bird, Nachi Nagappan, Prem Devanbu,
        Harald Gall, Brendan Murphy @ ICSE 2009

        DOES DISTRIBUTED DEVELOPMENT
        AFFECT QUALITY?




© Microsoft Corporation
Distributed development
     • Global development is becoming more common.
     • There are many challenges, lots of research
           – Multiple workshops, now a conference (ICGSE)
           – Prior research enumerates many of the hurdles and effects on
             time to market, code size, process difficulty
     • What is the effect on code quality?

                   This study focuses on the
              effect of distributed development on
               software quality in Windows Vista

© Microsoft Corporation
Data Timeline




      Gather development and organizational data up to Vista RTM.
        Measure code quality as post-release failures in the first 6
                   months following Vista’s release


© Microsoft Corporation
Examining binaries
     Level of distribution is the smallest entity that 75% of the
     commits come from




                                                 Circles not proportional to
© Microsoft Corporation                              number of binaries
Examining binaries
     Level of distribution is the smallest entity that 75% of the
     commits come from




© Microsoft Corporation
Effect on quality
     Use linear regression to examine effect on
     post-release failures
     Model: Levels of distribution
                    Diff       Diff      Diff     Diff        Diff    Number
      Name                                                                      Failures
                  Buildings Cafeterias Campuses Localities Continents of Devs

      foo.dll        0         1         0          0     Variable
                                                                0         10 increase Std Err. Significance
                                                                            %       3
                                                          (Constant)                      0.09     p < 0.001
      bar.exe        0         0         0          0           0          2        2
                                                          Diff Buildings         2.6%     0.42     p = 0.493
      baz.sys        0         0         0          0           0         6         7
                                                          Diff Cafeterias        3.9%     0.18     p = 0.016
      hello.exe      0         0         0          1           0         23        8
                                                          Diff Campuses          6.3%     0.29     p = 0.019
                                                          Diff Localities       8.3%       1.23    p = 0.457
                                                          Diff Continents       -3.9%      0.26     p = 0.101
                                                          Num Devs                         0.00    p < 0.001


© Microsoft Corporation
Why did distributed development work?

     •   Not outsourcing
     •   Liaisons and face to face meetings
     •   Senior engineers started in Redmond
     •   Daily synchronous communication
     •   Consistent process and tools
     •   End to end ownership
     •   Common schedules
     •   Organizational integration


© Microsoft Corporation
Outline
                          Socio-technical congruence
                          • Contribution behavior, technical relationships, and quality
                          • Does organizational structure affect bugs?
                          • Investigating the effects of geographic distribution

                          Bug reporting and triage
                          • What makes a good bug report?
                          • Characterizing bug reassignments and fixed bugs
                          • Collaboration and information needs in bug reports

                          Data-driven software engineering
                          • Failure-prediction/risk analysis
                          • Assessment of test-driven development and unit testing
                          • Analytics for software development




© Microsoft Corporation
A confession…




© Microsoft Corporation
Opinions expressed on this slide are the personal opinions of the presenter, not of Microsoft. ;-)




© Microsoft Corporation
Backyard Safari Bug Vacuum   Best Ever Bug Jar
Price: $19.82                       Price: $8.12




      Big Bunch O' Bugs
      Price: $8.25



                                    Watch a Bug
                                    Price: $7.59
Found viaCorporation
 © Microsoft
© Microsoft Corporation
© Microsoft Corporation
Incomplete bugs




                          Duplicate bugs




© Microsoft Corporation
Too many bugs




© Microsoft Corporation
BUG TRACKING 101



© Microsoft Corporation
Your software fails…




© Microsoft Corporation
Slide provided by Sascha
© Microsoft Corporation Just
© Microsoft Corporation   Slide provided by Rahul Premraj
© Microsoft Corporation   Slide provided by Rahul Premraj
© Microsoft Corporation   Slide provided by Rahul Premraj
Philip J. Guo, Thomas Zimmermann,
        Nachiappan Nagappan, Brendan Murphy @ ICSE 2010

        CHARACTERIZING WHICH BUGS
        GET FIXED IN WINDOWS



© Microsoft Corporation
Not all bugs get fixed
     • Bug #1 occurs rarely and affects only a few users.
           – Changes required to fix Bug #1 could be large and
             expensive.

     • Fixing Bug #2 could introduce new bugs
           – Code changes that fix bugs are up to twice as likely to
             introduce new bugs as other kinds of changes.

     • Users are relying on existing behavior
           – Fixing the bug could break their systems.



© Microsoft Corporation
Research question

     How do factors related to people and
     bug report edits affect whether a bug
     is successfully resolved as FIXED?

     → Inefficiencies in bug triaging process
     → Inform design of tools and policies


© Microsoft Corporation
Bug handling is pervasive



24,000+ Microsoft employees
   reported and handled Windows bugs

                          (vs. 2,000+ Windows developers)




© Microsoft Corporation
Methodology


                  Qualitative    Quantitative
                   survey        data analysis

     Reputation • Interest • Reassignments • Distance •
     Additional qualitative factors from survey



© Microsoft Corporation
Qualitative survey
     • In your experience, how do each of these
       factors affect the chances of whether a bug
       will get successfully resolved as FIXED?
           – 7-point Likert scale

     • Sent to 1,773 Microsoft employees
           – Employees who opened OR were assigned to OR
             resolved most Windows Vista bugs
           – 358 responded (20%)



© Microsoft Corporation
SURVEY: How does the bug report's activity affect the
chances of it being successfully fixed?
             Severity upgraded

         Severity downgraded

              Few editors (<10)

          Many editors (>=10)

        No re-assignments (0)

   Few re-assignments (1-5)

 Many re-assignments (>30)

             At least 1 re-open

                                  -3        -2        -1     0     1         2          3
                                  Decreases chances of fix       Increases chances of fix


© Microsoft Corporation
SURVEY: How do the people involved in addressing the
bug affect the chances of it being successfully fixed?
 Opener/assignee same person

                     Same manager

                      Same building

                          Same country

               Different managers

                Different countries

    Opened by temp. employee

   Assigned to temp. employee

                                         -3       -2       -1       0      1        2          3
                                         Decreases chances of fix       Increases chances of fix


© Microsoft Corporation
SURVEY: Other qualitative factors
         Textual quality of bug report:
         “Just to re-emphasize: The quality of the bug description is very important. Not
         necessarily filling in the dozens of fields in the bug database with all sorts of crap
         (build numbers, dates, classifications, etc) - but just the plain-text description of
         the problem, the implication and maybe even the potential solution.”

         Perceived customer/business impact:
         “Customer impact can be a very big impact on a bug if evidence exists to
         show the cost of not fixing the bug for one or more customers.”

         Rank and seniority of bug opener:
         “A bug opened because something went wrong on a VPs [vice president’s]
         laptop has better chance [of being fixed] than a bug opened because the
         same thing happened to an intern.”

         Interpersonal skills of bug opener:
         “One other ‘soft’ factor is the speaking skill persuasiveness of the developer
         (or other representative) when arguing for the bug.”


© Microsoft Corporation
Quantitative data analysis
     • Correlate likelihood of bug report getting fixed
           – Reputation • Interest • Reassignments • Distance

     • Windows Vista and Windows 7 bug reports
           – Bug lifetime: open, assign, edit, resolve, close

     • Microsoft employee data
           – Manager, Building, Country



© Microsoft Corporation
#1: Reputation

                          “A big influence [on bug fixes] is the
                          reputation of the person opening the bug.
                          If submitter has a history of submitting
                          high quality bugs then new bugs from that
                          person get better attention [...]”



                                     From anonymous survey respondent




© Microsoft Corporation
Quantifying reputation




                For each bug, calculate opener’s reputation by
                aggregating over all bugs in the past.


Hooimeijer and Weimer: Modeling bug report quality. ASE 2007.


© Microsoft Corporation
Reputation vs. bug fixes




© Microsoft Corporation
Reputation vs. bug fixes




© Microsoft Corporation
#2: Interest
                            Windows Vista




© Microsoft Corporation
#3: Reassignments
             Severity upgraded

         Severity downgraded

              Few editors (<10)

          Many editors (>=10)

        No re-assignments (0)

   Few re-assignments (1-5)

 Many re-assignments (>30)

             At least 1 re-open

                                  -3   -2   -1   0   1   2   3



© Microsoft Corporation
#3: Reassignments
                               Windows Vista




© Microsoft Corporation
The need for reassignments
                          “Bugs many times are exposed in the
                          UI [user interface], but are not caused
                          by the team writing the UI code.
                          These bugs can pass down several
                          layers of components before landing
                          on a lower level component owner.”



                                    From anonymous survey respondent




© Microsoft Corporation
#4: Distance
   Geographical




Organizational




© Microsoft Corporation
Trust vs. distance

                          “Whenever I open bugs assigned to people
                          I know, they are investigated thoroughly as
                          there is a trust in the report I write.
                          Often when reporting a bug within areas
                          where I don't know the owners, there is
                          inherent distrust in the bug report.”


                                      From anonymous survey respondent




© Microsoft Corporation
Recommendations
     • Train and incentivize employees to write
       higher-quality bug reports
     • Improve awareness of developers’ expertise
       to minimize reassignments
     • Improve communication and trust amongst
       people in different teams and locations
     • Encourage more objectivity in prioritizing and
       handling bugs


© Microsoft Corporation
Outline
                          Socio-technical congruence
                          • Contribution behavior, technical relationships, and quality
                          • Does organizational structure affect bugs?
                          • Investigating the effects of geographic distribution

                          Bug reporting and triage
                          • What makes a good bug report?
                          • Characterizing bug reassignments and fixed bugs
                          • Collaboration and information needs in bug reports

                          Data-driven software engineering
                          • Failure-prediction/risk analysis
                          • Assessment of test-driven development and unit testing
                          • Analytics for software development




© Microsoft Corporation
What metrics are the                    If I increase test coverage, will that
  best predictors of failures?            actually increase software quality?

  What is the data quality level            Are there any metrics that are indicators of
  used in empirical studies and             failures in both Open Source and Commercial
  how much does it actually                 domains?
  matter?
                          I just submitted a bug report.
                                  Will it be fixed?         Should I be writing unit
 How can I tell if a piece
                                                            tests in my software
 of software will have vulnerabilities?                     project?
                                            Is strong code ownership good or
     Do cross-cutting concerns              bad for software quality?
                cause defects?
                                                           Does Distributed/Global software
 Does Test Driven Development (TDD)                        development affect quality?
 produce better code in shorter time?

© Microsoft Corporation
Ray Buse, Thomas Zimmermann @ FoSER 2010

        TOWARDS ANALYTICS FOR
        SOFTWARE DEVELOPMENT


© Microsoft Corporation
Mining
                           Software
                          Repositories


                                         Software
                                         Analytics
                           Empirical
                           Software
                          Engineering




© Microsoft Corporation
Mining
                           Software
                          Repositories

                                           Software
                                         Development
                                           Analytics
                           Empirical
                           Software
                          Engineering




© Microsoft Corporation
Analytics
                           “Use of analysis, data,
                           and systematic reasoning
                           to make decisions”
                           Financial services
                           Retail
                           Manufacturing
                           Health care
                           Energy
                           And more…


© Microsoft Corporation
Analytics
                              Past            Present                  Future

                             What              What is               What will
  Information              happened?       happening now?            happen?
                            (Reporting)        (Alerts)             (Extrapolation)


                                                                   What’s the
                          How and why      What’s the next
                                                                 best/worst that
       Insight            did it happen?    best action?
                                                                  can happen?
                            (Modeling)     (Recommendation)
                                                                      (Prediction)

                                             From Davenport et al. “Analytics at Work”.


© Microsoft Corporation
Web analytics




© Microsoft Corporation
Mining
                           Software
                          Repositories

                                           Software
                                         Development
                                           Analytics
                           Empirical
                           Software
                          Engineering




© Microsoft Corporation
Understanding data is hard!
                                   The peak at
                                   A is correct!    So
                                   Why is the
                                    peak at B?     what?
                              B
Researcher                A
                                                   Developer




© Microsoft Corporation
Each project is different!
                                                       Has to learn about
        Knows how to                                   analysis to understand
        analyze data                                   and act on results

Researcher                 Makes assumptions   Knows project
                           about project       very well            Developer




© Microsoft Corporation
Software development analyst

                            Knows enough
                            about data analysis


                                    Knows enough
                                    about project to
                                    make the right
                                    assumptions




© Microsoft Corporation
Stakeholders have different needs
Researcher                Developer   Tester   Dev Lead   Test Lead   Manager




© Microsoft Corporation
A single tool is not enough

                            Surveys


                                      Qualitative data
         Measurements

                                                  Benchmarking




© Microsoft Corporation
Make data actionable and accessible




© Microsoft Corporation
#1: Data collection

                               Data focused




       Integration
                              Scenario focused




© Microsoft Corporation
#2: Data quality




© Microsoft Corporation
#3: Privacy




© Microsoft Corporation
#4: Understand user needs




© Microsoft Corporation
#4: Understand user needs




                                 Developers: well studied




© Microsoft Corporation
#4: Understand user needs


                          Managers: not many studies




                                       Developers: well studied




© Microsoft Corporation
#4: Understand user needs


                          Managers: not many studies




                                Communication: not many studies




                                       Developers: well studied




© Microsoft Corporation
#5: User experience




© Microsoft Corporation
#6: Education




© Microsoft Corporation
Make data actionable and accessible

                            Data collection

Data quality                                        Privacy
                          Education
          Understand
          user needs

   User experience
                                        http://msrconf.org
© Microsoft Corporation

More Related Content

What's hot

A REVIEW OF SECURITY INTEGRATION TECHNIQUE IN AGILE SOFTWARE DEVELOPMENT
A REVIEW OF SECURITY INTEGRATION TECHNIQUE IN AGILE SOFTWARE DEVELOPMENTA REVIEW OF SECURITY INTEGRATION TECHNIQUE IN AGILE SOFTWARE DEVELOPMENT
A REVIEW OF SECURITY INTEGRATION TECHNIQUE IN AGILE SOFTWARE DEVELOPMENTijseajournal
 
Security Patterns: Research Direction, Metamodel, Application and Verification
Security Patterns: Research Direction, Metamodel, Application and VerificationSecurity Patterns: Research Direction, Metamodel, Application and Verification
Security Patterns: Research Direction, Metamodel, Application and VerificationHironori Washizaki
 
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data
Lies, Damned Lies and Software Analytics:  Why Big Data Needs Rich DataLies, Damned Lies and Software Analytics:  Why Big Data Needs Rich Data
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich DataMargaret-Anne Storey
 
Secunia Vulnerability Review 2014
Secunia Vulnerability Review 2014Secunia Vulnerability Review 2014
Secunia Vulnerability Review 2014Kim Jensen
 
The Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave FarleyThe Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave FarleyBosnia Agile
 
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago
 
COMPARATIVE REVIEW OF MALWARE ANALYSIS METHODOLOGIES
COMPARATIVE REVIEW OF MALWARE ANALYSIS METHODOLOGIESCOMPARATIVE REVIEW OF MALWARE ANALYSIS METHODOLOGIES
COMPARATIVE REVIEW OF MALWARE ANALYSIS METHODOLOGIESIJNSA Journal
 
A framework for adoption of machine learning in industry for software defect ...
A framework for adoption of machine learning in industry for software defect ...A framework for adoption of machine learning in industry for software defect ...
A framework for adoption of machine learning in industry for software defect ...RAKESH RANA
 
Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland Panos Fitsilis
 
Resume_AdityaKumar-1
Resume_AdityaKumar-1Resume_AdityaKumar-1
Resume_AdityaKumar-1Aditya Kumar
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)Tao Xie
 
Capgemini and HPE Team Up to Foster Behavioral Change That Brings Better Cybe...
Capgemini and HPE Team Up to Foster Behavioral Change That Brings Better Cybe...Capgemini and HPE Team Up to Foster Behavioral Change That Brings Better Cybe...
Capgemini and HPE Team Up to Foster Behavioral Change That Brings Better Cybe...Dana Gardner
 
Games for Analysis of Technologies in Human-Intensive Systems - Dr. Tim Dasey...
Games for Analysis of Technologies in Human-Intensive Systems - Dr. Tim Dasey...Games for Analysis of Technologies in Human-Intensive Systems - Dr. Tim Dasey...
Games for Analysis of Technologies in Human-Intensive Systems - Dr. Tim Dasey...SeriousGamesAssoc
 
Security Survey 2013 UK
Security Survey 2013 UKSecurity Survey 2013 UK
Security Survey 2013 UKKim Jensen
 
Applications of genetic algorithms to malware detection and creation
Applications of genetic algorithms to malware detection and creationApplications of genetic algorithms to malware detection and creation
Applications of genetic algorithms to malware detection and creationUltraUploader
 
CMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECTCMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECTHamesKellor
 
IRJET- Data Reduction in Bug Triage using Supervised Machine Learning
IRJET- Data Reduction in Bug Triage using Supervised Machine LearningIRJET- Data Reduction in Bug Triage using Supervised Machine Learning
IRJET- Data Reduction in Bug Triage using Supervised Machine LearningIRJET Journal
 

What's hot (19)

Dtl 2012 q4_home.1
Dtl 2012 q4_home.1Dtl 2012 q4_home.1
Dtl 2012 q4_home.1
 
A REVIEW OF SECURITY INTEGRATION TECHNIQUE IN AGILE SOFTWARE DEVELOPMENT
A REVIEW OF SECURITY INTEGRATION TECHNIQUE IN AGILE SOFTWARE DEVELOPMENTA REVIEW OF SECURITY INTEGRATION TECHNIQUE IN AGILE SOFTWARE DEVELOPMENT
A REVIEW OF SECURITY INTEGRATION TECHNIQUE IN AGILE SOFTWARE DEVELOPMENT
 
Security Patterns: Research Direction, Metamodel, Application and Verification
Security Patterns: Research Direction, Metamodel, Application and VerificationSecurity Patterns: Research Direction, Metamodel, Application and Verification
Security Patterns: Research Direction, Metamodel, Application and Verification
 
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data
Lies, Damned Lies and Software Analytics:  Why Big Data Needs Rich DataLies, Damned Lies and Software Analytics:  Why Big Data Needs Rich Data
Lies, Damned Lies and Software Analytics: Why Big Data Needs Rich Data
 
Secunia Vulnerability Review 2014
Secunia Vulnerability Review 2014Secunia Vulnerability Review 2014
Secunia Vulnerability Review 2014
 
The Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave FarleyThe Rationale for Continuous Delivery by Dave Farley
The Rationale for Continuous Delivery by Dave Farley
 
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
 
COMPARATIVE REVIEW OF MALWARE ANALYSIS METHODOLOGIES
COMPARATIVE REVIEW OF MALWARE ANALYSIS METHODOLOGIESCOMPARATIVE REVIEW OF MALWARE ANALYSIS METHODOLOGIES
COMPARATIVE REVIEW OF MALWARE ANALYSIS METHODOLOGIES
 
A framework for adoption of machine learning in industry for software defect ...
A framework for adoption of machine learning in industry for software defect ...A framework for adoption of machine learning in industry for software defect ...
A framework for adoption of machine learning in industry for software defect ...
 
Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland Mindtrek 2015 - Tampere Finland
Mindtrek 2015 - Tampere Finland
 
Resume_AdityaKumar-1
Resume_AdityaKumar-1Resume_AdityaKumar-1
Resume_AdityaKumar-1
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
 
Capgemini and HPE Team Up to Foster Behavioral Change That Brings Better Cybe...
Capgemini and HPE Team Up to Foster Behavioral Change That Brings Better Cybe...Capgemini and HPE Team Up to Foster Behavioral Change That Brings Better Cybe...
Capgemini and HPE Team Up to Foster Behavioral Change That Brings Better Cybe...
 
Games for Analysis of Technologies in Human-Intensive Systems - Dr. Tim Dasey...
Games for Analysis of Technologies in Human-Intensive Systems - Dr. Tim Dasey...Games for Analysis of Technologies in Human-Intensive Systems - Dr. Tim Dasey...
Games for Analysis of Technologies in Human-Intensive Systems - Dr. Tim Dasey...
 
Security Survey 2013 UK
Security Survey 2013 UKSecurity Survey 2013 UK
Security Survey 2013 UK
 
Applications of genetic algorithms to malware detection and creation
Applications of genetic algorithms to malware detection and creationApplications of genetic algorithms to malware detection and creation
Applications of genetic algorithms to malware detection and creation
 
CMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECTCMIT 321 EXECUTIVE PROPOSAL PROJECT
CMIT 321 EXECUTIVE PROPOSAL PROJECT
 
2010 GISS EY
2010 GISS EY2010 GISS EY
2010 GISS EY
 
IRJET- Data Reduction in Bug Triage using Supervised Machine Learning
IRJET- Data Reduction in Bug Triage using Supervised Machine LearningIRJET- Data Reduction in Bug Triage using Supervised Machine Learning
IRJET- Data Reduction in Bug Triage using Supervised Machine Learning
 

Viewers also liked

Data driven games user research
Data driven games user researchData driven games user research
Data driven games user researchThomas Zimmermann
 
認定スクラムマスター研修に行ってきました
認定スクラムマスター研修に行ってきました認定スクラムマスター研修に行ってきました
認定スクラムマスター研修に行ってきましたHajime Yanagawa
 
Presentación1gestion de calidad
Presentación1gestion de calidadPresentación1gestion de calidad
Presentación1gestion de calidadfranciscooosssss
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Nicolas Bettenburg
 
ICSE 2011: Research industry panel
ICSE 2011: Research industry panelICSE 2011: Research industry panel
ICSE 2011: Research industry panelMargaret-Anne Storey
 
Mining Software Repositories: Using Humans to Better Software
Mining Software Repositories: Using Humans to Better SoftwareMining Software Repositories: Using Humans to Better Software
Mining Software Repositories: Using Humans to Better SoftwareMarat Akhin
 
MSR 2009
MSR 2009MSR 2009
MSR 2009swy351
 
ICPE2015
ICPE2015ICPE2015
ICPE2015swy351
 
ICSME2014
ICSME2014ICSME2014
ICSME2014swy351
 
Msr2016 tarek
Msr2016 tarek Msr2016 tarek
Msr2016 tarek swy351
 
WCRE2011
WCRE2011WCRE2011
WCRE2011swy351
 
ICSE2013
ICSE2013ICSE2013
ICSE2013swy351
 
ICSE2014
ICSE2014ICSE2014
ICSE2014swy351
 
Mining Sociotechnical Information From Software Repositories
Mining Sociotechnical Information From Software RepositoriesMining Sociotechnical Information From Software Repositories
Mining Sociotechnical Information From Software RepositoriesMarco Aurelio Gerosa
 
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Margaret-Anne Storey
 
ASE2010
ASE2010ASE2010
ASE2010swy351
 
MSR End of Internship Talk
MSR End of Internship TalkMSR End of Internship Talk
MSR End of Internship TalkRay Buse
 
A Metric for Code Readability
A Metric for Code ReadabilityA Metric for Code Readability
A Metric for Code ReadabilityRay Buse
 

Viewers also liked (20)

Data driven games user research
Data driven games user researchData driven games user research
Data driven games user research
 
認定スクラムマスター研修に行ってきました
認定スクラムマスター研修に行ってきました認定スクラムマスター研修に行ってきました
認定スクラムマスター研修に行ってきました
 
9 reglas de la ciudadanía digital
9 reglas de la ciudadanía digital9 reglas de la ciudadanía digital
9 reglas de la ciudadanía digital
 
Presentación1gestion de calidad
Presentación1gestion de calidadPresentación1gestion de calidad
Presentación1gestion de calidad
 
Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...Mining Development Repositories to Study the Impact of Collaboration on Softw...
Mining Development Repositories to Study the Impact of Collaboration on Softw...
 
ICSE 2011: Research industry panel
ICSE 2011: Research industry panelICSE 2011: Research industry panel
ICSE 2011: Research industry panel
 
Icpc 2011 storey
Icpc 2011 storeyIcpc 2011 storey
Icpc 2011 storey
 
Mining Software Repositories: Using Humans to Better Software
Mining Software Repositories: Using Humans to Better SoftwareMining Software Repositories: Using Humans to Better Software
Mining Software Repositories: Using Humans to Better Software
 
MSR 2009
MSR 2009MSR 2009
MSR 2009
 
ICPE2015
ICPE2015ICPE2015
ICPE2015
 
ICSME2014
ICSME2014ICSME2014
ICSME2014
 
Msr2016 tarek
Msr2016 tarek Msr2016 tarek
Msr2016 tarek
 
WCRE2011
WCRE2011WCRE2011
WCRE2011
 
ICSE2013
ICSE2013ICSE2013
ICSE2013
 
ICSE2014
ICSE2014ICSE2014
ICSE2014
 
Mining Sociotechnical Information From Software Repositories
Mining Sociotechnical Information From Software RepositoriesMining Sociotechnical Information From Software Repositories
Mining Sociotechnical Information From Software Repositories
 
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
 
ASE2010
ASE2010ASE2010
ASE2010
 
MSR End of Internship Talk
MSR End of Internship TalkMSR End of Internship Talk
MSR End of Internship Talk
 
A Metric for Code Readability
A Metric for Code ReadabilityA Metric for Code Readability
A Metric for Code Readability
 

Similar to Empirical Software Engineering at Microsoft Research

Elevator pitch for testing software architecture and software design
Elevator pitch for testing software architecture and software designElevator pitch for testing software architecture and software design
Elevator pitch for testing software architecture and software designZarko Acimovic
 
Elevator pitch architecture design
Elevator pitch architecture designElevator pitch architecture design
Elevator pitch architecture designZarko Acimovic
 
Future Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionFuture Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionTom Mens
 
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introductionDr. Loganathan R
 
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
 
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
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect predictionThomas Zimmermann
 
Standardized Risk Measurement for IT Executives 101
Standardized Risk Measurement for IT Executives 101Standardized Risk Measurement for IT Executives 101
Standardized Risk Measurement for IT Executives 101Konstantin Berger
 
Thomas.mc vittie
Thomas.mc vittieThomas.mc vittie
Thomas.mc vittieNASAPMC
 
Does Agile Really Work For Business Critical Applications?
Does Agile Really Work For Business Critical Applications?Does Agile Really Work For Business Critical Applications?
Does Agile Really Work For Business Critical Applications?CAST
 
Software engineering
Software engineeringSoftware engineering
Software engineeringh2eEdgar
 
SDT STRW Test Assessment White Paper
SDT STRW Test Assessment White PaperSDT STRW Test Assessment White Paper
SDT STRW Test Assessment White PaperJamesWright
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTSMicrosoft Iceland
 
Class quality evaluation using class quality scorecards
Class quality evaluation using class quality scorecardsClass quality evaluation using class quality scorecards
Class quality evaluation using class quality scorecardsIAEME Publication
 
Class quality evaluation using class quality
Class quality evaluation using class qualityClass quality evaluation using class quality
Class quality evaluation using class qualityIAEME Publication
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingRachel Davis
 

Similar to Empirical Software Engineering at Microsoft Research (20)

NessPRO Italy on CAST
NessPRO Italy on CASTNessPRO Italy on CAST
NessPRO Italy on CAST
 
Elevator pitch for testing software architecture and software design
Elevator pitch for testing software architecture and software designElevator pitch for testing software architecture and software design
Elevator pitch for testing software architecture and software design
 
Elevator pitch architecture design
Elevator pitch architecture designElevator pitch architecture design
Elevator pitch architecture design
 
Future Research Challenges in Software Evolution
Future Research Challenges in Software EvolutionFuture Research Challenges in Software Evolution
Future Research Challenges in Software Evolution
 
Software engineering introduction
Software engineering   introductionSoftware engineering   introduction
Software engineering introduction
 
Org And Sw Quality
Org And Sw QualityOrg And Sw Quality
Org And Sw Quality
 
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
 
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 ...
 
Software Engineering by Pankaj Jalote
Software Engineering by Pankaj JaloteSoftware Engineering by Pankaj Jalote
Software Engineering by Pankaj Jalote
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
Basics of se
Basics of seBasics of se
Basics of se
 
Standardized Risk Measurement for IT Executives 101
Standardized Risk Measurement for IT Executives 101Standardized Risk Measurement for IT Executives 101
Standardized Risk Measurement for IT Executives 101
 
Thomas.mc vittie
Thomas.mc vittieThomas.mc vittie
Thomas.mc vittie
 
Does Agile Really Work For Business Critical Applications?
Does Agile Really Work For Business Critical Applications?Does Agile Really Work For Business Critical Applications?
Does Agile Really Work For Business Critical Applications?
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
SDT STRW Test Assessment White Paper
SDT STRW Test Assessment White PaperSDT STRW Test Assessment White Paper
SDT STRW Test Assessment White Paper
 
Application Lifecycle Management & VSTS
Application Lifecycle Management & VSTSApplication Lifecycle Management & VSTS
Application Lifecycle Management & VSTS
 
Class quality evaluation using class quality scorecards
Class quality evaluation using class quality scorecardsClass quality evaluation using class quality scorecards
Class quality evaluation using class quality scorecards
 
Class quality evaluation using class quality
Class quality evaluation using class qualityClass quality evaluation using class quality
Class quality evaluation using class quality
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
 

More from Thomas Zimmermann

Characterizing and Predicting Which Bugs Get Reopened
Characterizing and Predicting Which Bugs Get ReopenedCharacterizing and Predicting Which Bugs Get Reopened
Characterizing and Predicting Which Bugs Get ReopenedThomas 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
 
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
 
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
 

More from Thomas Zimmermann (20)

Characterizing and Predicting Which Bugs Get Reopened
Characterizing and Predicting Which Bugs Get ReopenedCharacterizing and Predicting Which Bugs Get Reopened
Characterizing and Predicting Which Bugs Get Reopened
 
Klingon Countdown Timer
Klingon Countdown TimerKlingon Countdown Timer
Klingon Countdown Timer
 
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
 
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
 
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)
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
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
 
"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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
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
 
"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
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
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!
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
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
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 

Empirical Software Engineering at Microsoft Research

  • 1. Empirical Software Engineering at Microsoft Research Christian Bird Nachiappan Nagappan Brendan Murphy Thomas Zimmermann, Microsoft Research © Microsoft Corporation
  • 2. © Microsoft Corporation © Microsoft Corporation
  • 3. The ESE Group at Microsoft Socio-technical congruence • Contribution behavior, technical relationships, and quality • Does organizational structure affect bugs? • Investigating the effects of geographic distribution Bug reporting and triage • What makes a good bug report? • Characterizing bug reassignments and fixed bugs • Collaboration and information needs in bug reports Data-driven software engineering • Failure-prediction/risk analysis • Assessment of test-driven development and unit testing • Analytics for software development © Microsoft Corporation
  • 4. Collaborations of the ESE Group Main locations of the ESM Group: Redmond, Cambridge (UK) Collaborations with other MSR Labs: Microsoft Research India (Bangalore), Microsoft Research Asia (Beijing), European Microsoft Innovation Center (Aachen, Germany) Interns 2007-2010: U of Virginia (Ray Buse); U of California, Santa Cruz (Ken Hullett); National Institute of Technology, Tiruchirappalli, India (Kalaikumaran Ramamurthy); Stanford U (Philip Guo); Boğaziçi U, Turkey (Ayse Tosun); Darmstadt U of Technology (Andreas Johansson); North Carolina State U (Lucas Layman, Mei Nagappan) Visitors 2007-2010: Hong Kong U of Science and Technology (Sung Kim); U of Zurich (Harald Gall, Martin Pinzger); Saarland U (Andreas Zeller); North Carolina State U (Laurie Williams); U of Maryland (Victor Basili); Darmstadt U of Technology (Neeraj Suri). © Microsoft Corporation
  • 5. Outline Socio-technical congruence • Contribution behavior, technical relationships, and quality • Does organizational structure affect bugs? • Investigating the effects of geographic distribution Bug reporting and triage • What makes a good bug report? • Characterizing bug reassignments and fixed bugs • Collaboration and information needs in bug reports Data-driven software engineering • Failure-prediction/risk analysis • Assessment of test-driven development and unit testing • Analytics for software development © Microsoft Corporation
  • 6. Nachiappan Nagappan, Brendan Murphy, Victor Basili @ ICSE 2008 INFLUENCE OF ORGANIZATIONAL STRUCTURE ON SOFTWARE QUALITY © Microsoft Corporation
  • 7. Motivation • Conway’s Law: – “Organizations that design systems are constrained to produce systems which are copies of the communication structures of these organizations.” • Brooks argues in the Mythical Man Month: – product quality is strongly affected by that structure. • Little empirical evidence for relationship between organizational structure and software quality © Microsoft Corporation
  • 8. Factors that influence software quality • Number of changes • Number of people who make changes • Number of people who left the company • Cohesiveness of contributions – Do most edits come from the team that owns the component? – How many organizations do make many edits to the component? © Microsoft Corporation
  • 9. Examples of organizational metrics Total Edits = 250 Total Engineers Editing = 32 Total Ex-Engineers = 0 Top Level 30 Other Top 40 30 Manager M.L0 Level Manager M.L0 M.L0 10 200 40 M.L1 10 M.L1 M.L1 190 M.L1 M.L1 Org Size No Of Edits Ln = Level n Owner (>75% edits) M.L2 190 E1 E2 E3 E4 E5 E6 E7 30 45 60 25 30 NOE = 32 NOEE = 0 EF = 250 DMO = 2 PO = 7/30 OCO © Microsoft Corporation = 190/250 OOW = 5/32 OIF (>10% edits) = 2
  • 10. Organization metrics • The more people who touch the code, the lower the quality (NOE) • A large loss of team members affects the knowledge retention and lowers the quality (NOEE) • The more edits to components, the higher the instability and the lower the quality (EF) • The lower the level the ownership, the better the quality (DMO) • The more cohesive the contributors (organizationally), the higher the quality (PO) • The more cohesive the contributions (edits), the higher the quality (OCO) • The more the diffuse the contribution to a binary, the lower the quality (OOW) • The more diffuse the different organizations contributing code, the lower the quality (OIF) © Microsoft Corporation
  • 11. Defect prediction Model Software element Prediction PCA Regression Metrics Bayes Classification Churn Dependencies Ranking Org … © Microsoft Corporation
  • 12. Defect prediction Model Software element Prediction PCA Regression Predictor Precision Recall Bayes Metrics Classification Pre-Release Bugs 73.80% 62.90% Churn Test Coverage 83.80% 54.40% Dependencies Dependencies 74.40% 69.90% Ranking Code Complexity 79.30% 66.00% Code Churn 78.60% … 79.90% … Org. Structure 86.20% 84.00% © Microsoft Corporation
  • 13. Interpretation Org B Org A Low Binary Risk Bug Fix New Feature Org D Org C © Microsoft Corporation
  • 14. Interpretation Org B Org A Binary Bug Fix New Feature Org D Org C High Risk Known © Microsoft Corporation
  • 15. Interpretation Org B Org A Binary Bug Fix New Feature High Risk Unknown Org D Org C © Microsoft Corporation
  • 16. Christian Bird, Nachi Nagappan, Prem Devanbu, Harald Gall, Brendan Murphy @ ICSE 2009 DOES DISTRIBUTED DEVELOPMENT AFFECT QUALITY? © Microsoft Corporation
  • 17. Distributed development • Global development is becoming more common. • There are many challenges, lots of research – Multiple workshops, now a conference (ICGSE) – Prior research enumerates many of the hurdles and effects on time to market, code size, process difficulty • What is the effect on code quality? This study focuses on the effect of distributed development on software quality in Windows Vista © Microsoft Corporation
  • 18. Data Timeline Gather development and organizational data up to Vista RTM. Measure code quality as post-release failures in the first 6 months following Vista’s release © Microsoft Corporation
  • 19. Examining binaries Level of distribution is the smallest entity that 75% of the commits come from Circles not proportional to © Microsoft Corporation number of binaries
  • 20. Examining binaries Level of distribution is the smallest entity that 75% of the commits come from © Microsoft Corporation
  • 21. Effect on quality Use linear regression to examine effect on post-release failures Model: Levels of distribution Diff Diff Diff Diff Diff Number Name Failures Buildings Cafeterias Campuses Localities Continents of Devs foo.dll 0 1 0 0 Variable 0 10 increase Std Err. Significance % 3 (Constant) 0.09 p < 0.001 bar.exe 0 0 0 0 0 2 2 Diff Buildings 2.6% 0.42 p = 0.493 baz.sys 0 0 0 0 0 6 7 Diff Cafeterias 3.9% 0.18 p = 0.016 hello.exe 0 0 0 1 0 23 8 Diff Campuses 6.3% 0.29 p = 0.019 Diff Localities 8.3% 1.23 p = 0.457 Diff Continents -3.9% 0.26 p = 0.101 Num Devs 0.00 p < 0.001 © Microsoft Corporation
  • 22. Why did distributed development work? • Not outsourcing • Liaisons and face to face meetings • Senior engineers started in Redmond • Daily synchronous communication • Consistent process and tools • End to end ownership • Common schedules • Organizational integration © Microsoft Corporation
  • 23. Outline Socio-technical congruence • Contribution behavior, technical relationships, and quality • Does organizational structure affect bugs? • Investigating the effects of geographic distribution Bug reporting and triage • What makes a good bug report? • Characterizing bug reassignments and fixed bugs • Collaboration and information needs in bug reports Data-driven software engineering • Failure-prediction/risk analysis • Assessment of test-driven development and unit testing • Analytics for software development © Microsoft Corporation
  • 25. Opinions expressed on this slide are the personal opinions of the presenter, not of Microsoft. ;-) © Microsoft Corporation
  • 26. Backyard Safari Bug Vacuum Best Ever Bug Jar Price: $19.82 Price: $8.12 Big Bunch O' Bugs Price: $8.25 Watch a Bug Price: $7.59 Found viaCorporation © Microsoft
  • 29. Incomplete bugs Duplicate bugs © Microsoft Corporation
  • 30. Too many bugs © Microsoft Corporation
  • 31. BUG TRACKING 101 © Microsoft Corporation
  • 32. Your software fails… © Microsoft Corporation
  • 33. Slide provided by Sascha © Microsoft Corporation Just
  • 34. © Microsoft Corporation Slide provided by Rahul Premraj
  • 35. © Microsoft Corporation Slide provided by Rahul Premraj
  • 36. © Microsoft Corporation Slide provided by Rahul Premraj
  • 37. Philip J. Guo, Thomas Zimmermann, Nachiappan Nagappan, Brendan Murphy @ ICSE 2010 CHARACTERIZING WHICH BUGS GET FIXED IN WINDOWS © Microsoft Corporation
  • 38. Not all bugs get fixed • Bug #1 occurs rarely and affects only a few users. – Changes required to fix Bug #1 could be large and expensive. • Fixing Bug #2 could introduce new bugs – Code changes that fix bugs are up to twice as likely to introduce new bugs as other kinds of changes. • Users are relying on existing behavior – Fixing the bug could break their systems. © Microsoft Corporation
  • 39. Research question How do factors related to people and bug report edits affect whether a bug is successfully resolved as FIXED? → Inefficiencies in bug triaging process → Inform design of tools and policies © Microsoft Corporation
  • 40. Bug handling is pervasive 24,000+ Microsoft employees reported and handled Windows bugs (vs. 2,000+ Windows developers) © Microsoft Corporation
  • 41. Methodology Qualitative Quantitative survey data analysis Reputation • Interest • Reassignments • Distance • Additional qualitative factors from survey © Microsoft Corporation
  • 42. Qualitative survey • In your experience, how do each of these factors affect the chances of whether a bug will get successfully resolved as FIXED? – 7-point Likert scale • Sent to 1,773 Microsoft employees – Employees who opened OR were assigned to OR resolved most Windows Vista bugs – 358 responded (20%) © Microsoft Corporation
  • 43. SURVEY: How does the bug report's activity affect the chances of it being successfully fixed? Severity upgraded Severity downgraded Few editors (<10) Many editors (>=10) No re-assignments (0) Few re-assignments (1-5) Many re-assignments (>30) At least 1 re-open -3 -2 -1 0 1 2 3 Decreases chances of fix Increases chances of fix © Microsoft Corporation
  • 44. SURVEY: How do the people involved in addressing the bug affect the chances of it being successfully fixed? Opener/assignee same person Same manager Same building Same country Different managers Different countries Opened by temp. employee Assigned to temp. employee -3 -2 -1 0 1 2 3 Decreases chances of fix Increases chances of fix © Microsoft Corporation
  • 45. SURVEY: Other qualitative factors Textual quality of bug report: “Just to re-emphasize: The quality of the bug description is very important. Not necessarily filling in the dozens of fields in the bug database with all sorts of crap (build numbers, dates, classifications, etc) - but just the plain-text description of the problem, the implication and maybe even the potential solution.” Perceived customer/business impact: “Customer impact can be a very big impact on a bug if evidence exists to show the cost of not fixing the bug for one or more customers.” Rank and seniority of bug opener: “A bug opened because something went wrong on a VPs [vice president’s] laptop has better chance [of being fixed] than a bug opened because the same thing happened to an intern.” Interpersonal skills of bug opener: “One other ‘soft’ factor is the speaking skill persuasiveness of the developer (or other representative) when arguing for the bug.” © Microsoft Corporation
  • 46. Quantitative data analysis • Correlate likelihood of bug report getting fixed – Reputation • Interest • Reassignments • Distance • Windows Vista and Windows 7 bug reports – Bug lifetime: open, assign, edit, resolve, close • Microsoft employee data – Manager, Building, Country © Microsoft Corporation
  • 47. #1: Reputation “A big influence [on bug fixes] is the reputation of the person opening the bug. If submitter has a history of submitting high quality bugs then new bugs from that person get better attention [...]” From anonymous survey respondent © Microsoft Corporation
  • 48. Quantifying reputation For each bug, calculate opener’s reputation by aggregating over all bugs in the past. Hooimeijer and Weimer: Modeling bug report quality. ASE 2007. © Microsoft Corporation
  • 49. Reputation vs. bug fixes © Microsoft Corporation
  • 50. Reputation vs. bug fixes © Microsoft Corporation
  • 51. #2: Interest Windows Vista © Microsoft Corporation
  • 52. #3: Reassignments Severity upgraded Severity downgraded Few editors (<10) Many editors (>=10) No re-assignments (0) Few re-assignments (1-5) Many re-assignments (>30) At least 1 re-open -3 -2 -1 0 1 2 3 © Microsoft Corporation
  • 53. #3: Reassignments Windows Vista © Microsoft Corporation
  • 54. The need for reassignments “Bugs many times are exposed in the UI [user interface], but are not caused by the team writing the UI code. These bugs can pass down several layers of components before landing on a lower level component owner.” From anonymous survey respondent © Microsoft Corporation
  • 55. #4: Distance Geographical Organizational © Microsoft Corporation
  • 56. Trust vs. distance “Whenever I open bugs assigned to people I know, they are investigated thoroughly as there is a trust in the report I write. Often when reporting a bug within areas where I don't know the owners, there is inherent distrust in the bug report.” From anonymous survey respondent © Microsoft Corporation
  • 57. Recommendations • Train and incentivize employees to write higher-quality bug reports • Improve awareness of developers’ expertise to minimize reassignments • Improve communication and trust amongst people in different teams and locations • Encourage more objectivity in prioritizing and handling bugs © Microsoft Corporation
  • 58. Outline Socio-technical congruence • Contribution behavior, technical relationships, and quality • Does organizational structure affect bugs? • Investigating the effects of geographic distribution Bug reporting and triage • What makes a good bug report? • Characterizing bug reassignments and fixed bugs • Collaboration and information needs in bug reports Data-driven software engineering • Failure-prediction/risk analysis • Assessment of test-driven development and unit testing • Analytics for software development © Microsoft Corporation
  • 59. What metrics are the If I increase test coverage, will that best predictors of failures? actually increase software quality? What is the data quality level Are there any metrics that are indicators of used in empirical studies and failures in both Open Source and Commercial how much does it actually domains? matter? I just submitted a bug report. Will it be fixed? Should I be writing unit How can I tell if a piece tests in my software of software will have vulnerabilities? project? Is strong code ownership good or Do cross-cutting concerns bad for software quality? cause defects? Does Distributed/Global software Does Test Driven Development (TDD) development affect quality? produce better code in shorter time? © Microsoft Corporation
  • 60. Ray Buse, Thomas Zimmermann @ FoSER 2010 TOWARDS ANALYTICS FOR SOFTWARE DEVELOPMENT © Microsoft Corporation
  • 61. Mining Software Repositories Software Analytics Empirical Software Engineering © Microsoft Corporation
  • 62. Mining Software Repositories Software Development Analytics Empirical Software Engineering © Microsoft Corporation
  • 63. Analytics “Use of analysis, data, and systematic reasoning to make decisions” Financial services Retail Manufacturing Health care Energy And more… © Microsoft Corporation
  • 64. Analytics Past Present Future What What is What will Information happened? happening now? happen? (Reporting) (Alerts) (Extrapolation) What’s the How and why What’s the next best/worst that Insight did it happen? best action? can happen? (Modeling) (Recommendation) (Prediction) From Davenport et al. “Analytics at Work”. © Microsoft Corporation
  • 66. Mining Software Repositories Software Development Analytics Empirical Software Engineering © Microsoft Corporation
  • 67. Understanding data is hard! The peak at A is correct! So Why is the peak at B? what? B Researcher A Developer © Microsoft Corporation
  • 68. Each project is different! Has to learn about Knows how to analysis to understand analyze data and act on results Researcher Makes assumptions Knows project about project very well Developer © Microsoft Corporation
  • 69. Software development analyst Knows enough about data analysis Knows enough about project to make the right assumptions © Microsoft Corporation
  • 70. Stakeholders have different needs Researcher Developer Tester Dev Lead Test Lead Manager © Microsoft Corporation
  • 71. A single tool is not enough Surveys Qualitative data Measurements Benchmarking © Microsoft Corporation
  • 72. Make data actionable and accessible © Microsoft Corporation
  • 73. #1: Data collection Data focused Integration Scenario focused © Microsoft Corporation
  • 74. #2: Data quality © Microsoft Corporation
  • 76. #4: Understand user needs © Microsoft Corporation
  • 77. #4: Understand user needs Developers: well studied © Microsoft Corporation
  • 78. #4: Understand user needs Managers: not many studies Developers: well studied © Microsoft Corporation
  • 79. #4: Understand user needs Managers: not many studies Communication: not many studies Developers: well studied © Microsoft Corporation
  • 80. #5: User experience © Microsoft Corporation
  • 82. Make data actionable and accessible Data collection Data quality Privacy Education Understand user needs User experience http://msrconf.org © Microsoft Corporation