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 条
  • [21] A QUALITY ASSURANCE PROGRAM FOR SOFTWARE MAINTENANCE
    CENTER, JW
    AFIPS CONFERENCE PROCEEDINGS, 1982, 51 : 399 - &
  • [22] Program slicing across the hardware-software boundary for embedded systems
    Russell, Jeffry T.
    Jacome, Margarida F.
    INTERNATIONAL JOURNAL OF EMBEDDED SYSTEMS, 2009, 4 (01) : 66 - 82
  • [23] Efficient program verification using binary trees and program slicing
    Takahashi, M
    Mizukoshi, N
    Tsuda, K
    KNOWLEDGE-BASED INTELLIGENT INFORMATION AND ENGINEERING SYSTEMS, PT 1, PROCEEDINGS, 2004, 3213 : 487 - 493
  • [24] Bug classification using program slicing metrics
    Pan, Kai
    Kim, Sunghun
    Whitehead, E. James, Jr.
    SIXTH IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2006, : 31 - +
  • [25] A workbench for program comprehension during software maintenance
    Canfora, G
    Mancini, L
    Tortorella, M
    FOURTH WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 1996, : 30 - 39
  • [26] PROGRAM COMPREHENSION DURING SOFTWARE MAINTENANCE AND EVOLUTION
    VONMAYRHAUSER, A
    VANS, AM
    COMPUTER, 1995, 28 (08) : 44 - 55
  • [27] A SOFTWARE METRIC SET FOR PROGRAM MAINTENANCE MANAGEMENT
    STARK, GE
    KERN, LC
    VOWELL, CW
    JOURNAL OF SYSTEMS AND SOFTWARE, 1994, 24 (03) : 239 - 249
  • [28] Workbench for program comprehension during software maintenance
    Canfora, G.
    Mancini, L.
    Tortorella, M.
    Program Comprehension, Workshop Proceedings, 1996, : 30 - 39
  • [29] APPLYING SOFTWARE COMPLEXITY METRICS TO PROGRAM MAINTENANCE
    HARRISON, W
    MAGEL, K
    KLUCZNY, R
    DEKOCK, A
    COMPUTER, 1982, 15 (09) : 65 - 79
  • [30] Software metric set for program maintenance management
    1600, Publ by John Wiley & Sons Ltd, Chichester, Engl (18):