USING PROGRAM SLICING IN SOFTWARE MAINTENANCE

被引:312
|
作者
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 条
  • [1] Generalized program slicing for software maintenance
    Huang, H
    Tsai, WT
    Subramanian, S
    [J]. SEKE '96: THE 8TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, PROCEEDINGS, 1996, : 261 - 268
  • [2] Certifying Software Robustness Using Program Slicing
    Abdallah, Mohammad
    Munro, Malcolm
    Gallagher, Keith
    [J]. 2010 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE, 2010,
  • [3] Applying program slicing to software architectures
    Zhao, JJ
    [J]. INTERNATIONAL SOCIETY FOR COMPUTERS AND THEIR APPLICATIONS 13TH INTERNATIONAL CONFERENCE ON COMPUTERS AND THEIR APPLICATIONS, 1998, : 38 - 41
  • [4] Evaluation of Program Slicing in Software Verification
    Chalupa, Marek
    Strejcek, Jan
    [J]. INTEGRATED FORMAL METHODS, IFM 2019, 2019, 11918 : 101 - 119
  • [5] Micro process analysis of maintenance effort: an open source software case study using metrics based on program slicing
    Kula, Raula Gaikovina
    Fushida, Kyohei
    Yoshida, Norihiro
    Iida, Hajimu
    [J]. JOURNAL OF SOFTWARE-EVOLUTION AND PROCESS, 2013, 25 (09) : 935 - 955
  • [6] Review on Cost Effective Software Engineering Using Program Slicing Techniques
    Koushik, S.
    Selvarani, R.
    [J]. PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON INFORMATION SYSTEMS DESIGN AND INTELLIGENT APPLICATIONS 2012 (INDIA 2012), 2012, 132 : 631 - 637
  • [7] Software watermarking based on dynamic program slicing
    Deng, Xiaohong
    Xu, Guowen
    Sun, Guang
    Man, Junfeng
    [J]. 2008 FOURTH INTERNATIONAL CONFERENCE ON INTELLIGENT INFORMATION HIDING AND MULTIMEDIA SIGNAL PROCESSING, PROCEEDINGS, 2008, : 461 - 464
  • [8] 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
  • [9] Re-tooling Code Structure Based Analysis with Model-Driven Program Slicing for Software Maintenance
    Francisca, Oladipo Onaolapo
    [J]. INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2012, 3 (01) : 184 - 189
  • [10] A STUDY OF PROGRAM SLICING TECHNIQUES FOR SOFTWARE DEVELOPMENT APPROACHES
    Chandra, Alaknanda
    Singhal, Abhishek
    Bansal, Abhay
    [J]. 2015 1ST INTERNATIONAL CONFERENCE ON NEXT GENERATION COMPUTING TECHNOLOGIES (NGCT), 2015, : 622 - 627