• Title/Summary/Keyword: 중간코드

Search Result 197, Processing Time 0.023 seconds

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

Image-Based Machine Learning Model for Malware Detection on LLVM IR (LLVM IR 대상 악성코드 탐지를 위한 이미지 기반 머신러닝 모델)

  • Kyung-bin Park;Yo-seob Yoon;Baasantogtokh Duulga;Kang-bin Yim
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.34 no.1
    • /
    • pp.31-40
    • /
    • 2024
  • Recently, static analysis-based signature and pattern detection technologies have limitations due to the advanced IT technologies. Moreover, It is a compatibility problem of multiple architectures and an inherent problem of signature and pattern detection. Malicious codes use obfuscation and packing techniques to hide their identity, and they also avoid existing static analysis-based signature and pattern detection techniques such as code rearrangement, register modification, and branching statement addition. In this paper, We propose an LLVM IR image-based automated static analysis of malicious code technology using machine learning to solve the problems mentioned above. Whether binary is obfuscated or packed, it's decompiled into LLVM IR, which is an intermediate representation dedicated to static analysis and optimization. "Therefore, the LLVM IR code is converted into an image before being fed to the CNN-based transfer learning algorithm ResNet50v2 supported by Keras". As a result, we present a model for image-based detection of malicious code.

Design of Translator for generating Secure Java Bytecode from Thread code of Multithreaded Models (다중스레드 모델의 스레드 코드를 안전한 자바 바이트코드로 변환하기 위한 번역기 설계)

  • 김기태;유원희
    • Proceedings of the Korea Society for Industrial Systems Conference
    • /
    • 2002.06a
    • /
    • pp.148-155
    • /
    • 2002
  • Multithreaded models improve the efficiency of parallel systems by combining inner parallelism, asynchronous data availability and the locality of von Neumann model. This model executes thread code which is generated by compiler and of which quality is given by the method of generation. But multithreaded models have the demerit that execution model is restricted to a specific platform. On the contrary, Java has the platform independency, so if we can translate from threads code to Java bytecode, we can use the advantages of multithreaded models in many platforms. Java executes Java bytecode which is intermediate language format for Java virtual machine. Java bytecode plays a role of an intermediate language in translator and Java virtual machine work as back-end in translator. But, Java bytecode which is translated from multithreaded models have the demerit that it is not secure. This paper, multhithread code whose feature of platform independent can execute in java virtual machine. We design and implement translator which translate from thread code of multithreaded code to Java bytecode and which check secure problems from Java bytecode.

  • PDF

Code Optimization Using Pattern Table (패턴 테이블을 이용한 코드 최적화)

  • Yun Sung-Lim;Oh Se-Man
    • Journal of Korea Multimedia Society
    • /
    • v.8 no.11
    • /
    • pp.1556-1564
    • /
    • 2005
  • Various optimization techniques are deployed in the compilation process of a source program for improving the program's execution speed and reducing the size of the source code. Of the optimization pattern matching techniques, the string pattern matching technique involves finding an optimal pattern that corresponds to the intermediate code. However, it is deemed inefficient due to excessive time required for optimized pattern search. The tree matching pattern technique can result in many redundant comparisons for pattern determination, and there is also the disadvantage of high cost involved in constructing a code tree. The objective of this paper is to propose a table-driven code optimizer using the DFA(Deterministic Finite Automata) optimization table to overcome the shortcomings of existing optimization techniques. Unlike other techniques, this is an efficient method of implementing an optimizer that is constructed with the deterministic automata, which determines the final pattern, refuting the pattern selection cost and expediting the pattern search process.

  • PDF

Design and Implementation of a Dynamic Instrumentation Framework based on Light-weight Dynamic Binary Translation (경량 동적 코드 변환 기법을 이용한 동적 인스트루멘테이션 기법 설계 및 구현)

  • Kim, Jeehong;Lee, Dongwoo;Kim, Inhyeok;Eom, Young Ik
    • Journal of KIISE
    • /
    • v.41 no.11
    • /
    • pp.892-899
    • /
    • 2014
  • Dynamic binary instrumentation is a code insertion technique for debugging a program without scattering its execution flow, while the program is running. Most dynamic instrumentations are implemented using dynamic binary translation techniques. Existing studies translated program codes dynamically by parsing the machine code stream to intermediate representation (IR) and then applying compilation techniques for IRs. However, they have high overhead during translation, which is a major cause of difficulty in applying the dynamic binary translation technique to the program which requires high responsiveness. In this paper, we introduce a light-weight dynamic binary instrumentation framework based on a novel dynamic binary translation technique which has low overhead while translating the program code. In order to reduce the translation overhead, our approach adopts a tabular-based address translation and exploits a translation bypassing scheme, which stores the translated address of a frequently called library function in advance. It then accesses the translated address and executes function codes without code translation when calling the function. Our experiment results demonstrated that the proposed approach outperforms the prior dynamic binary translation techniques from 2% up to 65%.

Design of Active Network Infrastructure (액티브 네트워크 관리 구조 디자인)

  • Lee, Jung-Seuk;Lee, Sung-Woon;Yoo, Kee-Young
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2001.10b
    • /
    • pp.1283-1286
    • /
    • 2001
  • 기존 네트워크상에서의 라우터나 스위치와 같은 중간 노드들에서 단순히 패킷의 헤더만을 처리하는 수동적인 기능을 개선하여, 사용자가 패킷 내에 프로그램 코드와 데이터를 함께 전송하고 중간노드에서는 필요한 프로세스를 처리할 수 있는 차세대 네트워크를 액티브 네트워크라 한다. 지금까지의 액티브 네트워크 기술 현황을 볼 때 네트워크 관리는 표준화된 관리 구조를 가지고 있지 않으며, 대부분의 연구들이 액티브 노드에 중점을 두고 있으며, 네트워크 내의 트래픽 제어나 성능 향상을 위한 네트워크 관리 구조에 대한 연구는 아직 미흡한 상태이다. 본 논문에서는 기존의 수동적 네트워크와의 연동 및 서로 다른 액티브 네트워크와의 상호 운영을 고려한 액티브 네트워크 관리 시스템의 Infrastructure를 디자인하였다. 본 논문에서 디자인한 액티브 네트워크 관리 시스템의 모델을 기초로 하여 보다 효율적이고, 유지 보수 및 다른 네트워크와의 통합 관리가 용이한 시스템 구성을 구현할 수 있을 것으로 기대한다.

  • PDF

A Description Technique and It's Simulation of Gate Level Digital Circuits (게이트 레벨 디지털 회로의 기술방법 및 시뮬레이션)

  • 권승학;이명호
    • Journal of the Korea Society of Computer and Information
    • /
    • v.4 no.4
    • /
    • pp.57-68
    • /
    • 1999
  • The purpose of this study is to build a description technique and to make a simulator, which can simulate and verify the behavior of gate level digital system. To get the object code from the input description language, we build a translator. To do this, we used YACC of the UNIX parser generator. and made an intermediate code in the mid-process between translator and simulator to extend the range of application. For experimental models. we used the Full-Adder and Modulo-3 Counter.

  • PDF

사용후핵연료 중간저장 시설의 사고시 UO$_2$의 산화거동 연구

  • 김건식;유길성;민덕기;김은가;노성기
    • Proceedings of the Korean Nuclear Society Conference
    • /
    • 1995.05b
    • /
    • pp.727-732
    • /
    • 1995
  • 사용후핵연료 중간저장 시설의 누수사고시 예상되는 핵연료봉의 온도상승을 SFUEL 컴퓨터 코드 분석결과에 따른 실제 $UO_2$의 산화거동을 실험하였다. 외기 온도 38$^{\circ}C$에서 환기회수가 시간당 0, 1, 2회인 조건에서 저장용기 밑바닥 구멍 크기가 2.54, 5.08, 7.62 cm인 경우의 실험결과 환기회수 0회 바닥구멍 크기 2,54 cm 일 때 약 15시간 후 건전성 상실(0.6% 무게증가)이 일어났으며 환기회수 2회 바닥구멍 크기 7.62 cm 일 때는 약 21시간 이후에 건전성 상실이 일어나 가장 느렸다. 바닥구멍 크기가 증가할수록 공기 순환비의 영향을 크게 받으며, 또 외기 온도가 낮을 수록 공기 순환비의 영향을 크게 받았다.

  • PDF

사용후핵연료 중간저장 시설의 사고시 피복관의 산화 거동 연구

  • 유길성;김건식;민덕기;노성기;김은가
    • Proceedings of the Korean Nuclear Society Conference
    • /
    • 1995.05b
    • /
    • pp.721-726
    • /
    • 1995
  • 사용후핵연료 중간저장 시설의 누수사고시 예상되는 SFLFL 컴퓨터 코드 분석 결과에 따른 실제 피복관의 산화시험 결과 저장용기 밑바닥 세가지 구멍은 크긴 조건들에 대히 환기회수가 시간당 0회인 경우는 사고후 48시간 경과시 매우 심각한 산화가 예상되며, 나머지 조건의 경우에는 48시간 산화 후 최대 산화량이 90mg/dm$^2$으로 시설의 누수사고시 산화막에 의한 영향은 거의 무시 할 수 있는 것으로 나타난다. 9가지의 시험조건중 안전성은 구멍의 크기가 7.62cm, 환기수가 시간당 2회인 경우가 가장 놓으며. 두번째는 구멍의 크기가 5.08cm, 시간당 환기수 2회의 경우였다. 같은 환기회수의 경우 구멍의 크기가 5.08과 7.62cm인 경우는 비슷하게 나타나지만 2.54와 5.08cm의 경우는 큰 차이를 보인다. 여기에서 수행된 시험은 미조사, 미전처리 시편을 사용한 것이므로 실제로 조사 및 로내 산화막이 입혀진 시편에 대한 추후 시험이 요구된다.

  • PDF

A Performance Comparison of Various Virtual Machines (가상 머신간 성능 비교)

  • Kim, Jae-Jin;Jung, Dong-Heon;Kim, Su-Hyun;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06c
    • /
    • pp.560-565
    • /
    • 2010
  • 가상 머신은 중간코드로 컴파일 되어 한 프로그램을 여러 플랫폼에서 수행 가능하게 한다. 이러한 가상 머신에는 이미 널리 알려진 썬 마이크로시스템즈의 자바 가상 머신과 구글의 안드로이드 플랫폼의 달빅 가상 머신 그리고 애플이 지원하는 LLVM 등이 있으며, 파이어폭스의 TraceMonkey, 구글 크롬의 v8, 사파리의 SquirrelFish Extreme 같은 자바스크립트 엔진도 일종의 가상 머신으로 볼 수 있다. 가상 머신은 필연적으로 성능 저하를 동반하게 되는데, 이는 가상 머신의 주요 이슈 중 하나이다. 본 논문에서는 간단한 벤치마크를 통해서 이들 가상 머신간의 성능을 비교하고, 각 가상 머신의 특징을 알아본다. LLVM은 여러 단계에 걸친 컴파일 전략으로 JIT 컴파일을 사용하였을 때 높은 성능을 보이나 JIT 컴파일을 사용하지 않았을 경우는 매우 낮은 성능을 보인다. 달빅 가상 머신은 인터프리터 모드에서 자바 가상 머신 보다 조금 나았으나, 아직 개발된 지 얼마 되지 않아 JIT 컴파일러가 없다는 것이 약점이다. 자바스크립트 엔진들은 동적 언어인 자바스크립트를 지원하는 특성상 최적화를 적용하지 못해 비교적 낮은 성능을 보였다.

  • PDF