Design and implementation of the decompiler for virtual machine code of the C++ compiler in the ubiquitous game platform

  • Authors:
  • YangSun Lee;YoungKeun Kim;HyeokJu Kwon

  • Affiliations:
  • Dept. of Computer Engineering, SeoKyeong University, Seoul, Korea;Dept. of Computer Engineering, SeoKyeong University, Seoul, Korea;Dept. of Computer Engineering, SeoKyeong University, Seoul, Korea

  • Venue:
  • ICHIT'06 Proceedings of the 1st international conference on Advances in hybrid information technology
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

The ubiquitous game platform implemented by our team is composed of a C++ compiler, a java translator, and a virtual machine. The EVM (Embedded Virtual Machine) is a stack-based solution that supports object-oriented languages such as C++ and java. It uses the SIL (Standard Intermediate Language) as an intermediate language, which consists of an operation code set for procedural and object-oriented languages. The existing C++ compilers are used to execute programs after translating them into a target machine code. The downside of this method is its low practicality, along with its platform-dependency. To resolve this matter, we developed a C++ compiler that generates virtual machine codes based on platform-independent stacks that are not target machine codes. This paper presents a decompiler system that converts a C++ compiler generated intermediate language, namely SIL, to a representation of a C++ program. This method optimizes the simulation needed for the generation of exacted SIL code, and a solution that can verify the SIL code generation through a C++ program represented in the decompiler. Furthermore, the ease of extracting the meaning of a program, as opposed to assembly-structured SIL codes, allows much more convenience in changing the software structure and correcting it to improve performance.