• Title/Summary/Keyword: 인터프리터

Search Result 88, Processing Time 0.023 seconds

Design of Translator for 3-Address Code from Stack Based Code (스택 기반 코드에서 3-주소형태코드 생성을 위한 변환기 설계)

  • Kim, Ji-Min;Kim, Young-Kook;Jo, Sun-Moon;Kim, Ki-Tae;Yoo, Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.05a
    • /
    • pp.301-304
    • /
    • 2004
  • 자바의 특징 중에 한 가지는 자바 가상 기계를 기반으로 하고 있게 때문에 특정한 하드웨어나 운영체제에 영향을 받지 않고 독립적으로 수행이 가능하다는 것이다. 하지만 자바 언어로 개발된 애플리케이션은 C나 C++등 다른 언어로 작성한 프로그램에 비하여 실행이 매우 느리다는 단점을 가지게 된다. 이는 자바 가상 기계 에서 바이트코드가 인터프리터 방식으로 사용되기 때문이다. 이러한 단점을 보안하기 위하여 여러 가지 최적화 기법이 적용되고 있다. 본 논문에서는 이러한 방법으로써 바이트코드를 3주소형태 코드로 변환하는 변환기 설계에 대해서 제안할 것이다. 바이트코드에서 스택을 사용하지 않는 3주소형태 코드로의 변환하기 위하여 크게 세 단계를 걸친다. 첫째, 스택에 대한 명백한 참조를 가진 타입화된 스택기반의 중간표현을 생성한다. 둘째, 생성된 코드에서 타입에 대한 정보를 추출하고 추출된 정보를 저장하는 기억장소를 할당하여 추출된 정보를 저장시킨다. 셋째, 스택을 대신할 타입이 없는 지역변수를 생성하여 각각의 변수에 알맞은 타입을 분배함으로써 타입화되고 명백한 3주소형태 코드를 생성한다. 이러한 방식으로 스택기반 언어에서 발생하는 문제점을 해결한다.

  • PDF

Constructing Java Vulnerable API List based on Java Access Permission Checking Tree (자바 접근 권한 검사 트리 기반의 자바 취약 API 리스트 생성)

  • Park, Hyo-Seong;Park, Chul-Woo;Lim, Young-Chan;Kim, Ki-Chang
    • Asia-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology
    • /
    • v.5 no.2
    • /
    • pp.289-296
    • /
    • 2015
  • Java is an interpreted language that can run on a variety of platforms, also Java has a number of useful features for network. Due to theses features of Java language, Java is used in various fields. In this paper, we will talk about how the malware that threaten the Java Security Manager of the Java Virtual Machine is using the vulnerability of the Java Virtual Machine. And for corresponding measures, this paper suggest vulnerability analysis method of Java system class by using Java Call Graph and Java Access Permission Checking Tree. By suggesting that, we want to lay groundwork for preventing Java security threats in advance.

Shopping Mall Avatar System Using Behavior and Motion Description Language (수준별 행위 표현 기법을 이용한 쇼핑몰도우미 아바타 시스템의 구현)

  • Kim, Jung-Hee;Lee, Gui-Hyun;Lim, Soon-Bum
    • Journal of Korea Multimedia Society
    • /
    • v.8 no.4
    • /
    • pp.566-574
    • /
    • 2005
  • In spite of recent increase in the use of avatar in Web and Virtual Reality, there has not been a service that allows users to control directly the avatar behaviors. In addition, the conventional behavior control languages required a lot of complicated information for controlling the avatar motions. Moreover, in order to apply written languages to a different task domain, it was necessary to modify or rewrite the languages. In this paper, we define Task-Level Behavior Description Language and Motion Representation Language for more simple control of the avatar behavior. The first thing allows describing the avatar behaviors in each task domain, and The second thing enables writing detailed data for motion control. And in this paper, we developed an interpreter which can automatically change the Behavior Description Language to the Motion Representation Language. So this system allow users control the avatar behavior simply with only use the Behavior Description Language. The system was applied to shopping mall and the Task-level Behavior Description Language was compared with conventional languages to see how it was more effective in behavior description.

  • PDF

An Integrated Authentication System for Mobile Codes (이동코드를 위한 통합 인증 시스템)

  • Bae, Seong-Hun;Lee, Su-Hyeon
    • The KIPS Transactions:PartC
    • /
    • v.8C no.5
    • /
    • pp.535-542
    • /
    • 2001
  • Mobile codes such as Java, Java-Script, ActiveX, and Script code are loaded into a client system first and then run without any notice to the client user. Executing code by this mechanism may cause various security problems such as flowing out system information, deleting or modifying files, and exhausting system resources. In this paper we propose an integrated authentication system to establish the uniform security countermeasure on various mobile codes. The system helps to solve to problems mentioned above. An integrated authentication system allows to load into an interpreter using ACL (Access Control List) which sets up an access authority to the executable contents and communicates with an interpreter using client/server model.

  • PDF

Translating Java Bytecode to SPARC Code using Retargetable Code Generating Techniques (재목적 코드 생성 기법을 이용한 자바 Bytecode에서 SPARC 코드로의 번역)

  • Oh, Se-Man;Jung, Chan-Sung
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.6 no.3
    • /
    • pp.356-363
    • /
    • 2000
  • Java programming language is designed to run effectively on internet and distributed network environments. However, because it has a deficit to be executed by the interpreter method on each platform, to execute Java programs efficiently the code generation system which transforms Bytecode into SPARC code as target machine code must be developed. In this paper, we implement a code generation system which translates Bytecode into SPARC code using the retargetable code generating techniques. For the sake of code expander, we wrote a Bytecode table describing a rule of SPARC code generation from Bytecode, and implemented the information extractor transforming Bytecode to suitable form during expanding of source code from class file. The information extractor determines constant pool entry of each Bytecode instruction operand and then the code expander translates the Bytecode into SPARC code accoring to the Bytecode table. Also, the retargetable code generation system can be systematically reconfigured to generate code for a variety of distinct target computers.

  • PDF

A Study on the Pentium Code Generation using Retargetable Code Generation Technique from Bytecode (Bytecode로부터 재목적 코드 생성 기법을 이용한 Pentium 코드 생성에 관한 연구)

  • Jeong, Seong-Ok;Go, Gwang-Man;Lee, Seong-Ju
    • Journal of the Institute of Electronics Engineers of Korea CI
    • /
    • v.37 no.4
    • /
    • pp.1-8
    • /
    • 2000
  • The massive growth of the internet and the world-wide-web leads us to research the programming languages for the development of applications in heterogeneous, network-wide distributed environments. Java is an object-oriented language for such a environment and the Java programming language environment provides a portable, interpreted, high-performance, simple programming language. Bytecode is an intermediate code for Java language and it enables the development of applications on multiple platform in heterogeneous, distributed networks. But it takes much time to execute Bytecode because of using an interpretation method. In this paper, we design and implement a retargetable code generation system which can be systematically reconfigured to generate code for a variety of distinct target computers. From the system, we realize the code generation system which translates the Bytecode being produced by Java compiler into Pentium target code. We use ACK code generation system to do the work easily.

  • PDF

A Study on Informediated code for Analyzing Bytecodes (바이트코드 분석을 위한 중간코드에 관한 연구)

  • Kim, Kyung-Soo;Yoo, Weon-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.11 no.1 s.39
    • /
    • pp.107-117
    • /
    • 2006
  • Java language creates class files through Java compiler. Class files include informations involved with achievement of program. We can do analysis and optimization for efficient codes by analyzing class files. This paper analyzes bytecodes using informations of Java class files. We translate stack-based Java bytecodes into 3-address codes. Then we translate into static single assignment form using the 3-address codes. Static single assignment form provides a compact representation of a variable's definition-use information. Static single assignment form is often used as an intermediate representation during code optimization. Static sing1e assignment form renames each occurrence of a variable such that each variable is defined only once.

  • PDF

Design of MHEG Engine for Distributed Multimedia/Hypermedia Applications (분산 멀티미디어/하이퍼미디어 응용을 위한 MHEG 엔진 설계)

  • Lee, Se-Hun;Wang, Chang-Jong
    • The Transactions of the Korea Information Processing Society
    • /
    • v.3 no.2
    • /
    • pp.251-266
    • /
    • 1996
  • In this paper, we design MHEG engine that can generate MHEG objects and present It to the users in Multimedia/Hypermedia Applications In the MHEG engine, the transmitted MHEG objects decoded into internal format. For the easy interpretation of MHEG objects, we define internal format as to be matched for each MHEG object. We easily processobjectinformation using the tree data structure because object inheritance and possession can be represented in tree structure. Object inheritance and possession must be represented in the internal format because they used in resolving the reference to external objector data file. The presentation synchronization extracts the synchronization information from MHEG composite objects, representing and controlling heterogencous media associated to spatio- temporal relation. In order to exactly represent the spatio-temporal synchronization included into MHEG composite object, we propose the algorithm that processes synchronization using the message of the synchronization module and the internal objects. MHEG engine proposed in this paper may be basic technology fro multimedia application area using Korea New Net.

  • PDF

The Bytecode Optimizer (바이트코드 최적화기)

  • 이야리;홍경표;오세만
    • Journal of KIISE:Software and Applications
    • /
    • v.30 no.1_2
    • /
    • pp.73-80
    • /
    • 2003
  • The Java programming language is designed for developing effective applications in a heterogeneous network environment. Major problem in Java is its performance. many attractive features of Java make the development of software easy, but also make it expensive to support ; applications written in Java are often much slower than their counterparts written in C or C++. To use Java`s attractive features without the performance penalty, sophisticated optimizations and runtime systems are required. Optimising Java bytecode has several advantages. First, the bytecode is independent of any compiler that is used to generate it. Second, the bytecode optimization can be performed as a pre=pass to Just-In-Time(JIT) compilation. Many attractive features of Java make the development of software easy, but also make it expensive to support. The goal of this work is to develop automatic construction of code optimizer for Java bytecode. We`ve designed and implemented a Bytecode Optimizer that performs the peephole optimization, bytecode-specific optimization, and method-inlining techniques. Using the Classfile optimizer, we see up to 9% improvement in speed and about 20% size reduction in Java class files, when compared to average code using the interpreter alone.

CyberClass Avatar System using Task-Level Behavior Description Language (작업 수준의 행위 표현 언어를 이용한 사이버강의용 아바타 시스템)

  • Kim, Jung-Hee;Lim, Soon-Bum
    • The KIPS Transactions:PartB
    • /
    • v.11B no.5
    • /
    • pp.597-602
    • /
    • 2004
  • In spite of recent increase in the use of avatar systems in Web and Virtual Reality, there has not been a service that allows users to control directly the avatar behaviors. In addition, the conventional behavior control languages required a lot of complicated information for controlling the behaviors, so that users had difficulty using them. To apply written languages to a different task domain, moreover, it was necessary to modify or rewrite the languages. In this paper, for the avatar behavior control more simply define, “Task-Level Behavior Description Language,” which allows description the avatar behaviors in each task domain and “Motion Representation Language,” which enables writing detailed data for motion control. The system, developed in this paper, “included an Interpreter,” which automatically creates the Motion Representation Language, allowing users to easily control the avatar behaviors simply with the Behavior Description Language. The system was also applied to cyber classes, and the Task-level Behavior Description Language was compared with conventional languages to see how it was more effective in behavior description.