Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Analyzing GNOME Shell Evolution with Metrics (...

Bitergia
July 30, 2012

Analyzing GNOME Shell Evolution with Metrics (at Guadec-es 2012)

Basic GNOME Shell Report to show in GNOME-ES community the kind of work we do at Bitergia

Bitergia

July 30, 2012
Tweet

More Decks by Bitergia

Other Decks in Research

Transcript

  1. Analyzing GNOME Shell Evolution with metrics GUADEC-ES, A Coru˜ na,

    30-31 Jul 2012 Alvaro del Castillo San Felix [email protected] http://bitergia.com Jul 30, 2012 Alvaro del Castillo San Felix (Bitergia) Analyzing GNOME Shell Evolution with metrics Jul 30, 2012 1 / 28
  2. c 2012 Bitergia Some rights reserved. This presentation is distributed

    under the “Attribution-ShareAlike 3.0” license, by Creative Commons, available at http://creativecommons.org/licenses/by-sa/3.0/ Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 2 / 28
  3. Bitergia: an spin-off ”Bridging the gap between developers and stakeholders”

    Company starting operations in June 2012 Building on the experience of LibreSoft Offering professional products and services Focused on: Metrics about software developent (including community metrics) Specialized support for development forges (including metrics for projects) http://bitergia.com Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 3 / 28
  4. Analyzing GNOME Shell GNOME Shell is the defining technology of

    the GNOME 3 user experience. Source code management repository: git: git://git.gnome.org/gnome-shell From 2008-10-31 to 2012-07-25 5,820 commits, 296 committers 37888 C LOC, 33669 JS Issue tracking repository: Bugzilla: https: //bugzilla.gnome.org/buglist.cgi?product=gnome-shell From 2008-10-26 to 2012-07-24 5,146 issue reports of about 1,262 reporters 4,870 changed and 3,850 closed https://live.gnome.org/GnomeShell// Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 4 / 28
  5. GNOME Shell Mailing List Total messages by year: Mailing list

    Year # ---------------- ----- ---- gnome-shell-list 2008 49 gnome-shell-list 2009 1165 gnome-shell-list 2010 1587 gnome-shell-list 2011 3730 gnome-shell-list 2012 860 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 7 / 28
  6. GNOME Shell Mailing List Total people posting by year: Mailing

    list Year # ---------------- ----- ---- gnome-shell-list 2008 16 gnome-shell-list 2009 228 gnome-shell-list 2010 253 gnome-shell-list 2011 430 gnome-shell-list 2012 154 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 8 / 28
  7. GNOME Shell Mailing List Total people posting: gnome-shell-list 797 Total

    messages: gnome-shell-list 7391 Total messages by email address: gnome-shell-list [email protected] 392 gnome-shell-list [email protected] 259 gnome-shell-list [email protected] 200 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 9 / 28
  8. Global Context: GNOME 3.x Releases Mar 2011 (GNOME 3.0 April

    2011) Sep 2011 (GNOME 3.2 September 2011) Feb 2012 (GNOME 3.4 March 2012) Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 10 / 28
  9. Commits per month Time Commits 2009 2010 2011 2012 0

    100 300 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 11 / 28
  10. Committers per month Time Committers 2009 2010 2011 2012 0

    20 40 60 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 12 / 28
  11. Commits per committer per month Time Commits per committer 2009

    2010 2011 2012 5 10 15 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 13 / 28
  12. Commits per month (master branch) Time Commits (branch 1) 2009

    2010 2011 2012 0 100 300 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 14 / 28
  13. Lines added & removed per month (master branch) Time Branch

    1: Lines added (black) / removed (green) 2009 2010 2011 2012 10000 30000 50000 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 15 / 28
  14. Files involved in each commit, mean per month (master branch)

    Time Branch 1: Lines added (black) / removed (green) 2009 2010 2011 2012 10000 30000 50000 Time Files changed per commit 2009 2010 2011 2012 1.5 2.0 2.5 3.0 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 16 / 28
  15. Lines changed in each commit, mean per month (master branch)

    Time Branch 1: Lines added (black) / removed (green) 2009 2010 2011 2012 10000 30000 50000 Time Lines changed per commit (mean per month) 2009 2010 2011 2012 50 100 150 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 17 / 28
  16. Lines added & removed per file per month (master branch)

    Time ranch 1 (per change): Lines added (black) / removed (green 2009 2010 2011 2012 20 60 100 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 18 / 28
  17. Density distribution of commit size (master branch) 0.0 0.5 1.0

    1.5 2.0 0 2 4 6 density.default(x = log10(data[, 4])) Logaritmic scale Probability density Files (black), lines added (red), lines removed (green) Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 19 / 28
  18. Evolution in size (master branch) Time Branch 1: Lines added

    (black) / removed (green) 2009 2010 2011 2012 10000 30000 50000 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 20 / 28
  19. Issues Time to fix bugs Time to fix (days) Density

    0 500 1000 1500 0.00 0.04 0.08 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 21 / 28
  20. Issues: Quick Fix Quickly fixed Time to fix (days) Density

    0 5 10 15 20 25 30 0.0 0.2 0.4 0.6 Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 22 / 28
  21. Issues 0 100 200 300 400 0 50 150 Open

    and closed bugs Weeks bugs Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 23 / 28
  22. GNOME Shell Official Extensions 2955 LOC Javascript, 92 CSS 15

    extensions 219 commits, 52 authors From 2011-01-12 18:07:35 to 2011-10-12 03:51:57 Be careful: GNOME Shell is not API stable Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 24 / 28
  23. Bitergia’s Kitchen What projects to analyse? Location of Information Sources.

    Supported sources. Understanding the project: Tech and Community Gathering the data. Banned and other issues. Analysing the data: SQL, R and graphs. Data in JSON. Static and Dynamic reports Publication and Dissemination Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 25 / 28
  24. Bitergia’s Kitchen SWScopio http://bitergia.com/public/reports/generic/ swscopio/swscopio.html Multigraph Reports http://bitergia.com/public/reports/ generic/companies/companies.html Integration

    with Allura http://allura.bitergia.net: 8080/p/joomla/metrics/open_closed/ Demos and tech internals. Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 26 / 28
  25. In summary FLOSS development repositories have a wealth of information

    Their analysis is potentially interested to any stakeholder Getting the data out of the repository is not that difficult... ...but analysis may be We’re interested in deep analysis We’re interested in working with developers Which aspects of your project would you like to know? Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 27 / 28
  26. Help wanted: validation of bug seeding detection Validation of methodologies

    for detecting bug seeding Which lines introduced a bug? Several techniques... ...which need real developers for validation How to validate? Let a real developer determine if a certain code is involved in seeding a bug or not Potential benefits: Learn from your errors (personally, or as a project) Performance metrics Bug seeding evolution Bug seeding patterns Bug seeding bad smells If you would want to collaborate in this, let me know! Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 28 / 28
  27. This is the end Have you learned something useful? [I

    would love to know what interested you the most] [...and the least] [email protected] Alvaro del Castillo (Bitergia) GNOME Shell Evolution Jul 30, 2012 29 / 28