An empirical study of amorphous slicing as a program comprehension support tool

被引:42
|
作者
Binkley, D [1 ]
Harman, M [1 ]
Raszewski, LR [1 ]
Smith, C [1 ]
机构
[1] Loyola Coll, Baltimore, MD 21210 USA
关键词
slicing; empirical validation; amorphous slicing; arrays; program comprehension;
D O I
10.1109/WPC.2000.852490
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Amorphous program slicing relaxes the syntactic constraint of traditional slicing and can therefore produce considerably smaller slices. This simplification power can be used to answer questions a software engineer might have about a program by first augmenting the program to make the question explicit and then slicing out an answer One benefit of this technique is that the answer is in the form of a program and thus, in a language that the software engineer understands well. To test the usefulness of amorphous slicing in answering such questions, the question of array access safety is considered. A safety slice, an amorphous slice of an augmented program, is used to guide a software engineer to potential array bounds violations. A series of experiments was conducted to determine whether the safety slice was an effective aid to an engineer Seventy six subjects participated in the controlled experiments. For experiments involving novice programmers, the null hypothesis could not be rejected, and so it was not possible to conclude that amorphous slicing assisted such programmers. However for more experienced groups, the experimental subjects (who were able to consult amorphous slices) significantly outperformed the control group. The study lends empirical support to the assertion that amorphous slicing assists program comprehension.
引用
收藏
页码:161 / 170
页数:10
相关论文
共 50 条
  • [1] Using conditioned slicing and amorphous slicing in program comprehension
    Shi, Shenghui
    Zhu, Qunxiong
    Xu, Wenxing
    [J]. 2008 PROCEEDINGS OF INFORMATION TECHNOLOGY AND ENVIRONMENTAL SYSTEM SCIENCES: ITESS 2008, VOL 4, 2008, : 108 - 111
  • [2] Amorphous program slicing
    Harman, M
    Binkley, D
    Danicic, S
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2003, 68 (01) : 45 - 64
  • [3] Amorphous program slicing
    Harman, M
    Danicic, S
    [J]. FIFTH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION - IWPC '97, PROCEEDINGS, 1997, : 70 - 79
  • [4] Slicing Assisted Program Verification: An Empirical Study
    Chai, Wenjian
    Yan, Rongjie
    Zhang, Wenhui
    Zhang, Jian
    [J]. THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, TASE 2024, 2024, 14777 : 38 - 57
  • [5] An Empirical Study of Blindness and Program Comprehension
    Armaly, Ameer
    [J]. 2016 IEEE/ACM 38TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING COMPANION (ICSE-C), 2016, : 683 - 685
  • [6] An Empirical Study on Program Comprehension with Reactive Programming
    Salvaneschi, Guido
    Amann, Sven
    Proksch, Sebastian
    Mezini, Mira
    [J]. 22ND ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (FSE 2014), 2014, : 564 - 575
  • [7] 3D visualization techniques to support slicing-based program comprehension
    Rilling, J
    Mudur, SP
    [J]. COMPUTERS & GRAPHICS-UK, 2005, 29 (03): : 311 - 329
  • [8] A survey of empirical results on program slicing
    Binkley, D
    Harman, M
    [J]. ADVANCES IN COMPUTERS, VOL 62: ADVANCES IN SOFTWARE ENGINEERING, 2004, 62 : 105 - 178
  • [9] Designing your next empirical study on program comprehension
    Di Penta, Massimiliano
    Stirewalt, R. E. K.
    Kraemer, Eileen
    [J]. ICPC 2007: 15TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION, PROCEEDINGS, 2007, : 281 - +
  • [10] An Empirical Study on Program Comprehension Task Classification of Novices
    Saroni, Noratika
    Aljunid, Syed Ahmad
    Shuhidan, Shuhaida Mohamed
    Shargabi, Amal
    [J]. 2015 IEEE CONFERENCE ON E-LEARNING, E-MANAGEMENT AND E-SERVICES (IC3E), 2015, : 15 - 20