English

A Complexity Preserving Transformation from Jinja Bytecode to Rewrite Systems

Programming Languages 2014-05-07 v5

Abstract

We revisit known transformations from Jinja bytecode to rewrite systems from the viewpoint of runtime complexity. Suitably generalising the constructions proposed in the literature, we define an alternative representation of Jinja bytecode (JBC) executions as "computation graphs" from which we obtain a novel representation of JBC executions as "constrained rewrite systems". We prove non-termination and complexity preservation of the transformation. We restrict to well-formed JBC programs that only make use of non-recursive methods and expect tree-shaped objects as input. Our approach allows for simplified correctness proofs and provides a framework for the combination of the computation graph method with standard techniques from static program analysis like for example "reachability analysis".

Keywords

Cite

@article{arxiv.1204.1568,
  title  = {A Complexity Preserving Transformation from Jinja Bytecode to Rewrite Systems},
  author = {Georg Moser and Michael Schaper},
  journal= {arXiv preprint arXiv:1204.1568},
  year   = {2014}
}

Comments

36 pages

R2 v1 2026-06-21T20:45:56.101Z