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

Analysing and Measuring Open Source Projects

regedor
March 26, 2012

Analysing and Measuring Open Source Projects

MI-STAR2010

regedor

March 26, 2012
Tweet

More Decks by regedor

Other Decks in Research

Transcript

  1. Analysing and Measuring Open Source Projects Miguel Regedor, [email protected] MI-STAR

    2011, UCE15, Universidade do Minho 31 de Janeiro de 2011
  2. Tabel of Contents 1 Context/Motivation 2 Assessing Open Source Software

    3 Software Metrics 4 Available Tools 5 Conclusion: Summary and Future Work Miguel Regedor Analysing and Measuring Open Source Projects
  3. Context/Motivation Open Source Software Nowadays, Open Source Software is disseminated

    Open Source Projects Android Apache Mozilla Firefox Open Office Ubuntu Miguel Regedor Analysing and Measuring Open Source Projects
  4. Context/Motivation Open Source Software Thousands of OSS packages can be

    found online and free to download Miguel Regedor Analysing and Measuring Open Source Projects
  5. Context/Motivation Open Source Software Thousands of OSS packages can be

    found online and free to download OSS is not only used by computer specialists Miguel Regedor Analysing and Measuring Open Source Projects
  6. Context/Motivation Open Source Software Thousands of OSS packages can be

    found online and free to download OSS is not only used by computer specialists Open Source can be now considered the largest software industry in the world Miguel Regedor Analysing and Measuring Open Source Projects
  7. Context/Motivation Open Source Software Thousands of OSS packages can be

    found online and free to download OSS is not only used by computer specialists Open Source can be now considered the largest software industry in the world Measuring the savings that people are making in licence fees, the open source industry is worth 60 billion dollars. Miguel Regedor Analysing and Measuring Open Source Projects
  8. Context/Motivation Development Process Open Source communities work in a bazaar

    style Miguel Regedor Analysing and Measuring Open Source Projects
  9. Context/Motivation Development Process Open Source communities work in a bazaar

    style Traditional Software Development Process Similar to building cathedrals Few specialized individuals working in isolation Open Source Development Process Chaotic way Resemble a great babbling bazaar. Miguel Regedor Analysing and Measuring Open Source Projects
  10. Context/Motivation Quality Can software that is developed in such chaotic

    way be trusted as a high quality product? Miguel Regedor Analysing and Measuring Open Source Projects
  11. Context/Motivation Quality Can software that is developed in such chaotic

    way be trusted as a high quality product? The shock is that in fact the bazaar style seemed to work Miguel Regedor Analysing and Measuring Open Source Projects
  12. Context/Motivation Quality Can software that is developed in such chaotic

    way be trusted as a high quality product? The shock is that in fact the bazaar style seemed to work However, how can the quality of an open source software project be measured? Miguel Regedor Analysing and Measuring Open Source Projects
  13. Context/Motivation Meusuring Open Source Sofware quality A OSSP is built

    up from hundreds, sometimes thousands, of files Miguel Regedor Analysing and Measuring Open Source Projects
  14. Context/Motivation Meusuring Open Source Sofware quality A OSSP is built

    up from hundreds, sometimes thousands, of files To analyse manually a software project is a very hard and time consuming task Miguel Regedor Analysing and Measuring Open Source Projects
  15. Context/Motivation Meusuring Open Source Sofware quality A OSSP is built

    up from hundreds, sometimes thousands, of files To analyse manually a software project is a very hard and time consuming task With that in mind A system capable of automatically analysing and producing reports would enable users to make better choices, and developers to further improve their software. Miguel Regedor Analysing and Measuring Open Source Projects
  16. Context/Motivation Open Source Project Hosting Web Sites Name Established Available

    VCS Users Projects Alexa rank SourceForge 1999 CVS 2,000,000 236,319 136 SVN Bazar GIT Mercurial GitHub 2008 GIT 505,000 1,516,000 742 Google Code 2006 SVN ? 250,000 900 Mercurial Code Plex 2006 SVN 151,782 15.955 2,343 Microsoft TFS Mercurial Assembla 2006 SVN 180,000 60,000 6,628 GIT Launchpad 2005 Bazar 1,140,345 19,016 12,466 BerliOS 2000 CVS 47,285 5,448 17,299 SVN GIT Mercurial Bitbucket 2008 Mercurial 51,600 27,769 12,047 Gitorious 2008 GIT ? 8,336 28,531 Miguel Regedor Analysing and Measuring Open Source Projects
  17. Assessing Open Source Software Assessing Open Source Software IISO/IEC 912

    software quality attributes Functionality (meeting of the functional requirements) Reliability (fault tolerance and recoverability) Usability (effort to learn, and operate the software) Efficiency (performance and resource consumption) Maintainability (effort to modify the software) Portability (effort to transfer to another environment) Miguel Regedor Analysing and Measuring Open Source Projects
  18. Software Metrics Software Metrics Lines of Code Cyclomatic Complexity Miguel

    Regedor Analysing and Measuring Open Source Projects
  19. Software Metrics Software Metrics Lines of Code Cyclomatic Complexity Fan-In

    and Fan-Out Miguel Regedor Analysing and Measuring Open Source Projects
  20. Software Metrics Software Metrics Lines of Code Cyclomatic Complexity Fan-In

    and Fan-Out Object-Oriented Metrics Miguel Regedor Analysing and Measuring Open Source Projects
  21. Software Metrics Software Metrics Lines of Code Cyclomatic Complexity Fan-In

    and Fan-Out Object-Oriented Metrics Coding Standards? Miguel Regedor Analysing and Measuring Open Source Projects
  22. Available Tools Available Tools FindBugs find ” bugs” in Java

    Programs FxCop reports information about the assemblies PMD scans Java source code for potential problems PreFast identifies defects in C/C++ programs RATS finds C/C++, Perl and Python security problems SWAAT scans Java, JSP, ASP .Net and PHP Flawfinder scans C and C++ Miguel Regedor Analysing and Measuring Open Source Projects
  23. Conclusion: Summary and Future Work Conclusion: Summary and Future Work

    Karatsuba Algorithm (1960) Divide and Conquer Miguel Regedor Analysing and Measuring Open Source Projects
  24. Conclusion: Summary and Future Work Future Work 1 Chose a

    language: Ruby Miguel Regedor Analysing and Measuring Open Source Projects
  25. Conclusion: Summary and Future Work Future Work 1 Chose a

    language: Ruby 2 Select consensual good and bad projects Miguel Regedor Analysing and Measuring Open Source Projects
  26. Conclusion: Summary and Future Work Future Work 1 Chose a

    language: Ruby 2 Select consensual good and bad projects 3 Find patterns Miguel Regedor Analysing and Measuring Open Source Projects
  27. Conclusion: Summary and Future Work Future Work 1 Chose a

    language: Ruby 2 Select consensual good and bad projects 3 Find patterns 4 Create a systematic way to measure it Miguel Regedor Analysing and Measuring Open Source Projects
  28. Conclusion: Summary and Future Work Future Work 1 Chose a

    language: Ruby 2 Select consensual good and bad projects 3 Find patterns 4 Create a systematic way to measure it 5 Continue the work Miguel Regedor Analysing and Measuring Open Source Projects
  29. Conclusion: Summary and Future Work Analysing and Measuring Open Source

    Projects Questions? Miguel Regedor Analysing and Measuring Open Source Projects