Mining Version Archives for Co-changed Lines

Thomas Zimmermann
Thomas ZimmermannResearcher at Microsoft Research
Mining Version Archives
 for Co-changed Lines


           Tom Zimmermann • Saarland University, Saarbrücken
              Sunghun Kim • University of California, Santa Cruz
               Andreas Zeller • Saarland University, Saarbrücken
     E. James Whitehead, Jr • University of California, Santa Cruz
Annotating Lines
Tx12         Tx23         Tx42         Tx79
 1:           1:           1:           1:
       ADD
 2:           2:           2:           2:
 3:           3:           3:           3:
 4:           4:           4:           4:
 5:           5:           5:           5:
                    CHG          DEL
 6:           6:           6:           6:
 7:           7:           7:           7:
 8:           8:           8:           8:
 9:           9:           9:           9:
10:          10:          10:          10:
11:          11:          11:          11:
       CHG
12:          12:          12:          12:
                                 CHG
             13:          13:          13:
             14:          14:          14:
             15:          15:
             16:          16:
Annotating Lines
Tx12         Tx23         Tx42         Tx79   Annotation
 1:           1:           1:           1:     1:   12
       ADD
 2:           2:           2:           2:     2:   12
 3:           3:           3:           3:     3:   23
 4:           4:           4:           4:     4:   23
 5:           5:           5:           5:     5:   23
                    CHG          DEL
 6:           6:           6:           6:     6:   12
 7:           7:           7:           7:     7:   12
 8:           8:           8:           8:     8:   12; 23
 9:           9:           9:           9:     9:   12; 23
10:          10:          10:          10:    10:   12; 23; 79
11:          11:          11:          11:    11:   12
       CHG
12:          12:          12:          12:    12:   12
                                 CHG
             13:          13:          13:    13:   12
             14:          14:          14:    14:   12
             15:          15:
             16:          16:
Frequently Changed Lines
org.eclipse.jdt.doc.isv/jdtOptions.txt
1: -charset quot;iso-8859-1quot;
2: -sourcepath [...]
3: -d reference/api
4: -classpath @rt@;../org.apache.ant/lib/ant.jar;../org.eclipse.debug.core/@dot;../org.eclipse.compare/@dot;../org.ec
   lipse.help/@dot;../org.eclipse.help.ui/@dot;../org.eclipse.core.resources/@dot;../org.eclipse.core.runtime/@dot;..
   /org.eclipse.core.filebuffers/@dot;../org.eclipse.core.expressions/@dot;../org.eclipse.swt.win32.win32.x86/@dot;.
   ./org.eclipse.ui/@dot;../org.eclipse.jdt.debug/jdi.jar;../org.eclipse.debug.ui/@dot;../org.eclipse.search/@dot;../org.e
   clipse.jface/@dot;../org.eclipse.jface.text/@dot;../org.eclipse.text/@dot;../org.eclipse.ui.editors/@dot;../org.eclips
   e.ui.views/@dot;../org.eclipse.ui.workbench/@dot;../org.eclipse.ui.workbench.texteditor/@dot;../org.eclipse.core
   .variables/@dot;../org.eclipse.ui.ide/@dot;../org.eclipse.jdt.junit/@dot;../org.eclipse.osgi/@dot;../org.eclipse.osgi.s
   ervices/@dot;../org.eclipse.osgi.util/@dot;../org.eclipse.ui.forms/@dot;../org.eclipse.core.commands/@dot;../org.
   eclipse.ltk.core.refactoring/@dot;../org.eclipse.ltk.ui.refactoring/@dot;../org.eclipse.core.filesystem/@dot;../org.e
   clipse.core.jobs/@dot;../org.eclipse.equinox.registry/@dot;../org.eclipse.equinox.common/@dot;../org.eclipse.co
   re.contenttype/@dot;../org.eclipse.equinox.preferences/@dot;../org.eclipse.equinox.supplement/@dot;../org.ecli
   pse.core.runtime.content/@dot;../org.eclipse.core.runtime.jobs/@dot;../org.eclipse.core.runtime.preferences/@
   dot
5: -breakiterator
6: -use
Frequently Changed Lines
org.eclipse.jdt.doc.isv/jdtOptions.txt
1: -charset quot;iso-8859-1quot;
2: -sourcepath [...]
3: -d reference/api
4: -classpath @rt@;../org.apache.ant/lib/ant.jar;../org.eclipse.debug.core/@dot;../org.eclipse.compare/@dot;../org.ec
   lipse.help/@dot;../org.eclipse.help.ui/@dot;../org.eclipse.core.resources/@dot;../org.eclipse.core.runtime/@dot;..
   /org.eclipse.core.filebuffers/@dot;../org.eclipse.core.expressions/@dot;../org.eclipse.swt.win32.win32.x86/@dot;.

                                                ED
   ./org.eclipse.ui/@dot;../org.eclipse.jdt.debug/jdi.jar;../org.eclipse.debug.ui/@dot;../org.eclipse.search/@dot;../org.e

                                             NG
                                          HA
   clipse.jface/@dot;../org.eclipse.jface.text/@dot;../org.eclipse.text/@dot;../org.eclipse.ui.editors/@dot;../org.eclips

                                        C
   e.ui.views/@dot;../org.eclipse.ui.workbench/@dot;../org.eclipse.ui.workbench.texteditor/@dot;../org.eclipse.core
   .variables/@dot;../org.eclipse.ui.ide/@dot;../org.eclipse.jdt.junit/@dot;../org.eclipse.osgi/@dot;../org.eclipse.osgi.s
                                                ES
                                            TIM
   ervices/@dot;../org.eclipse.osgi.util/@dot;../org.eclipse.ui.forms/@dot;../org.eclipse.core.commands/@dot;../org.

                                         28
   eclipse.ltk.core.refactoring/@dot;../org.eclipse.ltk.ui.refactoring/@dot;../org.eclipse.core.filesystem/@dot;../org.e
   clipse.core.jobs/@dot;../org.eclipse.equinox.registry/@dot;../org.eclipse.equinox.common/@dot;../org.eclipse.co
   re.contenttype/@dot;../org.eclipse.equinox.preferences/@dot;../org.eclipse.equinox.supplement/@dot;../org.ecli
   pse.core.runtime.content/@dot;../org.eclipse.core.runtime.jobs/@dot;../org.eclipse.core.runtime.preferences/@
   dot
5: -breakiterator
6: -use
Co-change on Lines
j2me/Library.java
   ...
25: static int MINOR_VERSION = 215;
    ...

version.txt
1: version 3.215

j2se/Library.java
   ...
25: static int MINOR_VERSION = 215;
    ...
Co-change on Lines
j2me/Library.java
   ...
25: static int MINOR_VERSION = 215;

                                              ED
    ...
                                           NG
                                        HA
                                      C
                                               ES
version.txt
                                           TIM
                                        71
                                      1
1: version 3.215
                                               ER
                                            TH
                                         GE
                                      TO
j2se/Library.java
   ...
25: static int MINOR_VERSION = 215;
    ...
1 of 7

More Related Content

Viewers also liked(11)

Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open Source
Thomas Zimmermann1.6K 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
esolang: Esoterische Programmiersprachenesolang: Esoterische Programmiersprachen
esolang: Esoterische Programmiersprachen
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
When do changes induce fixes?When do changes induce fixes?
When do changes induce fixes?
Thomas Zimmermann3.1K views
Software Analytics = Sharing InformationSoftware Analytics = Sharing Information
Software Analytics = Sharing Information
Thomas Zimmermann3.3K views
Unit testing with JUnitUnit testing with JUnit
Unit testing with JUnit
Thomas Zimmermann16.1K views

Similar to Mining Version Archives for Co-changed Lines(20)

clang-introclang-intro
clang-intro
Hajime Morrita2.4K views
Verilog Lecture2 thhtsVerilog Lecture2 thhts
Verilog Lecture2 thhts
Béo Tú3.3K views
Edge trends mizuno-templateEdge trends mizuno-template
Edge trends mizuno-template
shintaro mizuno357 views
Understanding SLAB in Linux KernelUnderstanding SLAB in Linux Kernel
Understanding SLAB in Linux Kernel
Haifeng Li1.2K views
Jvm Language Summit Rose 20081016Jvm Language Summit Rose 20081016
Jvm Language Summit Rose 20081016
Eduardo Pelegri-Llopart587 views
Thu bernstein key_warp_speedThu bernstein key_warp_speed
Thu bernstein key_warp_speed
eswcsummerschool551 views
Adaptive Linear Solvers and EigensolversAdaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and Eigensolvers
inside-BigData.com268 views
20110114 Next Generation Sequencing Course20110114 Next Generation Sequencing Course
20110114 Next Generation Sequencing Course
Pierre Lindenbaum10.4K views
Dynomite at Erlang FactoryDynomite at Erlang Factory
Dynomite at Erlang Factory
moonpolysoft594 views
C* Summit EU 2013: The State of CQLC* Summit EU 2013: The State of CQL
C* Summit EU 2013: The State of CQL
DataStax Academy1.1K views
Cassandra EU - State of CQLCassandra EU - State of CQL
Cassandra EU - State of CQL
pcmanus2.5K views
Rustでパケットと戯れるRustでパケットと戯れる
Rustでパケットと戯れる
ShuyaMotouchi11.4K views
SgeSge
Sge
Chris Roeder840 views
Cloud burst tutorialCloud burst tutorial
Cloud burst tutorial
주영 송1K views

More from Thomas Zimmermann(14)

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
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
HATARI: Raising Risk AwarenessHATARI: Raising Risk Awareness
HATARI: Raising Risk Awareness
Thomas Zimmermann584 views

Mining Version Archives for Co-changed Lines

  • 1. Mining Version Archives for Co-changed Lines Tom Zimmermann • Saarland University, Saarbrücken Sunghun Kim • University of California, Santa Cruz Andreas Zeller • Saarland University, Saarbrücken E. James Whitehead, Jr • University of California, Santa Cruz
  • 2. Annotating Lines Tx12 Tx23 Tx42 Tx79 1: 1: 1: 1: ADD 2: 2: 2: 2: 3: 3: 3: 3: 4: 4: 4: 4: 5: 5: 5: 5: CHG DEL 6: 6: 6: 6: 7: 7: 7: 7: 8: 8: 8: 8: 9: 9: 9: 9: 10: 10: 10: 10: 11: 11: 11: 11: CHG 12: 12: 12: 12: CHG 13: 13: 13: 14: 14: 14: 15: 15: 16: 16:
  • 3. Annotating Lines Tx12 Tx23 Tx42 Tx79 Annotation 1: 1: 1: 1: 1: 12 ADD 2: 2: 2: 2: 2: 12 3: 3: 3: 3: 3: 23 4: 4: 4: 4: 4: 23 5: 5: 5: 5: 5: 23 CHG DEL 6: 6: 6: 6: 6: 12 7: 7: 7: 7: 7: 12 8: 8: 8: 8: 8: 12; 23 9: 9: 9: 9: 9: 12; 23 10: 10: 10: 10: 10: 12; 23; 79 11: 11: 11: 11: 11: 12 CHG 12: 12: 12: 12: 12: 12 CHG 13: 13: 13: 13: 12 14: 14: 14: 14: 12 15: 15: 16: 16:
  • 4. Frequently Changed Lines org.eclipse.jdt.doc.isv/jdtOptions.txt 1: -charset quot;iso-8859-1quot; 2: -sourcepath [...] 3: -d reference/api 4: -classpath @rt@;../org.apache.ant/lib/ant.jar;../org.eclipse.debug.core/@dot;../org.eclipse.compare/@dot;../org.ec lipse.help/@dot;../org.eclipse.help.ui/@dot;../org.eclipse.core.resources/@dot;../org.eclipse.core.runtime/@dot;.. /org.eclipse.core.filebuffers/@dot;../org.eclipse.core.expressions/@dot;../org.eclipse.swt.win32.win32.x86/@dot;. ./org.eclipse.ui/@dot;../org.eclipse.jdt.debug/jdi.jar;../org.eclipse.debug.ui/@dot;../org.eclipse.search/@dot;../org.e clipse.jface/@dot;../org.eclipse.jface.text/@dot;../org.eclipse.text/@dot;../org.eclipse.ui.editors/@dot;../org.eclips e.ui.views/@dot;../org.eclipse.ui.workbench/@dot;../org.eclipse.ui.workbench.texteditor/@dot;../org.eclipse.core .variables/@dot;../org.eclipse.ui.ide/@dot;../org.eclipse.jdt.junit/@dot;../org.eclipse.osgi/@dot;../org.eclipse.osgi.s ervices/@dot;../org.eclipse.osgi.util/@dot;../org.eclipse.ui.forms/@dot;../org.eclipse.core.commands/@dot;../org. eclipse.ltk.core.refactoring/@dot;../org.eclipse.ltk.ui.refactoring/@dot;../org.eclipse.core.filesystem/@dot;../org.e clipse.core.jobs/@dot;../org.eclipse.equinox.registry/@dot;../org.eclipse.equinox.common/@dot;../org.eclipse.co re.contenttype/@dot;../org.eclipse.equinox.preferences/@dot;../org.eclipse.equinox.supplement/@dot;../org.ecli pse.core.runtime.content/@dot;../org.eclipse.core.runtime.jobs/@dot;../org.eclipse.core.runtime.preferences/@ dot 5: -breakiterator 6: -use
  • 5. Frequently Changed Lines org.eclipse.jdt.doc.isv/jdtOptions.txt 1: -charset quot;iso-8859-1quot; 2: -sourcepath [...] 3: -d reference/api 4: -classpath @rt@;../org.apache.ant/lib/ant.jar;../org.eclipse.debug.core/@dot;../org.eclipse.compare/@dot;../org.ec lipse.help/@dot;../org.eclipse.help.ui/@dot;../org.eclipse.core.resources/@dot;../org.eclipse.core.runtime/@dot;.. /org.eclipse.core.filebuffers/@dot;../org.eclipse.core.expressions/@dot;../org.eclipse.swt.win32.win32.x86/@dot;. ED ./org.eclipse.ui/@dot;../org.eclipse.jdt.debug/jdi.jar;../org.eclipse.debug.ui/@dot;../org.eclipse.search/@dot;../org.e NG HA clipse.jface/@dot;../org.eclipse.jface.text/@dot;../org.eclipse.text/@dot;../org.eclipse.ui.editors/@dot;../org.eclips C e.ui.views/@dot;../org.eclipse.ui.workbench/@dot;../org.eclipse.ui.workbench.texteditor/@dot;../org.eclipse.core .variables/@dot;../org.eclipse.ui.ide/@dot;../org.eclipse.jdt.junit/@dot;../org.eclipse.osgi/@dot;../org.eclipse.osgi.s ES TIM ervices/@dot;../org.eclipse.osgi.util/@dot;../org.eclipse.ui.forms/@dot;../org.eclipse.core.commands/@dot;../org. 28 eclipse.ltk.core.refactoring/@dot;../org.eclipse.ltk.ui.refactoring/@dot;../org.eclipse.core.filesystem/@dot;../org.e clipse.core.jobs/@dot;../org.eclipse.equinox.registry/@dot;../org.eclipse.equinox.common/@dot;../org.eclipse.co re.contenttype/@dot;../org.eclipse.equinox.preferences/@dot;../org.eclipse.equinox.supplement/@dot;../org.ecli pse.core.runtime.content/@dot;../org.eclipse.core.runtime.jobs/@dot;../org.eclipse.core.runtime.preferences/@ dot 5: -breakiterator 6: -use
  • 6. Co-change on Lines j2me/Library.java ... 25: static int MINOR_VERSION = 215; ... version.txt 1: version 3.215 j2se/Library.java ... 25: static int MINOR_VERSION = 215; ...
  • 7. Co-change on Lines j2me/Library.java ... 25: static int MINOR_VERSION = 215; ED ... NG HA C ES version.txt TIM 71 1 1: version 3.215 ER TH GE TO j2se/Library.java ... 25: static int MINOR_VERSION = 215; ...