Using compressed bytecode traces for slicing Java']Java programs

被引:43
|
作者
Wang, T [1 ]
Roychoudhury, A [1 ]
机构
[1] Natl Univ Singapore, Sch Comp, Singapore 117543, Singapore
关键词
D O I
10.1109/ICSE.2004.1317473
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamic slicing is a well-known program debugging technique. Given a program P and input I, it finds all program statements which directly/indirectly affect the values of some variables' occurrences when P is executed with L Dynamic slicing algorithms often proceed by traversing the execution trace of P produced by input I (or a dependence graph which captures control/data flow in the execution trace). Consequently, it is important to develop space efficient representations of the execution trace. In this paper we use results from data compression to compactly represent bytecode traces of sequential Java programs. The major space savings come from the optimized representation of data (instruction) addresses used by memory reference (branch) bytecodes as operands. We give detailed experimental results on the space efficiency and time overheads for our compact trace representation. We then show how dynamic slicing algorithms can directly traverse our compact traces without resorting to costly decompression. We also develop an extension of dynamic slicing which allows us to explain omission errors (i.e. why some events did not happen during program execution).
引用
收藏
页码:512 / 521
页数:10
相关论文
共 50 条
  • [1] Dynamic slicing on Java']Java bytecode traces
    Wang, Tao
    Roychoudhury, Abhik
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2008, 30 (02):
  • [2] 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
  • [3] Path Executions of Java']Java Bytecode Programs
    Soomro, Safeeullah
    Alansari, Zainab
    Belgaum, Mohammad Riyaz
    [J]. PROGRESS IN ADVANCED COMPUTING AND INTELLIGENT ENGINEERING, VOL 2, 2018, 564 : 261 - 271
  • [4] A Framework for Debugging Java']Java Programs in a Bytecode
    Soomro, Safeeullah
    Belgaum, Mohammad Riyaz
    Alansari, Zainab
    Miraz, Mahdi H.
    [J]. 2018 INTERNATIONAL CONFERENCE ON COMPUTING, ELECTRONICS & COMMUNICATIONS ENGINEERING (ICCECE), 2018, : 317 - 322
  • [5] A programming logic for Java']Java bytecode programs
    Quigley, CL
    [J]. THEOREM PROVING IN HIGHER ORDER LOGICS, PROCEEDINGS, 2003, 2758 : 41 - 54
  • [6] An empirical study of Java']Java bytecode programs
    Collberg, Christian
    Myles, Ginger
    Stepp, Michael
    [J]. SOFTWARE-PRACTICE & EXPERIENCE, 2007, 37 (06): : 581 - 641
  • [7] Verification of Java']Java bytecode using analysis and transformation of logic programs
    Albert, E.
    Gomez-Zamalloa, M.
    Hubert, L.
    Puebla, G.
    [J]. PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, 2007, 4354 : 124 - +
  • [8] Program slicing of Java']Java programs
    Galindo, Carlos
    Perez, Sergio
    Silva, Josep
    [J]. JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2023, 130
  • [9] Slicing concurrent Java']Java programs
    Zhao, JJ
    [J]. SEVENTH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION, PROCEEDINGS, 1999, : 126 - 133
  • [10] Slicing concurrent Java']Java programs
    Chen, ZQ
    Xu, BW
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (04) : 41 - 47