• Title/Summary/Keyword: 중간코드

Search Result 197, Processing Time 0.022 seconds

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

Verification of Machine Codes using an Effect Type System (효과 타입 시스템을 이용한 기계어 코드의 검증)

  • Chung, Jae-Youn;Ryu, Suk-Young;Yi, Kwang-Keun
    • Journal of KIISE:Software and Applications
    • /
    • v.27 no.8
    • /
    • pp.886-901
    • /
    • 2000
  • Verification of the safety of untrusted codes becomes an important issue in the mobile computing environment and the safety-critical software systems. Recently, it is very common to run the codes attached to the electronic mails or downloaded from the web browsers. We propose the verification method of the machine code property. The code producer delivers the machine code and its property, then the code consumer checks whether the delivered code satisfies the delivered property. The safety of source codes is verified by the well-defined compiler systems but the verification mechanism for machine codes is not well defined yet. We design an intermediate language etySECK and propose the verification method of the property of etySECK programs. And then we prove the soundness of our system which is the type system with effect extension.

  • PDF

Data Scrambling Scheme that Controls Code Density with Data Occurrence Frequency (데이터 출현 빈도를 이용하여 코드 밀도를 조절하는 데이터 스크램블링 기법)

  • Hyun, Choulseung;Jeong, Gwanil;You, Soowon;Lee, Donghee
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.10 no.9
    • /
    • pp.235-242
    • /
    • 2021
  • Most data scrambling schemes generate pure random codes. Unlike these schemes, we propose a variable density scrambling scheme (VDSC) that differentiates densities of generated codes. First, we describe conditions and methods to translate plain codes to cipher codes with different densities. Then we apply the VDSC to flash memory such that preferred cell states occur more than others. To restrain error rate, specifically, the VDSC controls code densities so as to increase the ratio of center state among all possible cell states in flash memory. Scrambling experiments of data in Windows and Linux systems show that the VDSC increases the ratio of cells having near-center states in flash memory.

PCA 알고리즘과 개선된 퍼지 신경망을 이용한 여권 인식 및 얼굴 인증

  • Jung Byung-Hee;Park Choong-Shik;Kim Kwang-Baek
    • Proceedings of the Korea Inteligent Information System Society Conference
    • /
    • 2006.06a
    • /
    • pp.336-343
    • /
    • 2006
  • 본 논문에서는 여권 영 상에서 PCA 알고리즘을 이용한 얼굴 인증과 개선된 퍼지 신경망을 이용한 여권 코드 인식 방법을 제안한다. 본 논문에서는 여권영상에 대해 소벨 연산자를 이용하여 에지를 추출하고 에지가 추출된 영상을 수평 스미어링하여 여권코드 영역을 추출한다. 추출된 여권 코드 영역의 기울기를 검사하여 기울기 보정을 하고, 여권 코드 영역을 이진화 한다. 이진화된 여권 코드 영역에 대하여 8방향윤곽선 추적 알고리즘을 적용하여 여권 코드를 추출한다. 추출된 여권 코드는 퍼지 신경망을 개선하여 여권 코드 인식에 적용한다. 개선된 퍼지 신경 망은 입력층과 중간층 사이의 학습 구조로는 FCM 클러스터링 알고리즘을 적용하고 중간층과 출력층 사이의 학습은 일반화된 델타학습 방법을 적용한다. 그리고 학습 성능을 개선하기 위하여 중간층과 출력층의 가중치 조정에 적용되는 학습률을 동적으로 조정하기 위해 퍼지 제어 시스템을 적용한다. 제안된 퍼지 신경망은 목표값과 출력값의 차이에 대한 절대값이 ${\epsilon}$ 보다 적거나 같으면 정확으로 분류하고 크면 부정확으로 분류하여 정확의 총 개수를 퍼지 제어 시스템에 적용하여 학습률과 모멘텀을 동적으로 조정한다. 여권의 주어진 규격에 근거하여 사진 영역을 추출하고 추출된 사진 영역에 대하여 YCbCr와 RGB 정보를 이용하여 얼굴영역을 추출한다. 추출된 얼굴 영역을 PCA 알고리즘과 스냅샷(Snap-Shot) 방법을 적용하여 얼굴 영역의 위조를 판별한다. 제안된 방법의 여권 코드 인식과 얼굴 인증의 성능을 평가하기 위하여 실제 여권 영상에 적용한 결과, 기존의 방법보다 여권 코드 인식과 얼굴 인증에 있어서 효율적인 것을 확인하였다.s, whereas AVs provide much better security.크는 기준년도부터 2031년까지 5년 단위로 계획된 장래도로를 반영하여 구축된다. 교통주제도 및 교통분석용 네트워크는 국가교통DB구축사업을 통해 구축된 자료로서 교통체계효율화법 제9조의4에 따라 공공기관이 교통정책 및 계획수립 등에 활용할 수 있도록 제공하고 있다. 건설교통부의 승인절차를 거쳐 제공하며 활용 후에는 갱신자료 및 활용결과를 통보하는 과정을 거치도록 되어있다. 교통주제도는 국가의 교통정책결정과 관련분야의 기초자료로서 다양하게 활용되고 있으며, 특히 ITS 노드/링크 기본지도로 활용되는 등 교통 분야의 중요한 지리정보로서 구축되고 있다..20{\pm}0.37L$, 72시간에 $1.33{\pm}0.33L$로 유의한 차이를 보였으므로(F=6.153, P=0.004), 술 후 폐환기능 회복에 효과가 있다. 4) 실험군과 대조군의 수술 후 노력성 폐활량은 수술 후 72시간에서 실험군이 $1.90{\pm}0.61L$, 대조군이 $1.51{\pm}0.38L$로 유의한 차이를 보였다(t=2.620, P=0.013). 5) 실험군과 대조군의 수술 후 일초 노력성 호기량은 수술 후 24시간에서 $1.33{\pm}0.56L,\;1.00{\ge}0.28L$로 유의한 차이를 보였고(t=2.530, P=0.017), 술 후 72시간에서 $1.72{\pm}0.65L,\;1.33{\pm}0.3L$로 유의한 차이를 보였다(t=2.540, P=0.016). 6) 대상자의 술 후 폐환기능에 영향을 미치는 요인은 성별로 나타났다. 이에 따

  • PDF

A Study of LLVM-based Embedded System Performance Analyzer (LLVM 기반의 임베디드 시스템 성능 분석기의 연구)

  • Cho, Doosan
    • The Journal of the Convergence on Culture Technology
    • /
    • v.8 no.1
    • /
    • pp.577-582
    • /
    • 2022
  • For developing a new embedded system, an application program/an emulator and a compiler are developed simultaneously. In order to provide the optimal performance of all system components, local optimization should be carried out for the developing process. For this purpose, if a source-level performance analyzer is developed, it is possible to optimize the application program's source code by the performance evaluation. In general, the performance of an application program is determined in the loop iterations. The Intermediate Representation (IR) code generator generates IR code from the source code, and evaluates the execution time with the instructions in the intermediate representation code. If the source code is improved based on the evaluated result, better results can be obtained in the final application code. This study describes the source-level performance analyzer that can be used during the simultaneous development of the new embedded system and its application programs. The performance analyzer makes it possible to more quickly optimize the performance of the new embedded system.

Intermediate Language Translator for Jave Language (자바 언어를 위한 중간 언어 번역기)

  • 정지훈;박진기;이양선
    • Proceedings of the Korea Multimedia Society Conference
    • /
    • 2003.11b
    • /
    • pp.537-540
    • /
    • 2003
  • 자바와 .NET 언어는 프로그래머들이 프로그램을 개발하는데 가장 널리 사용되고 있는 언어이다. 프로그래머가 작성한 자바 프로그램은 JVM 플랫폼에서는 실행이 되지만 .NET 플랫폼에서 실행이 되지 않고, 반대로 C#과 같은 .NET 언어로 작성한 프로그램은 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서 실행이 되지 않는다. 그러므로 자바 프로그래머는 .NET 플랫폼 환경에 맞추어 프로그래밍하지 못하고, .NET 프로그래머는 JVM 플랫폼 환경에 맞추어 프로그래밍하지 못하는 단점이 있다. 본 논문에서 연구한 Bytecode-to-MSIL 번역기는 위의 단점을 해결한 것이다. 먼저 자바로 작성된 프로그램을 컴파일하여 생성된 클래스 파일(*.class)로부터 Oolong 역어셈블러를 이용하여 Oolong 코드를 추출한다. 추출된 Oolong 코드를 본 논문에서 연구한 Bytecode-to-MSIL 번역기로 .NET의 중간언어인 MSIL 코드로 변환하여 .NET 어셈블러로 실행파일을 만들어 자바 언어로 구현된 프로그램이 .NET 환경에서도 실행될 수 있도록 한다. 따라서, 자바 프로그래머나 .NET 프로그래머는 JVM 이나 .NET 플랫폼 환경에 관계없이 프로그램을 작성하여 실행시킬 수 있다.

  • PDF

Instruction Set Design for Accelerating the LLVM Interpreter (LLVM의 해석기 가속을 위한 명령어 셋 디자인)

  • Jung, Dong-Heon;Lee, Seok-Young;Kim, Jae-Jin;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06c
    • /
    • pp.545-549
    • /
    • 2010
  • LLVM(Low-level Virtual machine)은 최적화된 컴파일 코드 생성을 위한 컴파일러 프레임워크를 목적으로 제작되었다. LLVM은 C언어로 작성된 코드를 효과적으로 머신에 비종속적인 중간코드로 표현하여 사용하므로 이를 잘 활용한다면 C언어를 위한 머신 비종속적인 '가상머신'으로 사용할 수 있다. 하지만 LLVM은 효과적인 컴파일러라는 원래의 설계목적 때문에 전반적으로 동적 수행에 대해 큰 고민 없이 디자인되었다. 이러한 디자인상의 한계는 가상 머신으로서의 성능에는 좋지 않은 영향을 끼치므로 이에 대한 보안이 필요하다. 우리는 LLVM의 명령어 셋에 추가명령어를 제안하여 LLVM 해석기의 성능향상을 얻어낼 것이다.

  • PDF

Improvement of performance for the LBG algorithm by the decision of initial codevectors (초기 코드백터 결정에 의한 LBG 알고리즘의 성능 개선)

  • Hong, Chi-Hwun;Ch0, Che-Hwang
    • The Journal of the Acoustical Society of Korea
    • /
    • v.14 no.2
    • /
    • pp.16-29
    • /
    • 1995
  • Choosing initial codevectors in the LBG algorithm controls the performance of a codebook, because it only guarantees a locally optimal codebook. In this paper, we propose the decision method of initial codevectors by a decision radius which takes for feature vectors DC, low frequency, medium frequency and high frequency terms generated by a DCT. The more the decision radius is increased in order to decide initial codevectors, the more the number of membership vectors and the standard deviation for distance among the initial codevectors are increased. To obtain improved performance for a codebook, the decision radius for DC term is required above 0.9 of the membership rate and those for low frequency, medium frequency and high frequency terms under 0.6 of it.

  • PDF

Design and Implementation of a Java Bytecode Optimizer (자바 바이트코드를 위한 최적화기의 설계 및 구현)

  • Hwang, Soon-Myung;Oh, Se-Man
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2000.10a
    • /
    • pp.211-214
    • /
    • 2000
  • 자바 클래스 파일은 각 플랫폼에 독립적인 중간 코드 형태의 바이트코드와 자료 구조로 구성됨으로서 네트워크를 통하여 플랫폼에 독립적으로 인터프리티브 컴파일링 시스템에서 실행된다. 그러나 클래스 파일을 생성하는 자바 컴파일러는 각 플랫폼에 독립적인 바이트코드 표현에 제약을 받기 때문에 효율적인 코드를 생성하는데 한계가 있다. 또한 자바 가상 기계에서 동적 링킹을 지원하기 위하여 고안된 상수 풀(constant pool)의 크기가 상대적으로 큰 특징을 갖는다. 따라서 자바 클래스 파일이 네트워크와 같은 실행 환경에서 효과적으로 실행되기 위해서는 작은 크기와 효율적인 코드에 대한 변환이 요구된다. 본 논문에서는 자바 클래스 파일이 인터넷 및 분산환경 시스템에서 효율적으로 실행되기 위해서 클래스 파일의 크기를 줄이는 방법과 자바 컴파일러가 생성한 바이트코드에 대해 최적화를 수행하는 최적화 방법론을 제시하고, 코드 최적화기를 설계 및 구현한다. 최적화된 클래스 파일은 코드 크기를 줄이고, 효율적인 코드를 생성함으로서 네트워크 상의 전송 속도뿐만 아니라 가상 기계에서 좀 더 빠르게 실행할 수 있다.

  • PDF

Design of a Java Bytecode Optimizer (자바 바이트코드 최적화기의 설계)

  • 황순명;오세만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.04a
    • /
    • pp.56-58
    • /
    • 2000
  • 자바 클래스 파일은 각 플랫폼에 독립적인 중간 코드 형태의 바이트코드와 자료 구조로 구성됨으로서 네트워크를 통하여 플랫폼에 독립적으로 인터프리티브 컴파일링 시스템에서 실행된다. 그러나 클래스 파일을 생성하는 자바 컴파일러는 각 플랫폼에 독립적인 바이트코드 표현에 제약을 받기 때문에 효율적인 코드를 생성하는데 한계가 있다. 또한, 자바 가상 기계에서 동적 링킹을 지원하기 위하여 고안된 상수 풀(constant pool)의 크기가 상대적으로 큰 특징을 갖는다. 따라서 자바 클래스 파일이 네트워크와 같은 실행 환경에서 효과적으로 실행되기 위해서는 작은 크기와 효율적인 코드에 대한 변환이 요구된다. 본 논문에서는 자바 클래스 파일이 인터넷 및 분산환경 시스템에서 효율적으로 실행되기 위해서 클래스 파일의 크기를 줄이는 방법과 자바 컴파일러가 생성한 바이트코드에 대해 최적화를 수행하는 최적화 방법론을 제시하고, 코드 최적화기를 설계한다. 최적화된 클래스 파일은 코드 크기를 줄이고, 효율적인 코드를 생성함으로서 네트워크상의 전송 속도뿐만 아니라 가상 기계에서 좀 더 빠르게 실행할 수 있다.

  • PDF