1 / 27

Subverting subversion? (or “An LHCb ‘commitment’ poll”?)

Subverting subversion? (or “An LHCb ‘commitment’ poll”?). Rob Lambert. Remember… it’s just for fun!. Aims. Impersonal: Mine the data available from svn Gauge the number of individuals contributing to core software Gauge something about contributions to core software Personal

dexter
Download Presentation

Subverting subversion? (or “An LHCb ‘commitment’ poll”?)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Subverting subversion?(or “An LHCb ‘commitment’ poll”?) Rob Lambert Remember… it’s just for fun! LHCb Core Soft, 5th March 2014

  2. Aims • Impersonal: • Mine the data available from svn • Gauge the number of individuals contributing to core software • Gauge something about contributions to core software • Personal • I’ve been in this collaboration for 8.5 years • (and probably not much longer) • How much have I actually contributed to the codebase? Remember… it’s just for fun! LHCb Core Soft, 5th March 2014

  3. Things you notice on SVN • Release managers commit much more often • There are some projects which have skewed statistics Tagging svncp, from trunk to tags Necessary workbut doesn’tchange the code Svnoften “blames” the copier Erasmus/Urania Stripping DBASE/PARAM “Analysis-specific”software Not all core software Legacy code Legacy data Single users withvastly different usage habits Data filesno diffs or millions of diffs LHCb Core Soft, 5th March 2014

  4. List of metrics • I need metrics which can avoid these issues • svn blame • svn blame without comments! • Total number of commits • Total number of touched files (sum over all commits) • Total number of changed lines (sum over all commits) • Collect statistics by: • Project • User • Remember, this is all public information anyway (and JFF) LHCb Core Soft, 5th March 2014

  5. Basic Totals • My survey draws from the following data • So, on average we’d have 8k blames per person • But there are major differences in the different metrics • Before I can rank contributions, I need to examine the metrics LHCb Core Soft, 5th March 2014

  6. Comparing metrics • Methods have different strengths and weaknesses • (further details in the backup slides) • To overcome all problems, I must combine the metrics • (Don’t need the most basic blame, combine all others) LHCb Core Soft, 5th March 2014

  7. Metrics 20% correlated, need to use both! 97% correlated, don’t use both! 89% correlated, but measure different things! Weight down slightly LHCb Core Soft, 5th March 2014

  8. Combining the metrics • The metrics are very disparate in magnitude and spread • Take a safe logarithm to alleviate the scale problem • Scale that down to the max of the metric • Average over historical metrics, weight down historical by 2/3 • Re-exponentiate to return a reasonable spread, express as % LHCb Core Soft, 5th March 2014

  9. Pause for thought? LHCb has around 10 application experts, plus one per subdetector • Was I lying to myself, and on my CV? Let’s find out! LHCb core-soft developer base consists of around 100 developers. LHCb Core Soft, 5th March 2014

  10. Other Stats • Top 20 experts created 66% of the code 341 people, 33% 20 people, 66% LHCb Core Soft, 5th March 2014

  11. Other Stats • Top 105 developers created the rest of the code 236 people, 5% 125 people, 95% LHCb Core Soft, 5th March 2014

  12. The big reveal LHCb Core Soft, 5th March 2014

  13. Ranking • The top 20, with exclusions • (i.e. no Erasmus/Urania/obsolete/PARAM/DBASE/Stripping) LHCb Core Soft, 5th March 2014

  14. The medallists • 1 2 3 LHCb Core Soft, 5th March 2014

  15. Ranking (2) • The top 20, no exclusions • Ranking is pretty stable due to combined metric LHCb Core Soft, 5th March 2014

  16. The medallists • 1 3 LHCb Core Soft, 5th March 2014

  17. Interesting outliers #1 or 2 (it’s cool that the computingproject leader is the leader!) (15% of all code) LHCb Core Soft, 5th March 2014

  18. Comments • Looks like we have around 1/3 comments (Paul sits here) (Vanya sits here) LHCb Core Soft, 5th March 2014

  19. Make your own metric? • You could use a standard tool: • svnplot, svnstat, statsvn, plotsvn, mypy-svn-stat … • Most standard tools are based on pysvn and sqlite, and as Marco/Ben know, I gave up on trying to have Lbscripts, sqlite3 and pysvn working at the same time • Of course, I’ve committed my code into SVN … • SvnPollTools • https://svnweb.cern.ch/trac/lhcb/browser/packages/trunk/SvnPollTools • Complete lists as csv files here • Other possible improvements: • Ignore all ref files and test directories also in the line diffs (probably won’t significantly change the outcome) • Add LHCbDirac’ssvn(will add Joel and Philippe et al. ) • Add Gaudi’s svn(will make Marco Cle #1 probably…) • Multiply by the call graph? LHCb Core Soft, 5th March 2014

  20. Conclusions • LHCb “core applications” appear to have • ~20 experts, who contributed 2/3 of the total codebase • ~100 developers who contributed 1/3 of the codebase • ~250 contributors whose core soft contribution is very tiny • Interesting observations I can also make over dinner: • Years of service  GPA • GPA  Institute affiliation • Permanence of current position… • And in the end, well, at least I know I helped Remember… it’s just for fun! LHCb Core Soft, 5th March 2014

  21. End • Backups are often required LHCb Core Soft, 5th March 2014

  22. (1) blamed LHCb Core Soft, 5th March 2014

  23. (2) blamed - comments LHCb Core Soft, 5th March 2014

  24. (3) #commits LHCb Core Soft, 5th March 2014

  25. (4) #files LHCb Core Soft, 5th March 2014

  26. (5) #diffs LHCb Core Soft, 5th March 2014

  27. Correlations LHCb Core Soft, 5th March 2014

More Related