Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Mining Software Repositories: Using Humans to Better
Software
Marat Akhin
15/06/2015
Marat Akhin Mining Software Repositor...
What is MSR?
What is MSR?
Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 2 / 18
What is MSR?
Mining software repositories
Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/...
What is MSR?
Mining software repositories
Understand empirical aspects of software development
Use the past to guide the f...
What is MSR?
MSR data
Historical data
Version control systems: CVS, SVN, Git, Mercurial
Bug trackers: Bugzilla, JIRA, YouT...
What is MSR?
MSR methods
Classification
aka Supervised learning
Marat Akhin Mining Software Repositories: Using Humans to B...
What is MSR?
MSR methods
Clustering
aka Unsupervised learning
Marat Akhin Mining Software Repositories: Using Humans to Be...
What is MSR?
MSR methods
Statistical hypothesis testing
Marat Akhin Mining Software Repositories: Using Humans to Better S...
What is MSR?
MSR insights
Quality assurance
Architecture analysis
Bug prediction
Developer feedback
You-name-it!
Marat Akh...
Can we predict bugs?
Can we predict bugs?
Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2...
Can we predict bugs?
Don’t code on Fridays 1
Eclipse/Mozilla repos / bug-trackers
Link bug fixes to source code changes
Fin...
Can we predict bugs?
Reopened bugs stay 2
Eclipse / Apache / OpenOffice
Build decision trees by different criteria
Analyze th...
Code reviews: yay or nay?
Code reviews: yay or nay?
Marat Akhin Mining Software Repositories: Using Humans to Better Softw...
Code reviews: yay or nay?
More reviews == less bugs 3
Qt / ITK / VTK
Collect review metrics
Bulid regression models for bu...
Code clones: what is that smell?
Code clones: what is that smell?
Marat Akhin Mining Software Repositories: Using Humans t...
Code clones: what is that smell?
Clones are better than other code 4
Apache / Evolution / GIMP / Nautilus
Detect clones an...
What next?
What next?
Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 17 / 18
What next?
More data to explore
OSS source code doubles every year
Active use of *aaS platforms
MSR has access to vast amo...
Upcoming SlideShare
Loading in …5
×

0

Share

Download to read offline

Mining Software Repositories: Using Humans to Better Software

Download to read offline

The briefest overview of Mining Software Repositories

Related Books

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

Mining Software Repositories: Using Humans to Better Software

  1. 1. Mining Software Repositories: Using Humans to Better Software Marat Akhin 15/06/2015 Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 1 / 18
  2. 2. What is MSR? What is MSR? Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 2 / 18
  3. 3. What is MSR? Mining software repositories Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 3 / 18
  4. 4. What is MSR? Mining software repositories Understand empirical aspects of software development Use the past to guide the future Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 4 / 18
  5. 5. What is MSR? MSR data Historical data Version control systems: CVS, SVN, Git, Mercurial Bug trackers: Bugzilla, JIRA, YouTrack Communication: e-mails, chat logs, wiki pages Execution data Execution traces Deployment logs Crash dumps Source code data Source code itself Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 5 / 18
  6. 6. What is MSR? MSR methods Classification aka Supervised learning Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 6 / 18
  7. 7. What is MSR? MSR methods Clustering aka Unsupervised learning Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 7 / 18
  8. 8. What is MSR? MSR methods Statistical hypothesis testing Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 8 / 18
  9. 9. What is MSR? MSR insights Quality assurance Architecture analysis Bug prediction Developer feedback You-name-it! Marat Akhin Mining Software Repositories: Using Humans to Better Software 15/06/2015 9 / 18
  10. 10. Can we predict bugs? Can we predict bugs? Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 10 / 18
  11. 11. Can we predict bugs? Don’t code on Fridays 1 Eclipse/Mozilla repos / bug-trackers Link bug fixes to source code changes Find interesting correlations 1 Jacek ´Sliwerski, Thomas Zimmermann, and Andreas Zeller. When do changes induce fixes? (MSR’05) Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 11 / 18
  12. 12. Can we predict bugs? Reopened bugs stay 2 Eclipse / Apache / OpenOffice Build decision trees by different criteria Analyze the results 2 Emad Shihab et al. Studying re-opened bugs in open source software (ESE’12) Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 12 / 18
  13. 13. Code reviews: yay or nay? Code reviews: yay or nay? Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 13 / 18
  14. 14. Code reviews: yay or nay? More reviews == less bugs 3 Qt / ITK / VTK Collect review metrics Bulid regression models for bug prediction 3 Shane McIntosh et al. The impact of code review coverage and code review participation on software quality: a case study of the qt, VTK, and ITK projects. (MSR’14) Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 14 / 18
  15. 15. Code clones: what is that smell? Code clones: what is that smell? Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 15 / 18
  16. 16. Code clones: what is that smell? Clones are better than other code 4 Apache / Evolution / GIMP / Nautilus Detect clones and link them to bugs Analyze clone-to-bug ratio 4 Foyzur Rahman et al. Clones: what is that smell? (ESE’12) Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 16 / 18
  17. 17. What next? What next? Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 17 / 18
  18. 18. What next? More data to explore OSS source code doubles every year Active use of *aaS platforms MSR has access to vast amounts of development data More insights coming next week! Marat Akhin Mining Software Repositories: Using Humans to Better Software15/06/2015 18 / 18

The briefest overview of Mining Software Repositories

Views

Total views

703

On Slideshare

0

From embeds

0

Number of embeds

5

Actions

Downloads

18

Shares

0

Comments

0

Likes

0

×