Slicing as a program transformation

被引:21
|
作者
Ward, Martin [1 ]
Zedan, Hussein [1 ]
机构
[1] De Montfort Univ, Software Technol Res Lab, Leicester LE1 9BH, Leics, England
关键词
algorithms; languages; theory; verification; slicing; program transformation; FermaT; reverse engineering; reengineering; formal methods;
D O I
10.1145/1216374.1216375
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The aim of this article is to provide a unified mathematical framework for program slicing which places all slicing work for sequential programs on a sound theoretical foundation. The main advantage to a mathematical approach is that it is not tied to a particular representation. In fact the mathematics provides a sound basis for any particular representation. We use the WSL (wide-spectrum language) program transformation theory as our framework. Within this framework we define a new semantic relation, semirefinement, which lies between semantic equivalence and semantic refinement. Combining this semantic relation, a,syntactic relation (called reduction), and WSL's remove statement, we can give mathematical definitions for backwards slicing, conditioned slicing, static and dynamic slicing, and semantic slicing as program transformations in the WSL transformation theory. A novel technique of "encoding" operational semantics within a denotational semantics allows the framework to handle "operational slicing". The theory also enables the concept of slicing to be applied to nondeterministic programs. These transformations are implemented in the industry-strength FermaT transformation system.
引用
收藏
页数:53
相关论文
共 50 条
  • [1] Static slicing for PLC program with ladder transformation
    Wang Da
    Zhao Qianchuan
    [J]. PROCEEDINGS OF THE 29TH CHINESE CONTROL CONFERENCE, 2010, : 6025 - 6030
  • [2] Program slicing
    Harman, M
    Gallagher, KB
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 1998, 40 (11-12) : 577 - 581
  • [3] PROGRAM SLICING
    WEISER, M
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1984, 10 (04) : 352 - 357
  • [4] Program Slicing
    Gallagher, Keith
    Binkley, David
    [J]. 2008 FRONTIERS OF SOFTWARE MAINTENANCE, 2008, : 58 - 67
  • [5] DYNAMIC PROGRAM SLICING
    AGRAWAL, H
    HORGAN, JR
    [J]. SIGPLAN NOTICES, 1990, 25 (06): : 246 - 256
  • [6] Program slicing - Foreword
    Weiser, M
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 1998, 40 (11-12) : 575 - 575
  • [7] Program slicing by calculation
    Rodrigues, Nuno F.
    Barbosa, Luis S.
    [J]. JOURNAL OF UNIVERSAL COMPUTER SCIENCE, 2006, 12 (07) : 828 - 848
  • [8] COMMENTS ON PROGRAM SLICING
    LEUNG, HKN
    REGHBATI, HK
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1987, 13 (12) : 1370 - 1371
  • [9] Conditioned program slicing
    Canfora, G
    Cimitile, A
    De Lucia, A
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 1998, 40 (11-12) : 595 - 607
  • [10] Amorphous program slicing
    Harman, M
    Binkley, D
    Danicic, S
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2003, 68 (01) : 45 - 64