Last update: Sun Mar 31 02:13:37 MDT 2019
Top |
Symbols |
Math |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z
BibTeX entry
@Article{Cook:2002:REJ,
author = "Jonathan J. Cook",
title = "Reverse Execution of {Java} Bytecode",
journal = j-COMP-J,
volume = "45",
number = "6",
pages = "608--619",
month = "????",
year = "2002",
CODEN = "CMPJA6",
DOI = "https://doi.org/10.1093/comjnl/45.6.608",
ISSN = "0010-4620 (print), 1460-2067 (electronic)",
ISSN-L = "0010-4620",
bibdate = "Wed Nov 6 11:21:54 MST 2002",
bibsource = "http://www.math.utah.edu/pub/tex/bib/compj2000.bib;
http://www3.oup.co.uk/computer_journal/hdb/Volume_45/Issue_06/",
URL = "http://www3.oup.co.uk/computer_journal/hdb/Volume_45/Issue_06/450608.sgm.abs.html;
http://www3.oup.co.uk/computer_journal/hdb/Volume_45/Issue_06/pdf/450608.pdf",
abstract = "We demonstrate a model, including operational
semantics, for the reverse execution of stack-based
code. We discuss our modification of the Kaffe
implementation of the Java Virtual Machine, supporting
a debugger capable of running Java bytecode backwards.
We achieve reverse execution by logging the state lost
during each operation or by directly reversing
instructions. Our debugger has facilities for stepping,
stepping over methods and running to breakpoints, in
both directions. Multi-threading is supported. It is
also possible to step through the bytecode when the
Java source code is not available. The debugger has
both a command line user interface and a graphical user
interface with facilities for editing code and running
the Java compiler.",
acknowledgement = ack-nhfb,
fjournal = "The Computer Journal",
journal-URL = "http://comjnl.oxfordjournals.org/",
}
Related entries
- bytecode,
49(2)234
- code,
45(2)243,
46(1)100,
46(5)476,
47(1)25,
47(3)309,
47(6)701,
48(3)315,
48(5)588,
48(6)646,
48(6)651,
48(6)662,
50(1)93,
51(6)688
- compiler,
48(5)588
- demonstrate,
49(1)108
- direction,
47(4)399
- discuss,
43(2)95
- each,
49(1)97
- execution,
48(3)300,
49(2)190,
52(5)530
- has,
43(2)95
- implementation,
43(4)266,
43(6)512,
46(1)3,
46(3)263,
46(3)307,
47(2)205,
47(6)728,
48(4)498,
49(1)108,
49(4)400,
50(4)478,
50(6)728,
51(1)26,
51(5)585
- instruction,
0(0)xv--387,
49(2)211
- interface,
43(1)24,
44(5)448,
49(4)454,
51(6)650,
51(6)743
- Java,
0(0)viii--378,
0(0)xxv--672,
0(0)xxx--593,
43(4)266,
43(6)469,
45(6)595,
46(3)263,
48(2)253,
48(4)437,
49(2)250,
49(4)500,
52(5)545
- line,
51(6)744
- logging,
47(3)373
- Machine,
46(3)307,
46(6)598,
48(4)443,
50(2)151,
50(2)164,
50(2)173,
50(4)421
- method,
0(0)xii--574,
0(0)x--438,
43(4)252,
43(4)301,
45(1)1,
45(1)46,
46(3)263,
46(3)319,
47(2)270,
48(1)101,
49(1)108,
49(5)629,
50(1)68,
50(5)555,
50(6)674,
51(1)26,
52(1)80,
52(1)101,
52(1)126,
52(6)599
- model,
0(0)xi--170,
0(0)xxiii--499,
0(0)x--210,
44(2)109,
44(5)410,
45(3)260,
45(3)278,
46(1)84,
47(1)4,
47(1)58,
47(1)71,
47(1)85,
47(6)728,
49(1)82,
49(1)97,
49(1)113,
49(6)650,
49(6)657,
49(6)685,
50(2)232,
50(4)403,
50(5)591,
51(4)419,
51(6)745
- not,
49(1)82,
49(1)108
- operation,
0(0)xvi--848,
0(0)96,
45(2)202,
46(4)378,
47(4)507,
48(1)126
- reversing,
43(1)54,
51(6)710
- semantics,
45(1)27,
48(5)536
- source,
48(6)651
- state,
0(0)x--438,
47(2)270,
48(4)443,
50(3)315,
52(3)334,
52(6)599
- supported,
48(5)563
- supporting,
48(2)130,
50(2)204,
52(2)210
- through,
46(4)340,
48(3)358,
49(2)211,
50(4)444,
51(2)192
- user,
6(0)xiii--198,
45(5)525,
47(2)140,
49(5)554,
51(6)650,
51(6)743,
52(3)348
- when,
46(3)307