Mining Workspace Updates in CVS

Thomas Zimmermann
Thomas ZimmermannResearcher at Microsoft Research
Mining Workspace
 Updates in CVS
    Tom Zimmermann
RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IBuffer.java,v
Working file: ./org.eclipse.jdt.core/model/org/eclipse/jdt/core/IBuffer.java
head: 1.17



                        Change Data
branch:
locks: strict
access list:
symbolic names:
           v_397: 1.16
           v_396a: 1.16
           ...

      Information in cvs logs in all about commits:
           v_382: 1.15
           JDK_1_5: 1.15.0.2
           Root_JDK_1_5: 1.15
         Who? What? Why? When? How?
           v_381: 1.15
           ...
keyword substitution: o
total revisions: 24; selected revisions: 24
description:
----------------------------
revision 1.17

                                 But what about updates?
date: 2004/01/13 15:48:42; author: jlanneluc; state: Exp; lines: +1 -1
Updated copyrights to 2004
----------------------------
revision 1.16
date: 2003/12/15 16:25:37; author: jlanneluc; state: Exp; lines: +15 -26
46040
----------------------------
revision 1.15
date: 2003/05/26 16:13:24; author: pmulet; state: Exp; lines: +5 -1
branches: 1.15.2;
*** empty log message ***
----------------------------
...
----------------------------
Activity Data
                         update     update    commit
           checkout
                          1.14       1.15      1.16
Mary                                                                                 time


                                                                smooth integration
                                                                 update 1.16
                                   Kate

                                                       integration with conflicts
                                                         update 1.16
                                   John



O   2004-06-13   05:45   +0000    mary   foo =foo= <remote>/*
U   2004-06-15   06:56   +0000    mary   1.14 Bar.java foo ==      <remote>
P   2004-06-17   07:22   +0000    mary   1.15 Bar.java foo ==      <remote>
M   2004-06-19   07:50   +0000    mary   1.16 Bar.java foo ==      <remote>
C   2004-06-21   07:48   +0000    john   1.16 Bar.java foo ==      <remote>
G   2004-06-22   08:48   +0000    kate   1.16 Bar.java foo ==      /home/kate/foo
Parallel Development

    How many updates
    integrate changes?



                     JEdit   Python

    0.26%   0.15%    0.54%   0.43%
Parallel Development

    How many commits
    lead to integrations?



                        JEdit   Python

    9.06%    3.89%     9.03%    20.20%
Parallel Development

   How many integrations
      have conflicts?



                      JEdit   Python

    22.8%   46.6%    24.3%    38.3%
Parallel Development

   How many conflicting
  changes were discarded?



                      JEdit   Python

    38.4%    68.5%   57.8%    57.5%
Parallel Development

    How many conflicts
     are self-conflicts?



                      JEdit   Python

    11.2%   42.5%     35.3%   5.2%
Parallel
Development
Little impact on
other developers
CVS can integrate
many changes, but
not all.
Developers have
several workspaces.
1 of 9

More Related Content

Viewers also liked(6)

apartamentos  Niteroi - Via Marapartamentos  Niteroi - Via Mar
apartamentos Niteroi - Via Mar
Lancamentosrj309 views
Tokoh moral dalam keluarga sayaTokoh moral dalam keluarga saya
Tokoh moral dalam keluarga saya
Din Shaharudin5.5K views
Unit testing with JUnitUnit testing with JUnit
Unit testing with JUnit
Thomas Zimmermann16.1K views

Similar to Mining Workspace Updates in CVS

RevisionsRevisions
Revisionsswat_kh
1.1K views21 slides
Camera workflow sampleCamera workflow sample
Camera workflow sampleiamleont
234 views16 slides

Similar to Mining Workspace Updates in CVS(20)

More from Thomas Zimmermann(20)

Software Analytics = Sharing InformationSoftware Analytics = Sharing Information
Software Analytics = Sharing Information
Thomas Zimmermann3.3K views
MSR 2013 PreviewMSR 2013 Preview
MSR 2013 Preview
Thomas Zimmermann21.8K views
Analytics for smarter software development Analytics for smarter software development
Analytics for smarter software development
Thomas Zimmermann2.6K views
Klingon Countdown TimerKlingon Countdown Timer
Klingon Countdown Timer
Thomas Zimmermann1.3K views
Data driven games user researchData driven games user research
Data driven games user research
Thomas Zimmermann1.5K views
Security trend analysis with CVE topic modelsSecurity trend analysis with CVE topic models
Security trend analysis with CVE topic models
Thomas Zimmermann1.5K views
Analytics for software developmentAnalytics for software development
Analytics for software development
Thomas Zimmermann4.6K views
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
Thomas Zimmermann1.9K views
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open Source
Thomas Zimmermann1.6K views
Meet Tom and his FishMeet Tom and his Fish
Meet Tom and his Fish
Thomas Zimmermann1.5K views
Got Myth? Myths in Software EngineeringGot Myth? Myths in Software Engineering
Got Myth? Myths in Software Engineering
Thomas Zimmermann5.9K views

Mining Workspace Updates in CVS

  • 1. Mining Workspace Updates in CVS Tom Zimmermann
  • 2. RCS file: /home/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/core/IBuffer.java,v Working file: ./org.eclipse.jdt.core/model/org/eclipse/jdt/core/IBuffer.java head: 1.17 Change Data branch: locks: strict access list: symbolic names: v_397: 1.16 v_396a: 1.16 ... Information in cvs logs in all about commits: v_382: 1.15 JDK_1_5: 1.15.0.2 Root_JDK_1_5: 1.15 Who? What? Why? When? How? v_381: 1.15 ... keyword substitution: o total revisions: 24; selected revisions: 24 description: ---------------------------- revision 1.17 But what about updates? date: 2004/01/13 15:48:42; author: jlanneluc; state: Exp; lines: +1 -1 Updated copyrights to 2004 ---------------------------- revision 1.16 date: 2003/12/15 16:25:37; author: jlanneluc; state: Exp; lines: +15 -26 46040 ---------------------------- revision 1.15 date: 2003/05/26 16:13:24; author: pmulet; state: Exp; lines: +5 -1 branches: 1.15.2; *** empty log message *** ---------------------------- ... ----------------------------
  • 3. Activity Data update update commit checkout 1.14 1.15 1.16 Mary time smooth integration update 1.16 Kate integration with conflicts update 1.16 John O 2004-06-13 05:45 +0000 mary foo =foo= <remote>/* U 2004-06-15 06:56 +0000 mary 1.14 Bar.java foo == <remote> P 2004-06-17 07:22 +0000 mary 1.15 Bar.java foo == <remote> M 2004-06-19 07:50 +0000 mary 1.16 Bar.java foo == <remote> C 2004-06-21 07:48 +0000 john 1.16 Bar.java foo == <remote> G 2004-06-22 08:48 +0000 kate 1.16 Bar.java foo == /home/kate/foo
  • 4. Parallel Development How many updates integrate changes? JEdit Python 0.26% 0.15% 0.54% 0.43%
  • 5. Parallel Development How many commits lead to integrations? JEdit Python 9.06% 3.89% 9.03% 20.20%
  • 6. Parallel Development How many integrations have conflicts? JEdit Python 22.8% 46.6% 24.3% 38.3%
  • 7. Parallel Development How many conflicting changes were discarded? JEdit Python 38.4% 68.5% 57.8% 57.5%
  • 8. Parallel Development How many conflicts are self-conflicts? JEdit Python 11.2% 42.5% 35.3% 5.2%
  • 9. Parallel Development Little impact on other developers CVS can integrate many changes, but not all. Developers have several workspaces.