• 제목/요약/키워드: 인터프리터

검색결과 88건 처리시간 0.027초

자바 클래스 파일 최적화 (Java Class File Optimization)

  • 홍경표;이야리;오세만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 봄 학술발표논문집 Vol.28 No.1 (A)
    • /
    • pp.55-57
    • /
    • 2001
  • 자바언어는 이질적인 네트워크 환경에서 프로그램 개발이 적합하도록 설계된 언어이다. 자바언어의 특징은 소프트웨어를 쉽게 개발하는데 유용한 것은 사실이지만, 성능상 제약이 따르게 된다. 즉 자바는 클래스 파일이 이동하여 JVM 환경에서 인터프리팅 되는 시스템이므로, 클래스 파일이 이동하며 실행되는 동안의 성능의 저하 없이 자바의 특징을 이용하려면 복잡한 최적화와 실행 시스템이 요구된다. 본 논문은 네트워크 상에서 동적으로 다운로드 되는 클래스 파일의 최적화에 있다. 클래스 파일이 인터프리팅 되는 시스템이 보다 적은 네트워크 로드를 가지고 실행할 수 있도록 하며, 효율적인 실행 속도를 보이도록 하는 것이다. 여기서는 Class Field Optimizer는 내부적으로 Bytecode Optimizer와 ClassGen을 이용하여 실행시간을 개선하고 전체 클래스 파일의 크기를 줄이게 된다. Bytecode Optimizer는 peephole 최적화를 수행하고, bytecode 의존적 최적화, 그리고 전역최적화를 행하게 된다. ClassGen은 클래스 파일의 포맷에 따라 bytecode를 분석하고 본래의 클래스 파일보다 작은 크기의 클래스 파일을 생성하게 된다. 최적화된 클래스 파일은 부분적으로 클래스 파일의 최적화를 가져와 전체 클래스 파일의 크기를 줄이고, 인터프리터를 통하여 실행될 때 수행 속도면에서 좀더 빠른 실행 속도를 가지게 된다.

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

  • 김지민;김기태;조선문;유원희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 추계학술발표논문집(상)
    • /
    • pp.433-436
    • /
    • 2004
  • 자바 언어는 객체지향 언어로써 인터프리터에 의하여 실행되고 구조 중립적이다. 자바 언어는 인터프린트 과정을 거치므로 다른 언어에 비해서 실행이 느리다는 단점을 가지고 있다. 자바 바이트코드의 실행 비용을 줄이기 위한 연구의 일환으로 본 논문에서는 자바 바이트코드 최적화기인 CTOC 중에서 스택기반 코드를 받아 들여 스택을 사용하지 않는 3-주소 코드로 변화시키는 CTOC-TR의 설계에 대하여 논한다. CTOC-TR은 총 3단계를 변환 과정을 수행하는데 첫 단계에서는 타입 없는 3-주소코드를 생성한다. 두 번째 단계에서는 스택변수와 지역변수를 나누는 과정을 수행하는데 이 과정은 타입을 정해주기 위해서 꼭 필요한 과정이다. 마지막으로 타입 추론 함수를 이용하여 나누어진 변수에 타입을 지정한다. 그 후 생성된 3-주소 코드를 분석기와 최적화기에 입력시켜 효율적인 3-주소 코드를 생성한다.

  • PDF

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

  • 김영국;조선문;김기태;유원희
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2004년도 추계학술발표논문집(상)
    • /
    • pp.445-448
    • /
    • 2004
  • 자바는 자바 가상기계를 사용해서 플랫폼에 독립적으로 사용할 수 있는 장점을 가진다. 그러나 자바가상머신은 인터프리터 방식을 이용하기 때문에 다른 컴파일언어에 비해서 수행속도가 느리다는 단점을 가진다. 이런 단점을 극복하기 위해서 많은 최적화나 JIT컴파일러 그리고 네이티브 코드로의 변환과 같은 연구들이 많이 연구되었다. 이전의 연구들은 한계성을 가지고 있어서 자바에서 수행시간의 문제는 지금도 문제로 남아있다. 이전의 문제점 해결의 극복의 대안으로 바이트코드를 최적화하는 프레임워크인 CTOC를 설명하고, CTOC에서 사용하는 중간코드로 사용하는 3-주소형식의 CTOC-T를 바이트코드로 변환하고, CTOC-T에서 바이트코드형식으로 변환할 때 생기는 과다한 load/store의 문제점을 해결한다.

  • PDF

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

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

  • PDF

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

  • 오형석;문수묵
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(C)
    • /
    • pp.540-544
    • /
    • 2010
  • 모바일 환경에서 웹 브라우저 활용이 늘어나고 웹 페이지를 통한 다양한 서비스가 제공되면서 브라우저에서의 자바스크립트 성능이 중요한 요소가 되었다. 자바스크립트 엔진의 성능 개선을 위해 기존에 사용하던 인터프리터 대신에 머신 코드를 실행 시간에 생성하는 적시 컴파일러(JITC)가 도입되었다. 특히 모바일 환경에서 WebKit의 자바스크립트 엔진인 SquirrelFish Extreme(SFX)이 많이 사용되고 있다. 본 논문에서는 SFX의 성능 향상을 위하여 적시 컴파일러를 통해 생성된 머신 코드를 파일 시스템을 활용하여 파일에 저장하였다가 재사용하는 클라이언트 AOTC(ahead-of-time compilation) 방식을 제시하고 초기 실험 결과를 제시한다.

  • PDF

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

  • 김재진;정동헌;김수현;문수묵
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2010년도 한국컴퓨터종합학술대회논문집 Vol.37 No.1(C)
    • /
    • pp.560-565
    • /
    • 2010
  • 가상 머신은 중간코드로 컴파일 되어 한 프로그램을 여러 플랫폼에서 수행 가능하게 한다. 이러한 가상 머신에는 이미 널리 알려진 썬 마이크로시스템즈의 자바 가상 머신과 구글의 안드로이드 플랫폼의 달빅 가상 머신 그리고 애플이 지원하는 LLVM 등이 있으며, 파이어폭스의 TraceMonkey, 구글 크롬의 v8, 사파리의 SquirrelFish Extreme 같은 자바스크립트 엔진도 일종의 가상 머신으로 볼 수 있다. 가상 머신은 필연적으로 성능 저하를 동반하게 되는데, 이는 가상 머신의 주요 이슈 중 하나이다. 본 논문에서는 간단한 벤치마크를 통해서 이들 가상 머신간의 성능을 비교하고, 각 가상 머신의 특징을 알아본다. LLVM은 여러 단계에 걸친 컴파일 전략으로 JIT 컴파일을 사용하였을 때 높은 성능을 보이나 JIT 컴파일을 사용하지 않았을 경우는 매우 낮은 성능을 보인다. 달빅 가상 머신은 인터프리터 모드에서 자바 가상 머신 보다 조금 나았으나, 아직 개발된 지 얼마 되지 않아 JIT 컴파일러가 없다는 것이 약점이다. 자바스크립트 엔진들은 동적 언어인 자바스크립트를 지원하는 특성상 최적화를 적용하지 못해 비교적 낮은 성능을 보였다.

  • PDF

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

  • 김병은;이경록;손윤식;이양선
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2013년도 추계학술발표대회
    • /
    • 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)

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

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

  • 조진호;박양훈;박광철;최선오
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2020년도 추계학술발표대회
    • /
    • pp.362-365
    • /
    • 2020
  • PowerShell은 닷넷 프레임 워크에 기반을 둔, 커맨드 라인 인터페이스 및 스크립트 언어의 특징을 가진 Microsoft의 명령어 인터프리터로, 이를 내장한 Windows 운영체제 점유율의 증가와 강력한 기능으로 PowerShell을 이용한 공격은 계속 증가하고 있다. 이연구에서는 딥러닝을 사용하여 악성코드를 효과적으로 탐지하는 방법과, 이에 필요한 시퀀스 데이터 추출의 방법을 찾아내는 것에 목적이 있다.

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

  • 하오 선;임기욱;남지은;이재호;한태숙
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2007년도 추계학술발표대회
    • /
    • 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.