• Title/Summary/Keyword: Bytecode

Search Result 90, Processing Time 0.019 seconds

Generating Verification Conditions from BIRS Code using Basic Paths for Java Bytecode Verification (자바 바이트코드 검증을 위해 기본경로를 통한 BIRS 코드로부터 검증조건 생성)

  • Kim, Je-Min;Kim, Seon-Tae;Park, Joon-Seok;Yoo, Weon-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.17 no.8
    • /
    • pp.61-69
    • /
    • 2012
  • BIRS is an intermediate representation for verifying Java program. Java program in the form of bytecode could be translated into BIRS code. Verification conditions are generated from the BIRS code to verify the program. We propose a method generating verification conditions for BIRS code. Generating verification conditions is composed of constructing control flow graph for BIRS code, depth first searching for the control flow graph to generate basic paths, and calculating weakest preconditions of the basic paths.

Bytecode Simulator for Analyzing Java Programs (자바프로그램 분석을 위한 바이트코드 시뮬레이터)

  • Kim, Doo-Woo;Jung, Min-Soo
    • The Transactions of the Korea Information Processing Society
    • /
    • v.7 no.7
    • /
    • pp.2086-2094
    • /
    • 2000
  • It is not easy to analyze object-oriented programs, including those in Java, Because the control flows of he program is not visible to the users. The users, however, can utilize class files to trace the process of execution, since a lot of information related on control flow are store in the control flows. A Java virtual machine can then execute the bytecods included in classfiles. It means that understanding the execution process of the bytecodes leads users to comprehend and analyze source programs in Java. We design and implement a visual tool for bytecode execution that is an efficient and powerful tool to understand and analyze source programs in Java. It can aid users to thoroughly grasp not only the structure of a program but also the flow of controls among objects.

  • PDF

Energy-aware Dalvik Bytecode List Scheduling Technique for Mobile Applications (모바일 어플리케이션을 위한 에너지-인식 달빅 바이트코드 리스트 스케줄링 기술)

  • Ko, Kwang Man
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.3 no.5
    • /
    • pp.151-154
    • /
    • 2014
  • An energy of applications had consumed through the complexed inter-action with operating systems, run-time environments, compiler, and applications on various mobile devices. In these days, challenged researches are studying to reduce of energy consumptions that uses energy-oriented high-level and low-level compiler techniques on mobile devices. In this paper, we intented to reduce an energy consumption of Java mobile applications that applied a list instruction scheduling for energy dissipation from dalvik bytecode which extracted Android dex files. Through this works, we can construct the optimized power and energy environment on mobile devices with the limited power supply.

Development of a 3-D Racing Game Using Java (Java를 이용한 3차원 레이싱 게임 개발)

  • Jeong, Gab-Joong;Jang, Jae-Won
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • v.9 no.2
    • /
    • pp.627-630
    • /
    • 2005
  • This paper describes the development of a racing game with three-dimensional computer graphics as one of web-based game contents. Client user using web can access and run java applet program with download of Java Bytecode with the independence of hardware system. It consists of graphic user interface module, initial space generation module, event handler module, and thread control module. It uses 2-D linked list data structure for the 3-D graphic objects that are located in three-dimensional space for high-speed object searching and sorting. It enhances the dynamic object moving and viewing in three-dimensional space. We can use the developed racing game to inform game users of information for an advertisement like tourism information, and can apply the proposed 3-D drawing technology to 3-D game graphic engine core.

  • PDF

A Platform-independent Smart Content Sharing Model (플랫폼 독립적 스마트 콘텐츠 공유 모델)

  • Moon, Yong-Hyuk;Kwon, Hyeok-Chan;Seo, Dong-Il;Youn, Chan-Hyun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2011.04a
    • /
    • pp.224-225
    • /
    • 2011
  • 본 고에서는 다양한 공유 환경에서 사용자의 콘텐츠 이용을 저해하지 않으면서, 콘텐츠의 중립적 사용과 안정성을 동시에 충족시킬 수 있도록 고안된 플랫폼 독립적 콘텐츠 공유 시스템에 대하여 논의한다. 특히, 본 시스템은 별도로 정의된 Bytecode 형태의 보안 코드를 플랫폼 독립적으로 해석하는 기능의 Secure Virtual Machine 기반으로 구현되는 제안상의 특징이 있다.

Implementation of Bytecode based Data Service Middleware Supporting Energy Efficiency in Geosensor Networks (지오센서 네트워크에서 에너지 효율성을 지원하는 바이트코드 기반 데이터 서비스 미들웨어 구현)

  • Hong, Seung-Tae;Yoon, Min;Chang, Jae-Woo
    • Spatial Information Research
    • /
    • v.18 no.4
    • /
    • pp.75-88
    • /
    • 2010
  • Recent development in wireless communication and mobile positioning technologies make geosensor networks widely used in the various fields of real world. As a result, much research has been done on the middleware that uses limited energy resources efficiently. However, because traditional middleware does not consider the characteristics of sensor node, such as computing power and specification, the existing middleware call not support the sensor nodes with only the restricted system resource. Therefore, in this paper, we design and implement a new Bytecode based Data Service Middleware supporting energy efficiency in geosensor networks. At first, the proposed middleware provides the optimized functions for sensor nodes by using minimum by tee ode instruction set and data manager supporting hardware abstraction. Secondly, the proposed middleware increases the energy efficiency of sensor node through both data aggregation query processing and data filtering that minimize data transmission by eliminating unnecessary data. Finally, we show from our performance analysis that the proposed middleware is more energy efficient than the existing SwissQM.

Design and Implementation of a Virtual Machine for Embedded Systems (임베디드 시스템을 위한 가상기계의 설계 및 구현)

  • Oh Se-Man;Ko Kwang-Man;Lee Yang-Sun
    • Journal of Korea Multimedia Society
    • /
    • v.8 no.9
    • /
    • pp.1282-1291
    • /
    • 2005
  • This paper presents the EVM(Embedded Virtual Machine) which enables the execution of dynamic applications loaded in the embedded systems such as Mobile Devices(mobile phone, PDA), Set-Top Box, and Digital TV using downloading techniques. To accomplish this goal, we defined a SIL-(Standard Intermediate Language) code, and implemented a Bytecode-to-SIL translator which enables the execution of programs written in java language in the EVM platform without JVM, and a MSIL--to-SIL- translator which enables for programs written in .NET language to be executed in the EVM platform without .NET platform. Also, we developed a EFF(Executable File Format) builder as an assembler which translates SIL codes into an executable file, *.evm, and implemented the EVM which reads the *.evm file and executes it. The virtual machine for embedded systems developed in this paper is the software technologies that enable the execution of applications or contents without changes to when the platforms change. In fact, the virtual machine suggested here is not only usable as a standard model for existing virtual machines but also aid in more efficient execution of applications loaded in the embedded systems such as Mobile Devices, Digital TV, and Set-Top Box.

  • PDF

Java Bytecode-to-.NET MSIL IL Translator (자바 바이트코드의 .NET MSIL 중간언어 번역기)

  • Jung, Ji-Hoon;Park, Jin-Ki;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2003.11b
    • /
    • pp.663-666
    • /
    • 2003
  • 자바는 썬 마이크로시스템즈사의 제임스 고슬링(James Gosling)에 의해 고안된 언어로 운영체제 및 하드웨어 플랫폼에 독립적인 차세대 언어로 최근에 가장 널리 사용하는 범용 프로그래밍 언어 중 하나이다. 자바 프로그램은 컴파일러에 의해 각 플랫폼에 독립적인 중간 코드 형태의 바이트코드로 변환된 클래스 파일로 생성되면 JVM(Java Virtual Machine)에 의해 실행된다. 마이크로소프트사의 .NET 플랫폼과 C# 언어는 프로그래머들의 요구를 충족시키고 썬사의 JVM 환경과 자바 언어에 대응하기 위해서 개발된 플랫폼과 언어이다. C#과 같은 .NET 언어는 컴파일러에 의해 MSIL(MicroSoft Intermediate Language) 코드로 번역되며 번역된 MSIL 코드는 .NET 플랫폼 환경에서 런타임 엔진인 CLR(Common Language Runtime)에 의해 실행이 된다. 자바로 작성된 프로그램은 JVM 플랫폼에서는 실행이 되지만 .NET 플랫폼에서 실행이 되지 않고, 반대로 C#과 같은 .NET 언어로 작성된 프로그램은 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서 실행이 되지 않는다. 이런 이유로 본 논문에서는 자바소스를 컴파일하여 생성된 클래스 파일에서 Oolong 코드를 생성하고 생성된 Oolong 코드를 .NET의 MSIL 코드로 변환하여 자바로 구현된 프로그램이 .NET 환경에서 실행되도록 하는 Bytecode-to-MSIL 번역기 시스템을 구현하였다. 따라서, 자바 프로그래머는 JVM이나 .NET 플랫폼 환경에 관계없이 프로그램을 작성하여 실행시킬 수 있다. 번역기 시스템의 구현을 정형화하기 위해 Oolong 코드의 명령어들을 문법으로 작성하였으며, PGS를 통해 생성된 어휘 정보를 가지고 스캐너를 구성하였으며, 파싱테이블을 가지고 파서를 설계하였다. 파서의 출력으로 AST가 생성되면 번역기는 AST를 탐색하면서 의미적으로 동등한 MSIL 코드를 생성하도록 시스템을 컴파일러 기법을 이용하여 모듈별로 구성하였다.

  • PDF

An Effective Java Obfuscation Technique Using Assignment Statements Merging (대입문 병합을 이용한 효율적인 자바 난독화 기법)

  • Lee, Kyong-Ho;Park, Hee-Wan
    • Journal of the Korea Society of Computer and Information
    • /
    • v.18 no.10
    • /
    • pp.129-139
    • /
    • 2013
  • Java bytecodes are executed not on target machine but on the Java virtual machines. Since this bytecodes use a higher level representation than binary code, it is possible to decompile most bytecodes back to Java source. Obfuscation is the technique of obscuring code and it makes program difficult to understand. However, most of the obfuscation techniques make the code size and the performance of obfuscated program bigger and slower than original program. In this paper, we proposed an effective Java obfuscation techniques using assignment statements merging that make the source program difficult to understand. The basic approach is to merge assignments statements to append side effects of statement. An additional benefit is that the size of the bytecode is reduced.

Copy Propagation in CTOC (CTOC에서 복사 전파)

  • Kim, Ki-Tae;Kim, Je-Min;Yoo, Won-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.1 s.45
    • /
    • pp.1-8
    • /
    • 2007
  • Although the Java bytecode has numerous advantages. there ate also shortcomings such as slow execution speed and difficulty in analysis. Therefore. in order for the Java class file to be effectively executed under the execution environment such as the network, it is necessary to convert it into optimized code. We implements CTOC. CTOC generated CFG using the existing bytecode then created the SSA Form for analysis and optimization. However. due to insertion or the ${\phi}$-function in the process of conversion into the SSA Form, the number of nodes increased. As a means of reducing the number of nodes, we performed copy propagation, which is an optimization method applicable to the SSA form. Copy propagation is the process of a value of a variable being topied to another variable. There are cases where conversion due to copy propagation alone does not yield significant effects. However, when variables are not used in the later optimization stages, copy propagation provides a means for eliminating the copy statement for the corresponding variable, making it an important step. This paper shows the copy propagation to obtain a more optimized code in SSA Form.

  • PDF