Classifying change types for qualifying change couplings

被引:113
作者
Fluri, Beat [1 ]
Gall, Harald C. [1 ]
机构
[1] Univ Zurich, Dept Informat, SEAL, CH-8006 Zurich, Switzerland
来源
14TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2006), PROCEEDINGS | 2006年
关键词
D O I
10.1109/ICPC.2006.16
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Current change history analysis approaches rely on information provided by versioning systems such as CVS. Therefore, changes are not related to particular source code entities such as classes or methods but rather to text lines added and/or removed. For analyzing whether some change coupling between source code entities is significant or only minor textual adjustments have been checked in, it is essential to reflect the changes to the source code entities. We have developed an approach for analyzing and classifying change types based on code revisions. We can differentiate between several types of changes on the method or class level and assess their significance in terms of the impact of the change types on other source code entities and whether a change may be junctionality-modifying or functionality-preserving. We applied our change taxonomy to a case study and found out that in many cases large numbers of lines added and/or deleted are not accompanied by significant changes but small textual adaptations (such as indentation, etc.). Furthermore, our approach allows us to relate all change couplings to the significance of the identified change types. As a result,. change couplings between code entities can be qualified and less relevant couplings can be filtered out.
引用
收藏
页码:35 / +
页数:3
相关论文
共 28 条
[1]  
[Anonymous], 2002, ALGORITHMS TREES GRA
[2]   A differencing algorithm for object-oriented programs [J].
Apiwattanapong, T ;
Orso, A ;
Harrold, MJ .
19TH INTERNATIONAL CONFERENCE ON AUTOMATED SOFTWARE ENGINEERING, PROCEEDINGS, 2004, :2-13
[3]  
CHAWATHE S, 1996, P ACM SIGMOD INT C M, P493
[4]   Populating a release history database from version control and bug tracking systems [J].
Fischer, M ;
Pinzger, M ;
Gall, H .
INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2003, :23-32
[5]   Fine-grained analysis of change couplings [J].
Fluri, B ;
Gall, HC ;
Pinzger, M .
FIFTH IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2005, :66-74
[6]  
Gall H, 2003, SIXTH INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION, PROCEEDINGS, P13
[7]   How developers drive software evolution [J].
Gîrba, T ;
Kuhn, A ;
Seeberger, M ;
Ducasse, S .
EIGHTH INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION, PROCEEDINGS, 2005, :113-122
[8]   Using origin analysis to detect merging and splitting of source code entities [J].
Godfrey, MW ;
Zou, LJ .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2005, 31 (02) :166-181
[9]   Studying the evolution of software systems using evolutionary code extractors [J].
Hassan, AE ;
Holt, RC .
7TH INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION, 2004, :76-81
[10]  
HORWITZ S, 1990, ACM T PROGR LANG SYS, V12, P26, DOI 10.1145/960116.53994