Towards a Deductive Compilation Approach
Licentiate thesis, 2012

Software correctness is an important topic, however, it is difficult to achieve. This thesis is a step towards a new way to ensure the software correctness in both source code and bytecode level. KeY is a state-of-the-art verification tool for Java source code. We boost the speed of the proving process of KeY by interleaving symbolic execution and partial execution. We propose a deductive compilation approach to ensure correctness of the compiled code by generating it directly, while guaranteeing its soundness with respect to the source code. Further verification for bytecode is not needed. It is a two step approach. The first step is symbolic execution of the Java source code, interleaved with partial evaluation for optimization purpose. In the second step, the compiled code is generated by an extended sequent calculus. At the moment, we experiment with generating Java source code from Java source code, which results in a program specialized for Java programs. A prototypical implementation is available.

Software Engineering

Software Verification

Partial Evaluation

Symbolic Execution

Deductive Compilation

room EB, Hörsalsvägen 11, Chalmers Universiry of Technology
Opponent: Marieke Huisman

Author

Ran Ji

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

Computer Science

Technical report L - Department of Computer Science and Engineering, Chalmers University of Technology and Göteborg University

room EB, Hörsalsvägen 11, Chalmers Universiry of Technology

Opponent: Marieke Huisman

More information

Created

10/8/2017