USING PROGRAM SLICING IN SOFTWARE MAINTENANCE

被引:316
|
作者
GALLAGHER, KB
LYLE, JR
机构
[1] UNIV MARYLAND,CATONSVILLE,MD 21228
[2] NATL INST STAND & TECHNOL COMP SYST LAB,GAITHERSBURG,MD
关键词
SOFTWARE MAINTENANCE; PROGRAM SLICING; DECOMPOSITION SLICING; SOFTWARE PROCESS MODELS; SOFTWARE TESTING; SOFTWARE TOOLS; IMPACT ANALYSIS;
D O I
10.1109/32.83912
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Program slicing, introduced by Weiser, is known to help programmers in understanding foreign code and in debugging. We apply program slicing to the maintenance problem by extending the notion of a program slice (that originally required both a variable and line number) to a decomposition slice, one that captures all computation on a given variable; i.e., is independent of line numbers. Using the lattice of single variable decomposition slices ordered by set inclusion, we demonstrate how to form a slice-based decomposition for programs. We are then able to delineate the effects of a proposed change by isolating those effects in a single component of the decomposition. This gives maintainers a straightforward technique for determining those statements and variables which may be modified in a component and those which may not. Using the decomposition, we provide a set of principles to prohibit changes which will interfere with unmodified components. These semantically consistent changes can then be merged back into the original program in linear time. Moreover, the maintainer can test the changes in the component with the assurance that there are no linkages into other components. Thus decomposition slicing induces a new software maintenance process model which eliminates the need for regression testing.
引用
收藏
页码:751 / 761
页数:11
相关论文
共 50 条
  • [41] A PROGRAM DESIGN LANGUAGE BASED SOFTWARE MAINTENANCE TOOL
    INCE, DC
    SOFTWARE-PRACTICE & EXPERIENCE, 1985, 15 (06): : 583 - 594
  • [42] Program slicing using a path dependence flow graph
    Naoi, K
    Takahashi, N
    SYSTEMS AND COMPUTERS IN JAPAN, 1996, 27 (12) : 73 - 91
  • [43] A program slicing method using lightweight dynamic information
    Takada, Tomonori
    Inoue, Katsuro
    Ohata, Fumiaki
    Ashida, Yoshiyuki
    ELECTRONICS AND COMMUNICATIONS IN JAPAN PART II-ELECTRONICS, 2006, 89 (11): : 60 - 67
  • [44] Detecting Software Code Vulnerabilities Using 2D Convolutional Neural Networks with Program Slicing Feature Maps
    Watson, Anne
    Ufuktepe, Ekincan
    Palaniappan, Kannappan
    2022 IEEE APPLIED IMAGERY PATTERN RECOGNITION WORKSHOP, AIPR, 2022,
  • [45] Program slicing by calculation
    Rodrigues, Nuno F.
    Barbosa, Luis S.
    JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2006, 12 (07) : 828 - 848
  • [46] Program slicing - Foreword
    Weiser, M
    INFORMATION AND SOFTWARE TECHNOLOGY, 1998, 40 (11-12) : 575 - 575
  • [47] COMMENTS ON PROGRAM SLICING
    LEUNG, HKN
    REGHBATI, HK
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1987, 13 (12) : 1370 - 1371
  • [48] Using abstraction-driven slicing for postmortem analysis of software
    Jetley, Raoul
    Zhang, Yi
    Iyer, S. Purushothaman
    14TH IEEE INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION (ICPC 2006), PROCEEDINGS, 2006, : 107 - +
  • [49] DYNAMIC PROGRAM SLICING
    AGRAWAL, H
    HORGAN, JR
    SIGPLAN NOTICES, 1990, 25 (06): : 246 - 256
  • [50] Software fault tolerance of distributed programs using computation slicing
    Mittal, N
    Garg, VK
    23RD INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, PROCEEDINGS, 2002, : 105 - 113