Cross-project defect prediction

Thomas Zimmermann
Thomas ZimmermannResearcher at Microsoft Research
Cross-project defect prediction


      Thomas Zimmermann, Microsoft Research
      Nachiappan Nagappan, Microsoft Research
           Harald Gall, University of Zurich
         Emanuel Giger, University of Zurich
        Brendan Murphy, Microsoft Research
Cross-project defect prediction


      Thomas Zimmermann, Microsoft Research
      Nachiappan Nagappan, Microsoft Research
           Harald Gall, University of Zurich
         Emanuel Giger, University of Zurich
        Brendan Murphy, Microsoft Research
Bugs are everywhere
Quality assurance is limited...
...by time...       ...and by money.
Spent QA resources on
              the components/files
              that need it most, i.e.,
              are most likely to fail.




© Microsoft Corporation
Defect prediction
• Learn a prediction model
  from historic data
• Predict defects for the           Predictor                     Precision           Recall
  same project                      Pre-Release Bugs               73.80%            62.90%
                                    Test Coverage                  83.80%            54.40%
• Hundreds of prediction
                                    Dependencies                   74.40%            69.90%
  models exist
                                    Code Complexity                79.30%            66.00%
• Models work fairly well
                                    Code Churn                     78.60%            79.90%
  with precision and recall
                                    Org. Structure                 86.20%            84.00%
  of up to 80%.                     From: N. Nagappan, B. Murphy, and V. Basili. The influence of
                                    organizational structure on software quality. ICSE 2008.



                       © Microsoft Corporation
Why cross-project prediction?
                    • Some projects do have
                      not enough data to train
                      prediction models or the
                      data is of poor quality
                    • New projects do have
                      no data yet

                    • Can such projects use
                      models from other projects?
                      (=cross-project prediction)

           © Microsoft Corporation
A first experiment: Firefox and IE
        precision=0.76; recall=0.88



  Firefox                                 IE


        precision=0.54; recall=0.04


Firefox can predict defects in IE.
But IE cannot predict Firefox. WHY?
                       © Microsoft Corporation
Comparing Firefox and IE
                                Domain: Browser
                     Features                     Size in LOC

  Desktop vs. mobile                                     Usage Profile


Dev. Tools and IDE                                         Languages C/CPP)


OS and environments                                      Team size

       Systematic vs. more
                                               Open vs. closed source
             adhoc
                          Local vs. distributed
                                  dev.
                       Firefox              Internet Explorer

                            © Microsoft Corporation
Research questions
• RQ 1. To which extent is it possible to use
  cross-project data for defect prediction?

• RQ 2. Which kinds of systems are good
  predictors? What is the influence of data,
  domain, company, and process?


                  © Microsoft Corporation
THE EXPERIMENT


         © Microsoft Corporation
Experiment outline
• 12 systems with 28 datasets
  – different versions
  – different levels of analysis (components, files)
• Run all 622 cross-project combinations
  – for example Firefox and IE is one combination
  – then train model from Firefox data, test on IE
  – ignore invalid combinations, e.g., do not train
    from Eclipse 3.0 and test on 2.1
                    © Microsoft Corporation
Experiment outline
• For each combination, we record
  – similarities between projects
  – precision, recall, and accuracy values
  – success, i.e., are all of precision, recall, and
    accuracy > 0.75




                     © Microsoft Corporation
Systems studied
             Project                  No. of versions              Total LOC         Total Churn
Firefox                                       2                   3.2 – 3.3 MLOC    0.64 – 0.95 MLOC
Internet Explorer                             1                     2.30 MLOC          2.20 MLOC
Direct-X                                      1                     1.50 MLOC          1.00 MLOC
Internet Information Services (IIS)           1                     2.00 MLOC          1.20 MLOC
Clustering                                    1                     0.65 MLOC          0.84 MLOC
Printing                                      1                     2.40 MLOC          2.20 MLOC
File system                                   1                     2.00 MLOC          2.20 MLOC
Kernel                                        1                     1.90 MLOC          3.20 MLOC
SQL Server 2005                               1                      4.6 MLOC          7.2 MLOC
Eclipse                                       3                   0.79 – 1.3 MLOC    1.0 - 2.1 MLOC
Apache Derby                                  4               0.49 – 0.53 MLOC        4 – 23 KLOC
Apache Tomcat                                 6               0.25 – 0.26 MLOC        8 – 98 KLOC


                                        © Microsoft Corporation
Data used in prediction models
Relative code measures on churn, complexity
and pre-release bugs
  –   Added LOC / Total LOC
  –   Deleted LOC / Total LOC
  –   Modified LOC / Total LOC
  –   (Added + deleted + modified LOC) / (Commits + 1)
  –   Cyclomatic Complexity / Total LOC
  –   Pre-release bugs / Total LOC

                       © Microsoft Corporation
RESULTS


          © Microsoft Corporation
Success rate
Any guesses?




               3.4%
                 © Microsoft Corporation
Successful cross-project predictions




              © Microsoft Corporation
Characterizing projects
Domain
Domain name
Product uses database
Product is localized
Type of user interface




                         © Microsoft Corporation
Characterizing projects
Domain                   Product
Domain name              Name
Product uses database    Company
Product is localized     Intended audience
Type of user interface   Operating system
                         Programming language
                         Single prog. language
                         Project uses C/C++
                         Project uses C#
                         Project uses Java
                         First version
                         Total lines of code


                                         © Microsoft Corporation
Characterizing projects
Domain                   Product                     Process
Domain name              Name                        Open source
Product uses database    Company                     Global development
Product is localized     Intended audience    Code reviews
Type of user interface   Operating system     Static checkers
                         Programming language Number of developers
                         Single prog. language
                         Project uses C/C++
                         Project uses C#
                         Project uses Java
                         First version
                         Total lines of code


                                         © Microsoft Corporation
Characterizing projects
Domain                   Product                     Process              Data
Domain name              Name                        Open source          Level of analysis
Product uses database    Company                     Global development   Number of observations
Product is localized     Intended audience    Code reviews         Median, maxium, and
Type of user interface   Operating system     Static checkers      standard deviation of
                         Programming language Number of developers the metrics (18 metrics)
                         Single prog. language
                         Project uses C/C++
                         Project uses C#
                         Project uses Java
                         First version
                         Total lines of code


                                         © Microsoft Corporation
Comparing projects
• If characteristic is “Domain”, “Product”,
  “Prog. languages”, or “Level of analysis”
  – Same, Different
• If nominal (for example “Open Source”)
  – Both X, Both Y, Both Z, …, Different
• If numeric (for example “LOC”)
  – Less, Same, More

                      © Microsoft Corporation
Comparing projects

                                    Characteristics
Project       Domain     Open source Code reviews LOC
Train: Firefox Browser   Yes                       Yes   3.2M
Test: IE      Browser    No                        Yes   2.3M
Similarity




                         © Microsoft Corporation
Comparing projects

                                    Characteristics
Project       Domain     Open source Code reviews LOC
Train: Firefox Browser   Yes                       Yes   3.2M
Test: IE      Browser    No                        Yes   2.3M
Similarity    Same




                         © Microsoft Corporation
Comparing projects

                                    Characteristics
Project       Domain     Open source Code reviews LOC
Train: Firefox Browser   Yes                       Yes   3.2M
Test: IE      Browser    No                        Yes   2.3M
Similarity    Same       Different




                         © Microsoft Corporation
Comparing projects

                                    Characteristics
Project       Domain     Open source Code reviews LOC
Train: Firefox Browser   Yes                       Yes        3.2M
Test: IE      Browser    No                        Yes        2.3M
Similarity    Same       Different                 Both Yes




                         © Microsoft Corporation
Comparing projects

                                    Characteristics
Project       Domain     Open source Code reviews LOC
Train: Firefox Browser   Yes                       Yes        3.2M
Test: IE      Browser    No                        Yes        2.3M
Similarity    Same       Different                 Both Yes   Less




                         © Microsoft Corporation
Comparing projects

                                    Characteristics
Project       Domain     Open source Code reviews LOC
Train: Firefox Browser   Yes                       Yes        3.2M
Test: IE      Browser    No                        Yes        2.3M
Similarity    Same       Different                 Both Yes   Less

     How are these similarities related to precision,
     recall, and accuracy?

                         © Microsoft Corporation
Influence of individual factors
• For each characteristic and level
  – check with t-tests whether they influence
    precision, recall, accuracy
  – in total 375 tests; account for multiple hypothesis
    testing with Bonferroni correction
• Possible effects on precision, recall, accuracy
  – Increase
  – Decrease
  – No significant effect
                      © Microsoft Corporation
Influence of individual factors

                                     Characteristics
Project        Domain     Open source Code reviews LOC
Train: Firefox Browser    Yes                       Yes        3.2M
Test: IE       Browser    No                        Yes        2.3M
Similarity     Same       Different                 Both Yes   Less


 Accuracy UP      Recall UP              Precision UP  Precision DOWN
                  Accuracy DOWN          Recall UP
                                         Accuracy DOWN
                          © Microsoft Corporation
Influence of individual factors
         For full list see Table 2 and 3 in the paper.
           Table 2. Nominal characteristics and how they influence precision, recall, and accuracy.
Factor                            Both    Precision   Recall   Accuracy                Precision   Recall   Accuracy
Domain                           Same:       —         —         UP       Different:      —         —       DOWN
                              Apache:        —        DOWN       —
Company                                                                   Different:    DOWN        —          —
                             Microsoft:      UP         —      DOWN
Product
                                   Yes:      —        DOWN      UP
Open source                                                               Different:      —         UP      DOWN
                                   No:       UP         —      DOWN
                                   Yes:      —        DOWN       UP
Global development                                                        Different:      —         UP      DOWN
                                   No:       UP         —        —
                                   Yes:      UP        UP      DOWN
Code reviews
                                   No:       —        DOWN      UP
                                   Yes:      UP         —      DOWN
Static checkers                                                           Different:      —         UP      DOWN
                                   No:       —        DOWN      UP
                            Developer:     DOWN       DOWN        —
Intended audience
                             End-user       UP         UP         —
Decision tree for precision

                         Project B




                         Project C


                         Project A
Additional decision trees
• Recall
  – highest observed value 0.728 for
  – global development (differs or both no),
  – median of relative number of pre-release bugs (more for
    test project), and
  – intended audience (different or both end-user).
• Accuracy
  –   highest observed value 0.843 for
  –   median of relative number of pre-release bugs (same),
  –   operating system (both support multiple systems), and
  –   median of relative added LOC (fewer or same in the
      test project).

                         © Microsoft Corporation
Future work
• Replicate: more projects + characteristics
• Address further research questions:
  – Why are cross-project predictions sometimes
    not transitive?

  – How does the set of metrics influence the
    predictions? Does IE predict Firefox when
    different metrics are used?
                   © Microsoft Corporation
Summary
• Out of the box, only 3.4% of cross-project
  defect predictions worked
• But we can do better! Precision + recall > 0.70
   – Idenitify factors that influence the success of
     cross-project predictions
   – Decision trees help to select the right projects

• http://research.microsoft.com/projects/esm
• MSR 2010: Mining Software Repositories
  http://msrconf.org
                         © Microsoft Corporation
1 of 36

More Related Content

What's hot(20)

Software testing basicSoftware testing basic
Software testing basic
Rohit Singh202 views
Exploratory TestingExploratory Testing
Exploratory Testing
sriks710.7K views
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
Pekka Klärck44.4K views
Chapter 4 - Testing Quality CharacteristicsChapter 4 - Testing Quality Characteristics
Chapter 4 - Testing Quality Characteristics
Neeraj Kumar Singh269 views
SSD: Single Shot MultiBox Detector (UPC Reading Group)SSD: Single Shot MultiBox Detector (UPC Reading Group)
SSD: Single Shot MultiBox Detector (UPC Reading Group)
Universitat Politècnica de Catalunya25.6K views
Aula - Teste de SoftwareAula - Teste de Software
Aula - Teste de Software
Mauricio Cesar Santos da Purificação991 views
Software TestingSoftware Testing
Software Testing
Ecaterina Moraru (Valica)4.4K views
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
Webtech Learning7.8K views
Software testing metricsSoftware testing metrics
Software testing metrics
David O' Connor2.4K views
Ch11 hmmCh11 hmm
Ch11 hmm
BioinformaticsInstitute961 views
Chapter 1 - Fundamentals of TestingChapter 1 - Fundamentals of Testing
Chapter 1 - Fundamentals of Testing
Neeraj Kumar Singh15K views
Getting Started with Azure AutoMLGetting Started with Azure AutoML
Getting Started with Azure AutoML
Vivek Raja P S159 views
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
VenkateswaraRao Siddabathula6.4K views
Software Testing IntroductionSoftware Testing Introduction
Software Testing Introduction
ArunKumar55241.2K views
機械学習による生存予測機械学習による生存予測
機械学習による生存予測
Yasuaki Sakamoto1.7K views

Similar to Cross-project defect prediction(20)

Software Security Assurance for DevOpsSoftware Security Assurance for DevOps
Software Security Assurance for DevOps
Black Duck by Synopsys640 views
Coding NakedCoding Naked
Coding Naked
Caleb Jenkins3.7K views
Improve Android System Component PerformanceImprove Android System Component Performance
Improve Android System Component Performance
National Cheng Kung University6.3K views
Developing apps with techstack wp-dmDeveloping apps with techstack wp-dm
Developing apps with techstack wp-dm
Actian Corporation 522 views
Sqp 090508084934 Phpapp02Sqp 090508084934 Phpapp02
Sqp 090508084934 Phpapp02
sivavis352 views
[AI] ML Operationalization with Microsoft Azure[AI] ML Operationalization with Microsoft Azure
[AI] ML Operationalization with Microsoft Azure
Korkrid Akepanidtaworn802 views

More from Thomas Zimmermann(20)

Software Analytics = Sharing InformationSoftware Analytics = Sharing Information
Software Analytics = Sharing Information
Thomas Zimmermann3.3K views
MSR 2013 PreviewMSR 2013 Preview
MSR 2013 Preview
Thomas Zimmermann21.8K views
Analytics for smarter software development Analytics for smarter software development
Analytics for smarter software development
Thomas Zimmermann2.6K views
Klingon Countdown TimerKlingon Countdown Timer
Klingon Countdown Timer
Thomas Zimmermann1.3K views
Data driven games user researchData driven games user research
Data driven games user research
Thomas Zimmermann1.5K views
Security trend analysis with CVE topic modelsSecurity trend analysis with CVE topic models
Security trend analysis with CVE topic models
Thomas Zimmermann1.5K views
Analytics for software developmentAnalytics for software development
Analytics for software development
Thomas Zimmermann4.6K views
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open Source
Thomas Zimmermann1.6K views
Meet Tom and his FishMeet Tom and his Fish
Meet Tom and his Fish
Thomas Zimmermann1.5K views
Got Myth? Myths in Software EngineeringGot Myth? Myths in Software Engineering
Got Myth? Myths in Software Engineering
Thomas Zimmermann5.9K views
Mining Workspace Updates in CVSMining Workspace Updates in CVS
Mining Workspace Updates in CVS
Thomas Zimmermann632 views

Recently uploaded(20)

Green Leaf Consulting: Capabilities DeckGreen Leaf Consulting: Capabilities Deck
Green Leaf Consulting: Capabilities Deck
GreenLeafConsulting170 views
Web Dev - 1 PPT.pdfWeb Dev - 1 PPT.pdf
Web Dev - 1 PPT.pdf
gdsczhcet48 views
ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web Developers
Maximiliano Firtman152 views
Liqid: Composable CXL PreviewLiqid: Composable CXL Preview
Liqid: Composable CXL Preview
CXL Forum118 views

Cross-project defect prediction

  • 1. Cross-project defect prediction Thomas Zimmermann, Microsoft Research Nachiappan Nagappan, Microsoft Research Harald Gall, University of Zurich Emanuel Giger, University of Zurich Brendan Murphy, Microsoft Research
  • 2. Cross-project defect prediction Thomas Zimmermann, Microsoft Research Nachiappan Nagappan, Microsoft Research Harald Gall, University of Zurich Emanuel Giger, University of Zurich Brendan Murphy, Microsoft Research
  • 4. Quality assurance is limited... ...by time... ...and by money.
  • 5. Spent QA resources on the components/files that need it most, i.e., are most likely to fail. © Microsoft Corporation
  • 6. Defect prediction • Learn a prediction model from historic data • Predict defects for the Predictor Precision Recall same project Pre-Release Bugs 73.80% 62.90% Test Coverage 83.80% 54.40% • Hundreds of prediction Dependencies 74.40% 69.90% models exist Code Complexity 79.30% 66.00% • Models work fairly well Code Churn 78.60% 79.90% with precision and recall Org. Structure 86.20% 84.00% of up to 80%. From: N. Nagappan, B. Murphy, and V. Basili. The influence of organizational structure on software quality. ICSE 2008. © Microsoft Corporation
  • 7. Why cross-project prediction? • Some projects do have not enough data to train prediction models or the data is of poor quality • New projects do have no data yet • Can such projects use models from other projects? (=cross-project prediction) © Microsoft Corporation
  • 8. A first experiment: Firefox and IE precision=0.76; recall=0.88 Firefox IE precision=0.54; recall=0.04 Firefox can predict defects in IE. But IE cannot predict Firefox. WHY? © Microsoft Corporation
  • 9. Comparing Firefox and IE Domain: Browser Features Size in LOC Desktop vs. mobile Usage Profile Dev. Tools and IDE Languages C/CPP) OS and environments Team size Systematic vs. more Open vs. closed source adhoc Local vs. distributed dev. Firefox Internet Explorer © Microsoft Corporation
  • 10. Research questions • RQ 1. To which extent is it possible to use cross-project data for defect prediction? • RQ 2. Which kinds of systems are good predictors? What is the influence of data, domain, company, and process? © Microsoft Corporation
  • 11. THE EXPERIMENT © Microsoft Corporation
  • 12. Experiment outline • 12 systems with 28 datasets – different versions – different levels of analysis (components, files) • Run all 622 cross-project combinations – for example Firefox and IE is one combination – then train model from Firefox data, test on IE – ignore invalid combinations, e.g., do not train from Eclipse 3.0 and test on 2.1 © Microsoft Corporation
  • 13. Experiment outline • For each combination, we record – similarities between projects – precision, recall, and accuracy values – success, i.e., are all of precision, recall, and accuracy > 0.75 © Microsoft Corporation
  • 14. Systems studied Project No. of versions Total LOC Total Churn Firefox 2 3.2 – 3.3 MLOC 0.64 – 0.95 MLOC Internet Explorer 1 2.30 MLOC 2.20 MLOC Direct-X 1 1.50 MLOC 1.00 MLOC Internet Information Services (IIS) 1 2.00 MLOC 1.20 MLOC Clustering 1 0.65 MLOC 0.84 MLOC Printing 1 2.40 MLOC 2.20 MLOC File system 1 2.00 MLOC 2.20 MLOC Kernel 1 1.90 MLOC 3.20 MLOC SQL Server 2005 1 4.6 MLOC 7.2 MLOC Eclipse 3 0.79 – 1.3 MLOC 1.0 - 2.1 MLOC Apache Derby 4 0.49 – 0.53 MLOC 4 – 23 KLOC Apache Tomcat 6 0.25 – 0.26 MLOC 8 – 98 KLOC © Microsoft Corporation
  • 15. Data used in prediction models Relative code measures on churn, complexity and pre-release bugs – Added LOC / Total LOC – Deleted LOC / Total LOC – Modified LOC / Total LOC – (Added + deleted + modified LOC) / (Commits + 1) – Cyclomatic Complexity / Total LOC – Pre-release bugs / Total LOC © Microsoft Corporation
  • 16. RESULTS © Microsoft Corporation
  • 17. Success rate Any guesses? 3.4% © Microsoft Corporation
  • 18. Successful cross-project predictions © Microsoft Corporation
  • 19. Characterizing projects Domain Domain name Product uses database Product is localized Type of user interface © Microsoft Corporation
  • 20. Characterizing projects Domain Product Domain name Name Product uses database Company Product is localized Intended audience Type of user interface Operating system Programming language Single prog. language Project uses C/C++ Project uses C# Project uses Java First version Total lines of code © Microsoft Corporation
  • 21. Characterizing projects Domain Product Process Domain name Name Open source Product uses database Company Global development Product is localized Intended audience Code reviews Type of user interface Operating system Static checkers Programming language Number of developers Single prog. language Project uses C/C++ Project uses C# Project uses Java First version Total lines of code © Microsoft Corporation
  • 22. Characterizing projects Domain Product Process Data Domain name Name Open source Level of analysis Product uses database Company Global development Number of observations Product is localized Intended audience Code reviews Median, maxium, and Type of user interface Operating system Static checkers standard deviation of Programming language Number of developers the metrics (18 metrics) Single prog. language Project uses C/C++ Project uses C# Project uses Java First version Total lines of code © Microsoft Corporation
  • 23. Comparing projects • If characteristic is “Domain”, “Product”, “Prog. languages”, or “Level of analysis” – Same, Different • If nominal (for example “Open Source”) – Both X, Both Y, Both Z, …, Different • If numeric (for example “LOC”) – Less, Same, More © Microsoft Corporation
  • 24. Comparing projects Characteristics Project Domain Open source Code reviews LOC Train: Firefox Browser Yes Yes 3.2M Test: IE Browser No Yes 2.3M Similarity © Microsoft Corporation
  • 25. Comparing projects Characteristics Project Domain Open source Code reviews LOC Train: Firefox Browser Yes Yes 3.2M Test: IE Browser No Yes 2.3M Similarity Same © Microsoft Corporation
  • 26. Comparing projects Characteristics Project Domain Open source Code reviews LOC Train: Firefox Browser Yes Yes 3.2M Test: IE Browser No Yes 2.3M Similarity Same Different © Microsoft Corporation
  • 27. Comparing projects Characteristics Project Domain Open source Code reviews LOC Train: Firefox Browser Yes Yes 3.2M Test: IE Browser No Yes 2.3M Similarity Same Different Both Yes © Microsoft Corporation
  • 28. Comparing projects Characteristics Project Domain Open source Code reviews LOC Train: Firefox Browser Yes Yes 3.2M Test: IE Browser No Yes 2.3M Similarity Same Different Both Yes Less © Microsoft Corporation
  • 29. Comparing projects Characteristics Project Domain Open source Code reviews LOC Train: Firefox Browser Yes Yes 3.2M Test: IE Browser No Yes 2.3M Similarity Same Different Both Yes Less How are these similarities related to precision, recall, and accuracy? © Microsoft Corporation
  • 30. Influence of individual factors • For each characteristic and level – check with t-tests whether they influence precision, recall, accuracy – in total 375 tests; account for multiple hypothesis testing with Bonferroni correction • Possible effects on precision, recall, accuracy – Increase – Decrease – No significant effect © Microsoft Corporation
  • 31. Influence of individual factors Characteristics Project Domain Open source Code reviews LOC Train: Firefox Browser Yes Yes 3.2M Test: IE Browser No Yes 2.3M Similarity Same Different Both Yes Less Accuracy UP Recall UP Precision UP Precision DOWN Accuracy DOWN Recall UP Accuracy DOWN © Microsoft Corporation
  • 32. Influence of individual factors For full list see Table 2 and 3 in the paper. Table 2. Nominal characteristics and how they influence precision, recall, and accuracy. Factor Both Precision Recall Accuracy Precision Recall Accuracy Domain Same: — — UP Different: — — DOWN Apache: — DOWN — Company Different: DOWN — — Microsoft: UP — DOWN Product Yes: — DOWN UP Open source Different: — UP DOWN No: UP — DOWN Yes: — DOWN UP Global development Different: — UP DOWN No: UP — — Yes: UP UP DOWN Code reviews No: — DOWN UP Yes: UP — DOWN Static checkers Different: — UP DOWN No: — DOWN UP Developer: DOWN DOWN — Intended audience End-user UP UP —
  • 33. Decision tree for precision Project B Project C Project A
  • 34. Additional decision trees • Recall – highest observed value 0.728 for – global development (differs or both no), – median of relative number of pre-release bugs (more for test project), and – intended audience (different or both end-user). • Accuracy – highest observed value 0.843 for – median of relative number of pre-release bugs (same), – operating system (both support multiple systems), and – median of relative added LOC (fewer or same in the test project). © Microsoft Corporation
  • 35. Future work • Replicate: more projects + characteristics • Address further research questions: – Why are cross-project predictions sometimes not transitive? – How does the set of metrics influence the predictions? Does IE predict Firefox when different metrics are used? © Microsoft Corporation
  • 36. Summary • Out of the box, only 3.4% of cross-project defect predictions worked • But we can do better! Precision + recall > 0.70 – Idenitify factors that influence the success of cross-project predictions – Decision trees help to select the right projects • http://research.microsoft.com/projects/esm • MSR 2010: Mining Software Repositories http://msrconf.org © Microsoft Corporation