Browse > Article
http://dx.doi.org/10.3745/KIPSTA.2007.14-A.2.091

Executing System of Virtual Machine Code using Decompiling Method  

Ahn, Duk-Ki (동국대학교 일반대학원 컴퓨터공학과)
Yi, Chang-Hwan (동국대학교 산업기술연구원)
Oh, Se-Man (동국대학교 컴퓨터공학과)
Abstract
Generally, virtual machine platform is composed of a compiler, an assembler, and VM(Virtual Machine). To develop it, the design of VMC(Virtual Machine Code) is an essential task. And it is very important to verify the virtual machine platform. To do this and furthermore to execute VMC, it needs to implement VMC execution system using compiling method, interpreting method, or decompiling method. In this paper, we suggested and implemented the executing system of VMC using decompiling method out of three methods to execute the VMC. In our implementation, the VMC is SIL(Standard Intermediate Language) that is an intermediate code of EVM(Embedded Virtual Machine). Actually, we verified the usefulness of the decompiling method. And the decompiling method suggested in this paper can be used to minimize the mistake in developing Virtual machine platform.
Keywords
Grid; Virtual Machine System; Virtual Machine Code; Decompiling Method;
Citations & Related Records
Times Cited By KSCI : 1  (Citation Analysis)
연도 인용수 순위
1 asm21toc translator, http://www.cs.rhul.ad.uk/research/languages/projects/reverse_compilation.html
2 relipmoC, http://sourceforge.net/projects/relipmoc
3 B.S. Baker, 'An algorithm for structuring flowgraphs,' Journal of the ACM, Vol.24, No.1, pp.98-120, 1977   DOI   ScienceOn
4 C. Cifuentes, Reverse Compilation Techniques, PhD dissertation. Queensland University of Technology, School of Computing Science, 1994
5 The REC December, http://www.backerstreet.com/rec/rec.htm
6 ExeToC Decompiler, http://sourceforge.net/projects/exetoc
7 남동근, 윤성림, 오세만, '가상기계를 위한 어셈블리 언어', 정보처리학회 2003 춘계 발표 논문집, 제10권, 제1호, pp.783-786, 2003
8 D. Sugalk, The Parrot Bytecode information, http://www.parrotcode.org/
9 오세만, 이양선, 고광만, '임베디드 시스템을 위한 가상기계의 설계 및 구현', 멀티미디어학회 논문지, 제8권, 제9호, pp.1282 1291, 2005   과학기술학회마을
10 M.H. Halstead, Machine independent computer programming, Spartan Books, 1962
11 F.E. Allen and J. Cocke, 'A program data flow analysis procedure,' Communications of the ACM, Vol.19, No.3, pp.137 147, 1976   DOI   ScienceOn
12 MSIL Instruction Set Specification Version 1.9 Final, Microsoft Corporation, 2000
13 Y. Shi, D. Gregg, A. Beatty, and M.A. Ertl, 'Virtual machine showdown: stack versus registers,' In Proceedings of ACM SIGPLAN, pp.153 163, 2005   DOI
14 J. Gosling, 'Java Intermediate Bytecodes,' ACM SIGPLAN NOTICES, pp.111-118, 1995   DOI
15 안덕기, 오세만, '가상기계 코드 실행을 위한 역컴파일러', 정보처리학회 2006 춘계 학술 발표 논문집, 제13권, 제1호, pp.383 386, 2006
16 B. Davis, A. Beatty, K. Casey, D. Gregg, and J. Waldron, 'The case for virtual register machines,' In Proceedings of ACM SIGPLAN, pp.41-49, 2003   DOI