uel-london 2010: are developer fixing their own bugs?

Upload: dicortazar

Post on 10-Apr-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    1/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    Are Developers fixing their own Bugs?Tracing Bug-fixing and Bug-seeding Committers

    Daniel Izquierdo Cortazar

    University of East London, London, UK

    18th, November, 2010

    Daniel Izquierdo Cortazar Are Developers fixing their own Bugs?

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    2/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    (cc) 2010 Daniel Izquierdo Cortazar.

    Some rights reserved. This document is distributed under the CreativeCommons Attribution-ShareAlike 2.5 licence, available inhttp://creativecommons.org/licenses/by-sa/2.5/

    The map of Europe is a derived work. The original one can be found at

    http://commons.wikimedia.org/wiki/File:Blank_Map_of_Europe_-w_boundaries.svg

    D. Izquierdo Are Developers fixing their own Bugs?

    http://commons.wikimedia.org/wiki/File:Blank_Map_of_Europe_-w_boundaries.svghttp://commons.wikimedia.org/wiki/File:Blank_Map_of_Europe_-w_boundaries.svghttp://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    3/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    Table of contents

    1 Introduction

    2

    Motivation

    3 Approach

    4 Case Study and Results

    5 Conclusions

    6 Further Work

    D. Izquierdo Are Developers fixing their own Bugs?

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    4/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    Index

    1 Introduction

    2 Motivation

    3 Approach

    4 Case Study and Results

    5 Conclusions

    6 Further Work

    D. Izquierdo Are Developers fixing their own Bugs?

    I d i

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    5/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    $ whoami

    Daniel Izquierdo Cortazar

    PhD StudentFields of interest:

    Libre Software EngineeringLibre Software CommunitiesData Mining

    Advisors: Jesus Gonzalez Barahona and Gregorio Robles

    Currently a research visitor at UEL

    D. Izquierdo Are Developers fixing their own Bugs?

    I t d ti

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    6/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    about GSyC/LibreSoft

    Located at Universidad Rey Juan Carlos, Mostoles, MadridYoungest university in Madrid (12 years old)

    Escuela Tecnica Superior de Ingeniera de Telecomunicaciones

    GSyC (Grupo de Sistemas y Comunicaciones)

    http://libresoft.es

    D. Izquierdo Are Developers fixing their own Bugs?

    Introduction

    http://libresoft.es/http://libresoft.es/http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    7/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    LibreSoft

    Academic activities: mining software repositories.Industrial activities (consultant, mobile networking, web 2.0)

    Reports related to libre software, like FLOSSImpact.

    Master on Free Software (Galicia and Madrid -

    http://master.libresoft.es)

    D. Izquierdo Are Developers fixing their own Bugs?

    Introduction

    http://master.libresoft.es/http://master.libresoft.es/http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    8/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    European Projects

    QualOSS: Quality of Open Source Software

    FLOSSMetrics: Free/Libre/Open Source Software Metrics

    FLOSSWorld: Free/Libre/Open Source Software: Worldwideimpact study

    FLOSSInclude: Free/Libre/Open Source Software,International Cooperation

    OSOR: The Open Source Observatory and Repository

    QualipSO: Trust and Quality in Open Source Systems

    Alert: Active support and real-time coordination based onevent processing in open source software development

    D. Izquierdo Are Developers fixing their own Bugs?

    Introduction

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    9/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    Index

    1 Introduction

    2 Motivation

    3 Approach

    4 Case Study and Results

    5 Conclusions

    6 Further Work

    D. Izquierdo Are Developers fixing their own Bugs?

    Introduction

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    10/30

    IntroductionMotivation

    ApproachCase Study and Results

    ConclusionsFurther Work

    Motivation

    Are developers fixing their own bugs?

    D. Izquierdo Are Developers fixing their own Bugs?

    Introduction

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    11/30

    MotivationApproach

    Case Study and ResultsConclusions

    Further Work

    Scenarios

    A

    Life of a set of lines

    A

    previously

    participated

    A

    NOT previously

    participated

    Fixing a Bug (t)

    Previous Change (t-1)

    D. Izquierdo Are Developers fixing their own Bugs?

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    12/30

    Introduction

  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    13/30

    MotivationApproach

    Case Study and ResultsConclusions

    Further Work

    Definitions

    Source Code Management Repository

    CommitterAuthor

    Commit

    Bug-fixing commit

    Bug-seeding commitLine

    D. Izquierdo Are Developers fixing their own Bugs?

    Introduction

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    14/30

    MotivationApproach

    Case Study and ResultsConclusions

    Further Work

    Distributed Environment

    Changes

    ChangesChanges

    Central

    Repositoy

    (Server)

    Back round is a derived work fromD. Izquierdo Are Developers fixing their own Bugs?

    IntroductionM i i

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    15/30

    MotivationApproach

    Case Study and ResultsConclusions

    Further Work

    but, how to retrieve data?: Data Sources

    Nowadays FLOSS offer a huge set of data mainly based on

    next data sources:Source Code Management System: CVS, Subversion, Git,Mercurial, etc.Mailing Lists or ForumsBug Tracking Systems: Bugzilla, GNATs, Trac, Redmine, etc.

    Source code: ReleasesOthers.

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionM ti ti

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    16/30

    MotivationApproach

    Case Study and ResultsConclusions

    Further Work

    Data Mining Approach

    Focused just on the Source Code Management system

    D. Izquierdo Are Developers fixing their own Bugs?

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    17/30

    IntroductionMotivation

  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    18/30

    MotivationApproach

    Case Study and ResultsConclusions

    Further Work

    Diff output

    diff -r f1...1d -r 0b...f7 suite/build.mk a/suite/build.mk Fri Jul 25 11:32:27 2008

    +++ b/suite/build.mk Fri Jul 25 11:51:57 2008@@ -43,6 +43,10 @@TIERS + = app

    +ifdef MOZ COMPOSER+tier app dirs + = editorui+endif+ifdef MOZ CALENDARMOZ EXTENSIONS + = webdav

    endif

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    19/30

    MotivationApproach

    Case Study and ResultsConclusions

    Further Work

    Method

    SET OF LINES 1

    0 2 4 6 8FILE CURRENTLY AFFECTED

    COMMITS AFFECTING LINES

    SET OF LINES 2

    ADDITION

    ADDITION

    MODIFICATION

    MODIFICATION

    SET OF LINES 3

    SECTION

    STUDIED

    CODE

    Committer A Committer C

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    20/30

    MotivationApproach

    Case Study and ResultsConclusions

    Further Work

    Tools

    BlameMe is the tool used to retrieve the information

    This can be found athttps://projects.libresoft.es/wiki/blameme

    This tool stores the information provided for a SCM (Git orMercurial so far) between each pair of revisions.

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    https://projects.libresoft.es/wiki/blamemehttps://projects.libresoft.es/wiki/blamemehttp://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    21/30

    ApproachCase Study and Results

    ConclusionsFurther Work

    Index

    1 Introduction

    2 Motivation

    3 Approach

    4 Case Study and Results

    5 Conclusions

    6 Further Work

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    22/30

    ApproachCase Study and Results

    ConclusionsFurther Work

    Mozilla Community

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    23/30

    ApproachCase Study and Results

    ConclusionsFurther Work

    but, why?

    They use a distributed SCM: Mercurial (faster to analyze)

    Some links with the community what could help to validateresults

    Good policy in terms of information found at the commits(bugs are specified)

    Research friendly community

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    A h

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    24/30

    ApproachCase Study and Results

    ConclusionsFurther Work

    Distribution of Previous Committers

    With at most 2 committers around a 80% of the wholesample is being covered

    88 264 440 616 792 968 1144 1320 1496 1672

    Commits

    0

    20

    40

    60

    80

    100

    120

    Num.previousCommittersinvolvedatt-1

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    A h

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    25/30

    ApproachCase Study and Results

    ConclusionsFurther Work

    Focusing on that 80%

    Overall Same Comm. Diff. Comm.

    Commits 1,035 62 973

    Lines 50,078 973 49,348

    Table: One previous committer

    Overall S3 (A+B) S4 (B+C)

    Commits 357 43 314

    Lines 15,581 7,052 (6,834 + 218) 8,529

    Table: Commits: two previous committers

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    Approach

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    26/30

    ApproachCase Study and Results

    ConclusionsFurther Work

    Index

    1 Introduction

    2 Motivation

    3 Approach

    4 Case Study and Results

    5 Conclusions

    6 Further Work

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    Approach

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    27/30

    ApproachCase Study and Results

    ConclusionsFurther Work

    Conclusions

    Less than a 5% of the bug-fixing commits were handled by thesame committers than those who seeded the bug

    Thus, developers are not fixing their own bugs

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    Approach

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    28/30

    ApproachCase Study and Results

    ConclusionsFurther Work

    Index

    1 Introduction

    2 Motivation

    3 Approach

    4 Case Study and Results

    5 Conclusions

    6 Further Work

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    Approach

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    29/30

    ApproachCase Study and Results

    ConclusionsFurther Work

    Open Questions

    Even when committers are not fixing their own bugs...

    ... are they aware than they are introducing errors?We do not still fully understand why a bug was seeded:

    Different programming language than used to?Files with loads of changes in a timeframe?Commits submitted in late night hours?

    Working on an area where she is not supposed to?

    D. Izquierdo Are Developers fixing their own Bugs?

    IntroductionMotivation

    Approach

    http://find/http://goback/
  • 8/8/2019 UEL-London 2010: Are Developer Fixing Their Own Bugs?

    30/30

    ppCase Study and Results

    ConclusionsFurther Work

    Questions?

    Thanks for your attendance!Questions?

    Daniel Izquierdo Cortazar

    [email protected]/LibreSoft - Universidad Rey Juan Carlos

    D. Izquierdo Are Developers fixing their own Bugs?

    http://find/http://goback/