Crossover Designs in Software Engineering Experiments: Benefits and Perils

被引:102
作者
Vegas, Sira [1 ]
Apa, Cecilia [2 ]
Juristo, Natalia [1 ,3 ]
机构
[1] Univ Politecn Madrid, Esceula Tecn Super Ingn Informat, Campus Montegancedo S-N, E-28660 Madrid, Spain
[2] Univ Republica, Fac Ingn, Inst Comp, Julio Herrera & Reissig 565, Montevideo 11300, Uruguay
[3] Univ Oulu, Dept Proc Informat, SF-90100 Oulu, Finland
关键词
Experimental software engineering; controlled experiment; data analysis; crossover design; carryover; 2-TREATMENT; FAMILY;
D O I
10.1109/TSE.2015.2467378
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In experiments with crossover design subjects apply more than one treatment. Crossover designs are widespread in software engineering experimentation: they require fewer subjects and control the variability among subjects. However, some researchers disapprove of crossover designs. The main criticisms are: the carryover threat and its troublesome analysis. Carryover is the persistence of the effect of one treatment when another treatment is applied later. It may invalidate the results of an experiment. Additionally, crossover designs are often not properly designed and/or analysed, limiting the validity of the results. In this paper, we aim to make SE researchers aware of the perils of crossover experiments and provide risk avoidance good practices. We study how another discipline (medicine) runs crossover experiments. We review the SE literature and discuss which good practices tend not to be adhered to, giving advice on how they should be applied in SE experiments. We illustrate the concepts discussed analysing a crossover experiment that we have run. We conclude that crossover experiments can yield valid results, provided they are properly designed and analysed, and that, if correctly addressed, carryover is no worse than other validity threats.
引用
收藏
页码:120 / 135
页数:16
相关论文
共 38 条
[21]  
JONES B, 1989, DESIGN ANAL CROSSOVE
[22]  
Juristo N., 2013, Basics of Software Engineering Experimentation
[23]  
Kamsties E., 1995, Software Engineering - ESEC '95. 5th European Software Engineering Conference. Proceedings, P362
[24]  
Kitchenham B, 2004, ELEVENTH ANNUAL INTERNATIONAL WORKSHOP ON SOFTWARE TECHNOLOGY AND ENGINEERING PRACTICE, PROCEEDINGS, P65
[25]   Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments [J].
Kosar, Tomaz ;
Mernik, Marjan ;
Carver, Jeffrey C. .
EMPIRICAL SOFTWARE ENGINEERING, 2012, 17 (03) :276-304
[26]  
Kuehl R.O., 2000, Design of experiments: statistical principles of research designand analysis, V2nd
[27]   Effects of Developer Experience on Learning and Applying Unit Test-Driven Development [J].
Latorre, Roberto .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2014, 40 (04) :381-395
[28]  
Lemos OAL, 2012, PROC INT CONF SOFTW, P529, DOI 10.1109/ICSE.2012.6227163
[29]  
Levine G., 1993, EXPT METHODS PSYCHOL
[30]  
McCulloch CE., 2008, Generalized, Linear, and Mixed Models, V2nd ed