impact of code ownership impact of code ownership on
play

IMPACT OF CODE OWNERSHIP IMPACT OF CODE OWNERSHIP ON ATIPATTERNS - PowerPoint PPT Presentation

IMPACT OF CODE OWNERSHIP IMPACT OF CODE OWNERSHIP ON ATIPATTERNS ON ATIPATTERNS Stphane BUNOD Engineering school student at PolytechMontpellier 3 month internship Supervisor : Foutse KHOMH OUTLINE OUTLINE Context Goal


  1. IMPACT OF CODE OWNERSHIP IMPACT OF CODE OWNERSHIP ON ATIPATTERNS ON ATIPATTERNS Stéphane BUNOD Engineering school student at Polytech’Montpellier 3 month internship Supervisor : Foutse KHOMH

  2. OUTLINE OUTLINE  Context  Goal  Implementation  Results  Conclusion  Personal experience

  3. CONTEXT CONTEXT  Foutse’s research interests  Developping techniques and tools to assess the quality of systems  Design patterns, design defects : their impact on the quality of systems and their evolution in systems  Foutse “Antipatterns are more fault prone” . 2012  Christian Bird. Don’t Touch My Code! Examining the Effects of Ownership on Software Quality. 2011

  4. GOAL GOAL

  5. IMPLEMENTATION – IMPLEMENTATION – EXISTING WORK EXISTING WORK  Previous work from Francis NAHM:  List of AntiPatterns for each version of the Argouml project (APs example : ComplexClass, LongMethod, LongParameterList)

  6. IMPLEMENTATION – IMPLEMENTATION – COLLECT COLLECT  Collect information about the Argouml project:  SVN log

  7. IMPLEMENTATION – IMPLEMENTATION – WHAT IS INTERESTING IN WHAT IS INTERESTING IN « « SVN LOG SVN LOG » »

  8. IMPLEMENTATION – IMPLEMENTATION – KEEP INTERESTING INFORMATION KEEP INTERESTING INFORMATION  Get the list of contributors  Get the date of commits  Get the files/classes that had been modified

  9. IMPLEMENTATION – IMPLEMENTATION – EVALUATE MAJOR CONTRIBUTOR RATE EVALUATE MAJOR CONTRIBUTOR RATE Major contributor: A developer who has made changes to a component and whose ownership is at or above X% is a major contributor to the component and a commit from such a developer is a major contribution.  3rd quartile of all contributors statistics on each classes : 71%

  10. IMPLEMENTATION – IMPLEMENTATION – ADD INFORMATION OF MC ON EACH VERSION ADD INFORMATION OF MC ON EACH VERSION  Know the kind of contributor for each version on each class.  Add it beside the number of AntiPatterns on each version of each class.

  11. IMPLEMENTATION – IMPLEMENTATION – WHAT THE CSV LOOKS LIKE WHAT THE CSV LOOKS LIKE

  12. IMPLEMENTATION – IMPLEMENTATION – METHOD TO ESTIMATE THE EVOLUTION OF A CLASS METHOD TO ESTIMATE THE EVOLUTION OF A CLASS List of the occurrence of AntiPatterns for each class.  Example: [5, 3, 4, 4, 1, 2, 5] [0]: A-A-A-A-A-S [1]: D-D-A-A-D [2]: S-A-A-D [3]: A-A-D [4]: D-D [5]: D A = 11 ; D = 8 ; S = 2  A > D > S  This class is considered to have a global amelioration tendency

  13. IMPLEMENTATION – IMPLEMENTATION – DIFFERENT CATEGORIES OF LIST DIFFERENT CATEGORIES OF LIST  Classes with only Major Contributor (MC) on each version of the project.  Classes without any MC.  Classes with a MC, only on the first version.  Classes with a developer who becomes MC after few versions without any.  Classes where there is no longer MC after few versions with a MC.

  14. RESULTS RESULTS Only MC on Only MC No MC the 1st Become MC No longer MC version Stable 58% 73,63% 74,40% 87,13% 79,18% Amelioration 24% 11,55% 7,76% 1,98% 14,46% Degradation 18% 14,82% 20,84% 10,89% 6,36%

  15. CONCLUSION CONCLUSION  Linus Law. “ Given a large enough developers, almost every problem will be characterized quickly and the fix will be obvious to someone “  AntiPatterns have the same characteristics of Bugs correlate with ownership.  Of course, this work should be reproduced on other projects.

  16. PERSONAL EXPERIENCE PERSONAL EXPERIENCE  Lab experience  Met new people  Learnt Python language (enjoyed coding for once)  Not sure I would be a good researcher ^^

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend