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 条
  • [31] Using Program Slicing to Detect the Dead Code
    AlAbwaini, Nour
    Alda'aje, Amal
    Jaber, Tamara
    Abdallah, Mohammad
    Tamimi, Abdelfatah
    2018 8TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND INFORMATION TECHNOLOGY (CSIT), 2018, : 230 - 233
  • [32] Untangling Composite Commits Using Program Slicing
    Muylaert, Ward
    De Roover, Coen
    2018 IEEE 18TH INTERNATIONAL WORKING CONFERENCE ON SOURCE CODE ANALYSIS AND MANIPULATION (SCAM), 2018, : 193 - 202
  • [33] Program slicing
    Harman, M
    Gallagher, KB
    INFORMATION AND SOFTWARE TECHNOLOGY, 1998, 40 (11-12) : 577 - 581
  • [34] PROGRAM SLICING
    WEISER, M
    IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1984, 10 (04) : 352 - 357
  • [35] Program Slicing
    Gallagher, Keith
    Binkley, David
    2008 FRONTIERS OF SOFTWARE MAINTENANCE, 2008, : 58 - 67
  • [36] A Support System for Helping to Understand a Project in Software Maintenance Using the Program Package Name
    Yamada, Hiroaki
    Hazeyama, Atsuo
    2013 IEEE/ACIS 12TH INTERNATIONAL CONFERENCE ON COMPUTER AND INFORMATION SCIENCE (ICIS), 2013, : 411 - 416
  • [37] Dependence-cache slicing: A program slicing method using lightweight dynamic information
    Takada, T
    Ohata, F
    Inoue, K
    10TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 2002, : 169 - 177
  • [38] AN OBJECT FINDER FOR PROGRAM STRUCTURE UNDERSTANDING IN SOFTWARE MAINTENANCE
    OGANDO, RM
    YAU, SS
    LIU, SS
    WILDE, N
    JOURNAL OF SOFTWARE MAINTENANCE-RESEARCH AND PRACTICE, 1994, 6 (05): : 261 - 283
  • [39] Using Clause Slicing as Program Robustness Measurement Technique
    Abdallah, Mohammad M.
    Abdalla, Ayman M.
    2019 IEEE JORDAN INTERNATIONAL JOINT CONFERENCE ON ELECTRICAL ENGINEERING AND INFORMATION TECHNOLOGY (JEEIT), 2019, : 19 - 22
  • [40] THE IMPLICATIONS OF PROGRAM DEPENDENCES FOR SOFTWARE TESTING, DEBUGGING, AND MAINTENANCE
    PODGURSKI, A
    CLARKE, LA
    PROCEEDINGS OF THE ACM SIGSOFT 89: THIRD SYMPOSIUM ON SOFTWARE TESTING, ANALYSIS, AND VERIFICATION ( TAV 3 ), 1989, 14 : 168 - 178