Studying Fine-Grained Co-Evolution Patterns of Production and Test Code

被引:39
作者
Marsavina, Cosmin [1 ]
Romano, Daniele [1 ]
Zaidman, Andy [1 ]
机构
[1] Delft Univ Technol, NL-2600 AA Delft, Netherlands
来源
2014 14TH IEEE INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM 2014) | 2014年
关键词
D O I
10.1109/SCAM.2014.28
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Numerous software development practices suggest updating the test code whenever the production code is changed. However, previous studies have shown that co-evolving test and production code is generally a difficult task that needs to be thoroughly investigated. In this paper we perform a study that, following a mixed methods approach, investigates fine-grained co-evolution patterns of production and test code. First, we mine fine-grained changes from the evolution of 5 open-source systems. Then, we use an association rule mining algorithm to generate the co-evolution patterns. Finally, we interpret the obtained patterns by performing a qualitative analysis. The results show 6 co-evolution patterns and provide insights into their appearance along the history of the analyzed software systems. Besides providing a better understanding of how test code evolves, these findings also help identify gaps in the test code thereby assisting both researchers and developers.
引用
收藏
页码:195 / 204
页数:10
相关论文
共 19 条
[1]  
Athanasiou D., T SOFTWARE IN PRESS
[2]   Change Analysis with Evolizer and ChangeDistiller [J].
Call, Harald C. ;
Fluri, Beat ;
Pinzger, Martin .
IEEE SOFTWARE, 2009, 26 (01) :26-33
[3]  
Creswell JW., 2010, DESIGNING CONDUCTING
[4]  
Demeyer S., 2002, Object oriented reengineering patterns
[5]   The impact of software evolution on code coverage information [J].
Elbaum, S ;
Gable, D ;
Rothermel, G .
IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS: SYSTEMS AND SOFTWARE EVOLUTION IN THE ERA OF THE INTERNET, 2001, :170-179
[6]   Change distilling:: Tree differencing for fine-grained source code change extraction [J].
Fluri, Beat ;
Wuersch, Michael ;
Pinzger, Martin ;
Gall, Harald C. .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2007, 33 (11) :725-743
[7]   Aiding Software Developers to Maintain Developer Tests [J].
Hurdugaci, Victor ;
Zaidman, Andy .
2012 16TH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING (CSMR), 2012, :11-20
[8]  
Lehman M. M., 1980, Journal of Systems and Software, V1, P213, DOI 10.1016/0164-1212(79)90022-0
[9]   Using Association Rules to Study the Co-evolution of Production & Test Code [J].
Lubsen, Zeeger ;
Zaidman, Andy ;
Pinzger, Martin .
2009 6TH IEEE INTERNATIONAL WORKING CONFERENCE ON MINING SOFTWARE REPOSITORIES, 2009, :151-154
[10]   Challenges in software evolution [J].
Mens, T ;
Wermelinger, M ;
Ducasse, S ;
Demeyer, S ;
Hirschfeld, R ;
Jazayeri, M .
EIGHTH INTERNATIONAL WORKSHOP ON PRINCIPLES OF SOFTWARE EVOLUTION, PROCEEDINGS, 2005, :13-22