Dependence Clusters in Source Code

被引:23
作者
Harman, Mark [1 ]
Binkley, David [2 ]
Gallagher, Keith [3 ]
Gold, Nicolas [1 ]
Krinke, Jens [1 ]
机构
[1] Kings Coll London, London WC2R 2LS, England
[2] Loyola Coll, Baltimore, MD 21210 USA
[3] Univ Durham, Durham DH1 3LE, England
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2009年 / 32卷 / 01期
基金
英国工程与自然科学研究理事会;
关键词
Algorithms; Languages; Measurement; Dependence; program comprehension; program slicing; PROGRAM; TESTABILITY; SLICES; GENERATION; SUPPORT; DESIGN; SYSTEM;
D O I
10.1145/1596527.1596528
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
A dependence cluster is a set of program statements, all of which are mutually inter-dependent. This article reports a large scale empirical study of dependence clusters in C program source code. The study reveals that large dependence clusters are surprisingly commonplace. Most of the 45 programs studied have clusters of dependence that consume more than 10% of the whole program. Some even have clusters consuming 80% or more. The widespread existence of clusters has implications for source code analyses such as program comprehension, software maintenance, software testing, reverse engineering, reuse, and parallelization.
引用
收藏
页数:33
相关论文
共 95 条
  • [41] GALLAGHER K, 2003, P 11 INT WORKSH PROG
  • [42] GALLAGHER K, 2001, P INT WORKSH EMP STU
  • [43] USING PROGRAM SLICING IN SOFTWARE MAINTENANCE
    GALLAGHER, KB
    LYLE, JR
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1991, 17 (08) : 751 - 761
  • [44] GALLAGHER KB, 1996, P C SOFTW MAINT 1996
  • [45] GALLAGHER KB, 1992, P INT C SOFTW MAINT, P236
  • [46] *GRAMM INC, 2002, COD SLIC SYST
  • [47] Gupta R., 1992, P IEEE C SOFTW MAINT, P299
  • [48] HALL T, 2005, P 11 INT SOFTW METR, P18
  • [49] Amorphous program slicing
    Harman, M
    Binkley, D
    Danicic, S
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2003, 68 (01) : 45 - 64
  • [50] Harman M, 2004, FOURTH IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, P85