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

Search Result 88, Processing Time 0.025 seconds

Design of Translator for Efficient 3-Address Code from Stack Based Code (스택기반코드에서 효율적인 3-주소 코드로의 변환기 설계)

  • Kim Ji-Min;Kim Ki-Tae;Jo Sun-Moon;Yoo Weon-Hee
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2004.11a
    • /
    • pp.433-436
    • /
    • 2004
  • 자바 언어는 객체지향 언어로써 인터프리터에 의하여 실행되고 구조 중립적이다. 자바 언어는 인터프린트 과정을 거치므로 다른 언어에 비해서 실행이 느리다는 단점을 가지고 있다. 자바 바이트코드의 실행 비용을 줄이기 위한 연구의 일환으로 본 논문에서는 자바 바이트코드 최적화기인 CTOC 중에서 스택기반 코드를 받아 들여 스택을 사용하지 않는 3-주소 코드로 변화시키는 CTOC-TR의 설계에 대하여 논한다. CTOC-TR은 총 3단계를 변환 과정을 수행하는데 첫 단계에서는 타입 없는 3-주소코드를 생성한다. 두 번째 단계에서는 스택변수와 지역변수를 나누는 과정을 수행하는데 이 과정은 타입을 정해주기 위해서 꼭 필요한 과정이다. 마지막으로 타입 추론 함수를 이용하여 나누어진 변수에 타입을 지정한다. 그 후 생성된 3-주소 코드를 분석기와 최적화기에 입력시켜 효율적인 3-주소 코드를 생성한다.

  • PDF

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

Applet Security Technique against Hostile Applet's Attack (유해 애플릿 공격에 대한 애플릿 보안 기술)

  • Park, Sang-Kil;Noh, Bong-Nam
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2000.04a
    • /
    • pp.491-496
    • /
    • 2000
  • 웹상의 자바 애플릿은 클라이언트의 웹 브라우저에 다운로드 되어서 브라우저 내부에 있는 자바가상기계(JVM : Java Virtual Machine)내에서 실행된다. 각 자바가상기계에는 실행 전에 바이트 코드 검증기와 바이트 코드 인터프리터를 통하여 오류문법을 점검한다. 애플릿을 이용한 잠재적인 공격형태는 시스템 수정, 개인정보의 침해, 서비스 거부공격, 강한 거부감을 느끼게 하는 공격이 있다. 이러한 유해한 애플릿의 공격에 대응하기 위한 방법으로 코드분석, 행위분석, 위치정보등을 이용한 보안기법이 제시되었지만 효율적인 대응을 하지 못하고 있다. 이 논문에서는 자바의 특성을 이용하여 자바클래스 내부의 바이트 코드 수정을 통한 애플릿 보안기술에 대해 기술한다. 유해한 행동이 예상되는 애플릿의 클래스에 대하여 바이트 코드 수정을 통하여 안전한 클래스로 대체함으로서 유해 애플릿 공격으로부터 시스템을 보호한다. 이를 수행하기 위해 프록시 서버를 두어서 웹브라우저의 요구를 수용하고, 이를 웹 서버에게 Safe클래스로 수정하여 요구하며, 그에 대한 응답도 처리한 후 애플릿에게 보여준다. 이는 런타임때 수행되며 웹브라우저, 서버, 클라이언트의 수정없이 프록시 서버의 개입으로 이루어진다.

  • PDF

Reuse of the Generated Code for JavaScript Just-in-Time Compiler (자바스크립트 적시 컴파일러를 위한 생성 코드 재사용)

  • Oh, Hyeong-Seok;Moon, Soo-Mook
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2010.06c
    • /
    • pp.540-544
    • /
    • 2010
  • 모바일 환경에서 웹 브라우저 활용이 늘어나고 웹 페이지를 통한 다양한 서비스가 제공되면서 브라우저에서의 자바스크립트 성능이 중요한 요소가 되었다. 자바스크립트 엔진의 성능 개선을 위해 기존에 사용하던 인터프리터 대신에 머신 코드를 실행 시간에 생성하는 적시 컴파일러(JITC)가 도입되었다. 특히 모바일 환경에서 WebKit의 자바스크립트 엔진인 SquirrelFish Extreme(SFX)이 많이 사용되고 있다. 본 논문에서는 SFX의 성능 향상을 위하여 적시 컴파일러를 통해 생성된 머신 코드를 파일 시스템을 활용하여 파일에 저장하였다가 재사용하는 클라이언트 AOTC(ahead-of-time compilation) 방식을 제시하고 초기 실험 결과를 제시한다.

  • 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

A Study on the Smart Virtual Machine for the iOS Platform (iOS 플랫폼을 위한 스마트 가상기계에 대한 연구)

  • Kim, ByungEun;Lee, KyungLok;Son, Yunsik;Lee, YangSun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2013.11a
    • /
    • pp.381-382
    • /
    • 2013
  • 본 논문에서는 iOS 플랫폼을 위한 스마트 가상기계(Smart Virtual Machine)를 설계하고 구현하였다. iOS 플랫폼을 위한 스마트 가상기계는 가상기계 기반의 컴파일러가 C/C++나 Java 언어로 작성된 프로그램과 의미적으로 동등한 중간 코드를 생성하면 이를 입력으로 받아 실행시켜주는 프로그램이다. 스마트 가상기계는 실행 파일인 SEF(Smart Executable Format) 파일을 입력으로 받아 실행하며, SEF 로더와 인터프리터, 내장 라이브러리, 실행 환경으로 구성되어 있다. 스마트 가상기계는 스마트 기기 등에 탑재되어 하드웨어 독립적으로 실행되며 어플리케이션 형태로 실행이 가능하므로 플랫폼에 독립적인 장점을 가진다. 또한, 프로그래머는 개발 언어의 제약 없이 프로그램을 작성할 수 있고, 프로그램을 플랫폼 독립적으로 실행할 수 있다.

An interactive education system for web based robot soccer (인터랙티브 기능을 이용한 웹기반 로봇축구 교육 시스템)

  • Kim, Geun-Deok;Kim, Chonggun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2009.11a
    • /
    • pp.303-304
    • /
    • 2009
  • 본 논문에서는 로봇축구에 관심을 가지고 있는 프로그래밍 초보자가 웹 환경에서 인터프리터 기반의 학습기능을 통해 쉽게 제어 언어에 대한 이해도를 높이고 프로그래밍을 학습할수 있는 시스템을 제안하고 설계한다. 개발시 사용한 실버라이트[1]는 웹에서의 닷넷 기반 미디어 경험과 리치 인터렉티브(Interactive) 어플리케이션을 실행하기 위한 차세대 크로스브라우저이다. 본 논문에서는 로봇축구와 관련된 기본기능, 시스템 구조, 구현 시 구축한 웹기반 시뮬레이션 및 사용자 학습 Interpreter 시스템에 대해 설명한다. 결론에서는 구현한 전체 시스템 평가 및 연구방향에 대해 논하였다.

Deep Learning Study on PowerShell Attack Detection Method (파워쉘 공격 탐지방법에 대한 딥러닝 연구)

  • Cho, Jin-Ho;Park, Yang-Hun;Park, Gwang-Cheol;Choi, Sun-Oh
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2020.11a
    • /
    • pp.362-365
    • /
    • 2020
  • PowerShell은 닷넷 프레임 워크에 기반을 둔, 커맨드 라인 인터페이스 및 스크립트 언어의 특징을 가진 Microsoft의 명령어 인터프리터로, 이를 내장한 Windows 운영체제 점유율의 증가와 강력한 기능으로 PowerShell을 이용한 공격은 계속 증가하고 있다. 이연구에서는 딥러닝을 사용하여 악성코드를 효과적으로 탐지하는 방법과, 이에 필요한 시퀀스 데이터 추출의 방법을 찾아내는 것에 목적이 있다.

A syntax-directed debugger for Esterel interpreter (Esterel 인터프리터를 위한 문맥지시적 디버거)

  • Hao, Sun;Rim, Kee-Wook;Nam, Ji Yeun;Lee, Jaeho;Han, Taisook
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.11a
    • /
    • pp.763-765
    • /
    • 2007
  • As a useful tool for embedded system codesign approach, it's necessary to make a custom-built interpreter for the system description verification. Usually, designers need to write their program to simulate the environment their system works in. Sometimes making the simulation environment consumes designers more time and energy than describing their embedded system. The interpreter saves the cost that is spent on making such an environment. In this paper, the necessity and motivation of the interpreter will be introduced first, and then the details about each part of it will be illuminated.

Design and Implementation of a Virtual Machine for MultiThread in the Ubiquitous Game Platform (유비쿼터스 게임 플랫폼에서 멀티스레딩을 위한 가상기계의 설계 및 구현)

  • Choi, Hong-Suck;Lee, Yang-Sun
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2007.05a
    • /
    • pp.1461-1464
    • /
    • 2007
  • 본 연구팀은 유비쿼터스 환경에서 다양한 분야의 콘텐츠를 보다 쉽게 개발하고 실행할 수 있는 통합 소프트웨어 개발 솔루션인 유비쿼터스 게임 플랫폼(Ubiquitous Game Platform)을 개발하였다. 유비쿼터스 게임 플랫폼은 가상기계 방식으로써 플랫폼에 독립적어서 유비쿼터스 환경의 기기에 탑재가 수월한 장점을 가진다. 본 논문에서는 유비쿼터스 게임 플랫폼에서 다양한 콘텐츠의 실행과 멀티 스레딩을 지원하는 유비쿼터스 가상기계(u-VM)를 설계하고 구현하였다. MS의.NET 플랫폼과 SUN의 JVM이 C/C++나 Java 언어 하나만을 지원하는데 반해 본 연구에서 제시한 u-VM은 다양한 유비쿼터스 기기에 탑재되어 C/C++, Java 언어로 작성된 다양한 모든 종류의 어플리케이션을 실행한다. u-VM은 SEF(Standard Executable Format) 실행 파일을 입력으로 받아 실행하며, SEF 로더와 인터프리터, 내장 라이브러리, 실행 환경으로 구성되어 있다. 실행 환경에서는 메모리를 관리하고 예외를 처리하며 스레드 스케줄러를 통해 멀티스레딩 기능을 제공 한다.