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 条
  • [1] [Anonymous], ACM SIGPLAN NOTICES
  • [2] [Anonymous], PLDI 98
  • [3] [Anonymous], P INT C SOFTW TEST V
  • [4] [Anonymous], 2000, AUTOMATIC REENGINEER
  • [5] Using dependence graphs as a support to document programs
    Balmas, F
    [J]. SCAM 2002: SECOND IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS MANIPULATION, PROCEEDINGS, 2002, : 145 - 154
  • [6] BARESEL A, 2002, GECCO 2002, P1329
  • [7] Bates S., 1993, Conference Record of the Twentieth Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, P384, DOI 10.1145/158511.158694
  • [8] BECK J, 1993, PROC INT CONF SOFTW, P509, DOI 10.1109/ICSE.1993.346015
  • [9] Union slices for program maintenance
    Beszédes, A
    Faragó, C
    Szabó, ZM
    Csirik, J
    Gyimóthy, T
    [J]. INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, PROCEEDINGS, 2002, : 12 - 21
  • [10] Beszédes A, 2001, FIFTH EUROPEAN CONFERENCE ON SOFTWARE MAINTENANCE AND REENGINEERING, PROCEEDINGS, P105, DOI 10.1109/CSMR.2001.914974