A Systematic Survey of Program Comprehension through Dynamic Analysis

被引:240
作者
Cornelissen, Bas [1 ]
Zaidman, Andy [1 ]
van Deursen, Arie [1 ]
Moonen, Leon [2 ]
Koschke, Rainer [3 ]
机构
[1] Delft Univ Technol, Fac Elect Engn Math & Comp Sci, NL-2628 CD Delft, Netherlands
[2] Simula Res Lab, N-1235 Lysaker, Norway
[3] Univ Bremen, Arbeitsgrp Softwaretech, D-28334 Bremen, Germany
关键词
Survey; program comprehension; dynamic analysis; DISCOVERING ARCHITECTURES; LOCATING FEATURES; SOFTWARE; INFORMATION; RECOVERY; SEQUENCE; IDENTIFICATION; CHALLENGE; EVOLUTION; INFERENCE;
D O I
10.1109/TSE.2009.28
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Program comprehension is an important activity in software maintenance, as software must be sufficiently understood before it can be properly modified. The study of a program's execution, known as dynamic analysis, has become a common technique in this respect and has received substantial attention from the research community, particularly over the last decade. These efforts have resulted in a large research body of which currently there exists no comprehensive overview. This paper reports on a systematic literature survey aimed at the identification and structuring of research on program comprehension through dynamic analysis. From a research body consisting of 4,795 articles published in 14 relevant venues between July 1999 and June 2008 and the references therein, we have systematically selected 176 articles and characterized them in terms of four main facets: activity, target, method, and evaluation. The resulting overview offers insight in what constitutes the main contributions of the field, supports the task of identifying gaps and opportunities, and has motivated our discussion of several important research directions that merit additional consideration in the near future.
引用
收藏
页码:684 / 702
页数:19
相关论文
共 154 条
[71]  
JOSHI S, 2007, P INT C SOFTW MAINT, P234
[72]   A simple static model for understanding the dynamic behavior of programs [J].
Kelsen, P .
IWPC 2004: 12TH IEEE INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 2004, :46-51
[73]  
KITCHENHAM BA, 2004, TRSE0401 KEEL U NATL
[74]  
Kleyn M.F., 1988, PROC OOPSLA, P191
[75]  
Kollmann R, 2001, FIFTH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, P58, DOI 10.1109/CSMR.2001.914969
[76]   Program slicing in understanding of large programs [J].
Korel, B ;
Rilling, J .
6TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION (IWPC 98) - PROCEEDINGS, 1998, :145-152
[77]  
KOSCHKE R., 2005, ASE '05 Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, P86
[78]   Scene: Using scenario diagrams and active text for illustrating object-oriented programs [J].
Koskimies, K ;
Mossenbock, H .
PROCEEDINGS OF THE 18TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 1996, :366-375
[79]   Profile-based approach to support comprehension of software behavior [J].
Koskinen, Johannes ;
Kettunen, Markus ;
Systa, Tarja .
14TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2006), PROCEEDINGS, 2006, :212-+
[80]  
Kothari J, 2007, INT C PROGRAM COMPRE, P17