2013
DOI: 10.4204/eptcs.122.6
|View full text |Cite
|
Sign up to set email alerts
|

Towards a General Framework for Formal Reasoning about Java Bytecode Transformation

Abstract: Program transformation has gained a wide interest since it is used for several purposes: altering semantics of a program, adding features to a program or performing optimizations. In this paper we focus on program transformations at the bytecode level. Because these transformations may introduce errors, our goal is to provide a formal way to verify the update and establish its correctness. The formal framework presented includes a definition of a formal semantics of updates which is the base of a static verifi… Show more

Help me understand this report
View preprint versions

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1

Citation Types

0
2
0

Year Published

2017
2017
2020
2020

Publication Types

Select...
2

Relationship

0
2

Authors

Journals

citations
Cited by 2 publications
(2 citation statements)
references
References 15 publications
0
2
0
Order By: Relevance
“…Many works have recognized that program analysis plays an important role in finding software flaws [7], [26]- [28]. Program analysis can be implemented either statically, dynamically, or in a combination of both [24], [25].…”
Section: A Static Analysismentioning
confidence: 99%
“…Many works have recognized that program analysis plays an important role in finding software flaws [7], [26]- [28]. Program analysis can be implemented either statically, dynamically, or in a combination of both [24], [25].…”
Section: A Static Analysismentioning
confidence: 99%
“…A formal framework with a focus on verifying direct bytecode transformations with the goal of eliminating errors that might be introduced by the transformation is presented in Lounas et al The approach is based around embedDSU, which works with Java Card applications, but the framework may be applied to others systems as well. The framework defines formal semantics for static analysis of code that can be used to verify that no type errors were introduced by transformations, as well as using Hoare triples and predicate transformations to check if the behavioural aspects of programs were modified with the changes.…”
Section: Bytecodementioning
confidence: 99%