• Title/Summary/Keyword: 코드 최적화

Search Result 476, Processing Time 0.036 seconds

Implementation of Dead Code Elimination in CTOC (CTOC에서 죽은 코드 제거 구현)

  • Kim, Ki-Tae;Kim, Je-Min;Yoo, Won-Hee
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.2 s.46
    • /
    • pp.1-8
    • /
    • 2007
  • Although the Java bytecode has numerous advantages, there are 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. In order to statically determine the value and type, CTOC uses the SSA Form which separates the variable according to assignment. Also, it uses a Tree Form for statements. But, due to insertion of the $\phi$-function in the process of conversion into the SSA Form, the number of nodes increased. This paper shows the dead code elimination to obtain a more optimized code in SSA Form. We add new live field in each node and achieve dead code elimination in tree structures. We can confirm after dead code elimination though test results that nodes decreases.

  • PDF

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

Design of Intermediated code for Efficient Analysis of Bytecode (바이트코드의 효율적인 분석을 위한 중간코드의 설계)

  • Kim Kyung Soo;Kim Ki Tea;Jo Sun Moon;Yoo Weon-Hee
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11b
    • /
    • pp.430-432
    • /
    • 2005
  • 자바 언어는 객체 지향 언어이며 이식성에 좋은 언어로써 각광을 받고 있다. 하지만 자바 프로그램은 이식성은 좋지만 실행 시 인터프리터 방식으로 사용하기 때문에 실행속도가 느리다는 단점이 있다. 또한 바이트코드는 스택기반의 코드이기 때문에 코드 단편화 문제점과 스택 접근 연산들을 사용하여 프로그램 분석이 용이 하지 않고, 단순한 변환을 복잡하게 만들 수 있다는 단점이 있다. 따라서 바이트코드 자체로 분석과 최적화하기가 용이 하지 못하다. 본 논문에서는 바이트코드의 분석을 위한 트리구조 중간코드를 제안 한다. 트리구조 중간코드는 스택기반 코드의 문제점을 보완하고, 기존에 3-주소 형태의 최적화 기법들을 적용할 수 있다는 장점이 있다. 본 논문은 바이트코드와 각종 정보를 가지고 있는 클래스 파일을 입력받아 분석 후 기본블록을 나누고 BNF코드를 바탕으로 트리구조 중간코드를 생성하게 된다. 생성된 중간코드를 가지고 제어 흐름 그래프를 만들게 된다. 이러한 방식으로 트리구조 중간코드를 설계하게 된다.

  • PDF

Adaptive Opimization of MIMO Codebook to Channel Conditions for Split Linear Array (분할된 선형배열안테나를 위한 채널 환경에 적응하는 MIMO 코드북 최적화)

  • Mun, Cheol;Jung, Chang-Kyoo;Kwak, Yun-Sik
    • Journal of Advanced Navigation Technology
    • /
    • v.13 no.5
    • /
    • pp.736-741
    • /
    • 2009
  • In this paper, adaptive optimizations of precoder codebook to channel conditions is proposed for a multiuser multiple-input multiple-output (MIMO) system with split linear array and limited feedback. We propose adaptive method for constructing a precoder codebook by coloring the random vector quantization codebook at each link by using limited long-term feedback information on transmit correlation matrix of each link. It is shown that the proposed multiuser MIMO codebook design scheme outperforms existing multiuser MIMO codebook design schemes for various channel conditions in terms of the average sum throughput of multiuser MIMO systems using zero-forcing maximum eigenmode transmission and limited feedback.

  • PDF

Static Single Assignment Form for Java Bytecodes in CTOC (CTOC에서 자바 바이트코드를 위한 정적 단일 배정 형태)

  • Kim, Ki-Tae;Yoo, Weon-Hee
    • The KIPS Transactions:PartD
    • /
    • v.13D no.7 s.110
    • /
    • pp.939-946
    • /
    • 2006
  • Although the Java bytecode has numerous advantages, there are also shortcomings such as slow execution speed and difficulty in analysis. In order to overcome such disadvantages, bytecode analysis and optimization must be performed. We implements CTOC for optimized codes. An extended CFG must be first created in order to analyze and optimize a bytecode. Due to unique bytecode properties, the existing CFG must be expanded according to the bytecode. Furthermore, the CFG must be converted into SSA Form for a static analysis, for which calculation is required for various information such as the dominate relation, dominator tree, immediate dominator, $\phi$-function, rename, and dominance frontier. This paper describes the algorithm and the process for converting the existing CFG into the SSA From. The graph that incorporates the SSA Form is later used for type inference and optimization.

Design of Translator for Efficient Bytecodes from Intermediated Codes in CTOC (CTOC에서 중간 코드에서 효율적인 바이트코드로의 변환기 설계)

  • Kim Young-Kook;Jo Sun-Moon;Kim Ki-Tae;Yoo Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.11a
    • /
    • pp.445-448
    • /
    • 2004
  • 자바는 자바 가상기계를 사용해서 플랫폼에 독립적으로 사용할 수 있는 장점을 가진다. 그러나 자바가상머신은 인터프리터 방식을 이용하기 때문에 다른 컴파일언어에 비해서 수행속도가 느리다는 단점을 가진다. 이런 단점을 극복하기 위해서 많은 최적화나 JIT컴파일러 그리고 네이티브 코드로의 변환과 같은 연구들이 많이 연구되었다. 이전의 연구들은 한계성을 가지고 있어서 자바에서 수행시간의 문제는 지금도 문제로 남아있다. 이전의 문제점 해결의 극복의 대안으로 바이트코드를 최적화하는 프레임워크인 CTOC를 설명하고, CTOC에서 사용하는 중간코드로 사용하는 3-주소형식의 CTOC-T를 바이트코드로 변환하고, CTOC-T에서 바이트코드형식으로 변환할 때 생기는 과다한 load/store의 문제점을 해결한다.

  • PDF

Runtime-Guard Coverage Guided Fuzzer Avoiding Deoptimization for Optimized Javascript Functions (최적화 컴파일된 자바스크립트 함수에 대한 최적화 해제 회피를 이용하는 런타임 가드 커버리지 유도 퍼저)

  • Kim, Hong-Kyo;Moon, Jong-sub
    • Journal of the Korea Institute of Information Security & Cryptology
    • /
    • v.30 no.3
    • /
    • pp.443-454
    • /
    • 2020
  • The JavaScript engine is a module that receives JavaScript code as input and processes it, among many functions that are loaded into web browsers and display web pages. Many fuzzing test studies have been conducted as vulnerabilities in JavaScript engines could threaten the system security of end-users running JavaScript through browsers. Some of them have increased fuzzing efficiency by guiding test coverage in JavaScript engines, but no coverage guided fuzzing of optimized, dynamically generated machine code was attempted. Optimized JavaScript codes are difficult to perform sufficient iterative testing through fuzzing due to the function of runtime guards to free the code in the event of exceptional control flow. To solve these problems, this paper proposes a method of performing fuzzing tests on optimized machine code by avoiding deoptimization. In addition, we propose a method to measure the coverage of runtime-guards by the dynamic binary instrumentation and to guide increment of runtime-guard coverage. In our experiment, our method has outperformed the existing method at two measures: runtime coverage and iteration by time.

Split Local Variables Using Static Single Assignment Form in CTOC (CTOC에서 정적 단일 배정문 형태를 이용한 지역 변수 분리)

  • Lee Kab-Lae;Yoo Weon-Hee;Kim Ki-Tae
    • The Journal of the Korea Contents Association
    • /
    • v.5 no.3
    • /
    • pp.73-81
    • /
    • 2005
  • CTOC(Classes To Optimized Classes) is a Java bytecode framework for optimization and analysis. Although Java bytecode has a significant amount of type information embedded in it, there are no explicit types for local variables. However, knowing types for local variables is very useful for both program optimization and analysis. This paper is a first part of CTOC framework. In this paper, we present methods for inferring static types for local variables in a 3-address, stackless, representation of Java bytecode. We use SSA Form(Single Static Assignment Form) for spliting local variables. Splited local variables will use to prepare for static type inference.

  • PDF

Global Optimization Techniques for Power Consumption Optimization (전력 소비 최적화를 위한 전역 최적화 기술)

  • Kim, Seong-Jin;Youn, Jong-Hee M.;Ko, Kwang-Man
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.282-284
    • /
    • 2012
  • 임베디드 분야에서 전력 에너지 소비 문제는 시스템을 설계하는데 있어서 매우 중요한 이슈가 되고 있다. 특히 휴대성이 강조되는 모바일 장치의 제한된 전력을 효율적으로 이용하기 위해서 하드웨어적인 관리 못지않게 소프트웨어적인 관리 기술의 필요성이 강조되고 있으며 전력 소비 관리를 위한 최적화된 컴파일러 기법이 연구되고 있다. 이 논문에서는 모바일 장치에서 구동되는 어플리케이션의 전력 에너지 소비를 줄이기 위한 전역 코드 스케줄링 기법을 제시한다. 이를 위해, 재목적 소프트웨어 개발 도구인 EXPRESSION의 컴파일러인 EXPRESS의 코드 최적화 기법을 이용하여 전력 에너지 효율적인 전역 코드 스케줄링 모델을 설계하고 성능평가 방법을 제시한다.

The research for optimization of Huffman decoding for embedded system (임베디드 시스템을 위한 허프만 복호화의 최적화 연구)

  • Park, In-Hye;Lee, Hyung-Keun
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06b
    • /
    • pp.77-79
    • /
    • 2012
  • 본 논문에서는 임베디드 시스템으로의 적용을 위한 균형이진트리 방식의 허프만 코딩 복호화 방법에 대하여 논한다. 그리고 구현된 전체 시스템의 간단한 코드 최적화(code optimization)를 추가하여 시스템 전체의 처리 속도를 감소시키고자 하였다. 본문에서는 구현된 복호화 성능 향상의 정확한 측정을 위하여 하드웨어 시뮬레이터를 사용했다. 이를 통해서 실질적인 환경에서 어느 정도의 duration으로 동작될 수 있는지, 그리고 해당 환경에서 얼마나 성능을 향상시킬 수 있을지를 비교적 정확하게 판단할 수 있도록 했다. 본문의 마지막에 명시된 대로, 최적화의 결과로, 허프만 코드를 표에서 찾는 기존의 방법에 비하여, 복호화 부분과 복호화 부분을 제외한 시스템 코드 최적화 각각 36%, 2%의 duration 횟수의 감소를 확인할 수 있었다.