Program slicing of Java']Java programs

被引:3
|
作者
Galindo, Carlos [1 ]
Perez, Sergio [1 ]
Silva, Josep [1 ]
机构
[1] Univ Politecn Valencia, Valencian Res Inst Artificial Intelligence VRAIN, Camino Vera S-N, E-46022 Valencia, Spain
关键词
Program slicing; !text type='JS']JS[!/text]ysDG; Flow dependence; Object-flow dependence; DEPENDENCE GRAPH; POINTERS;
D O I
10.1016/j.jlamp.2022.100826
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Program slicing is a technique to extract the part of the program that can affect the values computed at a given program point (known as the slicing criterion). To represent programs, program slicing uses the System Dependence Graph (SDG), for which several extensions like the Java System Dependence Graph (JSysDG) or the Sub-Statement Linear Dependence Graph (SSLDG) exist to deal with Java object-oriented programs. In this paper, we present an incompleteness result proving that these graphs do not produce complete slices in all cases, and specifically when some object variables are selected as the slicing criterion. We first identify the source of the problem: the representation of dependences between partial definitions of objects is ill-defined in these approaches, leading to a loss of completeness in many cases. To solve this limitation, we extend these representations with the addition of a specific flow dependence for object type variables called object-flow dependence. This extension provides a more accurate flow representation between object variables and its data members and it allows us to obtain complete slices when an object variable is selected as the slicing criterion.(c) 2022 The Authors. Published by Elsevier Inc. This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/4.0/).
引用
收藏
页数:18
相关论文
共 50 条
  • [1] Debugging of Java']Java programs using HDT with program slicing
    Kouh, HJ
    Kim, KT
    Jo, SM
    Yoo, WH
    [J]. COMPUTATIONAL SCIENCE AND ITS APPLICATIONS - ICCSA 2004, PT 4, 2004, 3046 : 524 - 533
  • [2] Slicing concurrent Java']Java programs
    Zhao, JJ
    [J]. SEVENTH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 1999, : 126 - 133
  • [3] Slicing concurrent Java']Java programs
    Chen, ZQ
    Xu, BW
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (04) : 41 - 47
  • [4] Dynamic slicing of Java']Java bytecode programs
    Szegedi, A
    Gyimóthy, T
    [J]. FIFTH IEEE INTERNATIONAL WORKSHOP ON SOURCE CODE ANALYSIS AND MANIPULATION, PROCEEDINGS, 2005, : 35 - 44
  • [5] A model for slicing JAVA']JAVA programs hierarchically
    Li, BX
    Fan, XC
    Pang, J
    Zhao, JJ
    [J]. JOURNAL OF COMPUTER SCIENCE AND TECHNOLOGY, 2004, 19 (06): : 848 - 858
  • [6] Distributed dynamic slicing of Java']Java programs
    Mohapatra, Durga P.
    Kumar, Rajeev
    Mall, Rajib
    Kumar, D. S.
    Bhasin, Mayank
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2006, 79 (12) : 1661 - 1678
  • [7] Slicing Java']Java programs that throw and catch exceptions
    Allen, M
    Horwitz, S
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (10) : 284 - 294
  • [8] Slicing object-oriented Java']Java programs
    Chen, ZQ
    Xu, BW
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (04) : 33 - 40
  • [9] Interprocedural slicing of multithreaded programs with applications to Java']Java
    Nanda, Mangala Gowri
    Ramesh, S.
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2006, 28 (06): : 1088 - 1144
  • [10] An efficient technique for dynamic slicing of concurrent Java']Java programs
    Mohapatra, DP
    Mall, R
    Kumar, R
    [J]. APPLIED COMPUTING, PROCEEDINGS, 2004, 3285 : 255 - 262