• 제목/요약/키워드: 자바가상기계

검색결과 86건 처리시간 0.025초

자바 클래스 파일 실행 분석기 (Java Class File Execution Simulator)

  • 박상필;고광만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 가을 학술발표논문집 Vol.30 No.2 (1)
    • /
    • pp.262-264
    • /
    • 2003
  • 자바 언어에 대한 클래스 파일은 소스 프로그램의 의미를 자바 가상 기계에서 실행가능한 형식으로 변환된 형태이다. 이러한 클래스 파일의 구조 및 실질적인 실행 과정에 대한 분석은 디컴파일러 구성, 소스프로그램의 디버깅 등에 편리성을 지원할 수 있다. 본 논문에서는 이러한 클래스 파일에 대한 분석 및 실제로 실행 과정을 보다 시각적으로 표현하기 위한 실행 과정 분석기에 관한 연구이다. 이를 위해 클래스파일을 내용을 GUI 환경에서와 같이 접근 및 표현이 용이하도록 구현하였으며 이러한 클래스 파일의 실행 과정에서 핵심 정보를 저장하고 있는 메소드 영역 정보, 오퍼란드 스택 정보, 지역 변수의 정보를 시각적으로 표현하였다.

  • PDF

자바 클래스 파일에 대한 시각화 실행 분석기 (Visualized Execution Analyzer for the Java Class File)

  • 고광만
    • 정보처리학회논문지A
    • /
    • 제11A권5호
    • /
    • pp.319-324
    • /
    • 2004
  • 자바 언어는 빠른 속도로 인터넷 및 분산 응용 분야 등에서 활용되고 있으며 단순히 응용 소프트웨어를 개발할 수 있는 프로그래밍 언어이상으로 활용 범위가 확대되고 있다. 특히, 실행 환경인 자바 가상 기계에 연관되어 다양한 연구가 진행되고 있으며 자바 클래스 파일에 대한 분석 및 응용 분야에 적합한 형태로 정보를 활용할 수 있는 다양한 시도가 진행되고 있다. 자바 언어에 대한 클래스 파일은 소스 프로그램의 의미를 자바 가상 기계에서 실행 가능한 형식으로 변환된 형태이다. 이러한 클래스 파일의 구조 및 실질적인 실행 과정에 대한 분석은 디컴파일러 구성, 소스 프로그램의 디버깅 등에 편리성을 지원할 수 있다. 본 논문에서는 이러한 클래스 파일에 대한 분석을 비롯하여 실제로 실행되는 과정을 보다 시각적으로 표현하기 위한 실행 분석기 개발에 관한 연구이다 이를 위해 클래스 파일의 내용을 GUI 환경에서와 같이 접근 및 표현이 용이하도록 구현하였다. 클래스 파일이 포함하고 있는 정보들을 Constant_Pool 부분, Class_file 부분, Interface 부분, Field 부분, Method 부분, Attribute 부분으로 나뉘어서 나타내도록 해주었다. 또한 클래스 파일의 실행 과정에서 핵심 정보를 저장하고 있는 메소드 영역 정보, 오퍼란드 스택 정보, 지역 변수의 정보를 시각적으로 표현하였다.

자바 반복문의 에너지 효율성 (Energy Efficiency of Iteration Statement in Java)

  • 양희재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2005년도 추계종합학술대회
    • /
    • pp.816-819
    • /
    • 2005
  • 자바 프로그램의 실행 환경인 자바가상기계에서는 거의 모든 바이트코드들이 메모리 상에서의 자료 이동을 필요로 한다. 자료 이동은 에너지 소비를 일으키므로 이것의 최소화는 JVM의 에너지 효율성 향상에 매우 중요하다. 특히 자바 반복문은 반복 회수에 비례하는 양만큼의 자료 이동을 요구하므로 JVM의 에너지 효율을 높이기 위해서는 무엇보다도 자바 반복문의 에너지 효율을 높이는 것이 중요하다. 본 논문에서는 자바 반복문을 바이트코드 수준에서 분석하여 에너지 효율성을 높일 수 있는 여러 방법들을 제안하였다.

  • PDF

내장형 리눅스 상에서의 퍼스널자바 플랫폼의 개발 (PersonalJavaTM on the Embedded Linux)

  • 성민영;김태현;김소영;김광영;김형수;장래혁;신현식
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (3)
    • /
    • pp.91-93
    • /
    • 2000
  • 자바는 플랫폼 독립성, 높은 보안 수준, 멀티 쓰레드 지원 등의 다양한 장점을 가진 언어로서 인터넷 응용에서 이제 차세대 내장형 시스템을 위한 실행 환경으로 기대를 모으고 있다. 특히 퍼스널자바는 셋톱박스나 PDA 등의 내장형 응용을 위해 경량화된 자바 가상 기계로서 현재 다양한 운영체제 및 하드웨어에 활발히 이식되고 있다. 본 논문은 내장형 시스템을 위한 플랫폼으로서 내장형 리눅스상에서의 퍼스널자바 수행 환경을 제안하고 그 개발 내용을 기술한다. 내장형 리눅스는 기존 상용 실시간 운영체제에 비해 비용이 매우 저렴하며 소스 코드가 공개되어 있어 다양한 수준의 수정 및 개발이 가능하다는 장점을 가진다. 본 논문에서는 이러한 내장형 리눅스에 퍼스널자바를 이식함에 있어 구축된 개발 환경 및 이식에 적용된 개발 방법과 내용을 소개한다.

  • PDF

내장형 리눅스 환경의 전자책 리더 용 자바 클래스 라이브러리 개발 (evelopment of Java Class Library For E-Book Reader Systems on Embedded Linux Environment)

  • 이은정;조수선
    • 정보처리학회논문지A
    • /
    • 제8A권4호
    • /
    • pp.399-410
    • /
    • 2001
  • 본 논문에서는 리눅스 환경에서의 전자책 리더를 위한 자바 라이브러리 Xeni의 개발을 소개한다. Xeni는 XML 기반의 전자책 표준을 따르는 컨텐츠를 해석하여 랜더링하는 기능과 전자책의 네비게이션 및 북마크 기능 등을 제공하는 API 라이브러리다. 본 라이브러리는 내장형 리눅스 기반의 기기에서 동작하는 자바 가상 기계 환경을 목표로 하여, 자바 언어로 개발하였다. 개발된 라이브러리의 설계와 구조를 소개하고 이 라이브러리를 이용하여 구현된 전자책 리더의 구현 예를 살펴본다.

  • PDF

메모리가 제한적인 자바가상기계에서의 지역 재사용 (Reusing Local Regions in Memory-limited Java Virtual Machines)

  • 김태인;김성건;한환수
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제34권6호
    • /
    • pp.562-571
    • /
    • 2007
  • 많은 연구들을 통해 수행 속력, 효율성, 용이성, 안전성을 위하여 메모리 관리 기법들을 개선시켰다. 그러한 방법들 중에서 지역별 메모리 관리 기법은 각각의 객체 할당 위치에서 따라 정해진 지역에 할당 시키고 그 지역이 제거된다면 그 곳에 할당된 모든 객체의 메모리를 반환하는 방법이다. 본 논문에서는 메모리 제약적인 환경에서 힙 메모리 사용량을 줄이기 위해 로컬 지역을 재사용하는 방법을 제시한다. 기본 아이디어는 현재 함수가 수행될 동안 사용하지 않는 상위 로컬 지역을 재사용하는 것이다. 이러한 방법을 사용함으로써 메모리 제약적인 환경에서 메모리의 한계를 극복할 수 있을 것이다.

자바 클래스 파일에 대한 시각화 브라우저의 설계 및 구현 (Design and Implementation of the Visualized Browser for Java Class File)

  • 윤영수;박상필;고광만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 봄 학술발표논문집 Vol.30 No.1 (B)
    • /
    • pp.157-159
    • /
    • 2003
  • 자바 언어는 빠른 속도로 인터넷 및 분산 응용 분야 등에서 활용되고 있으며 단순히 응용 소프트웨어를 개발할 수 있는 프로그래밍 언어 이상으로 활용 범위가 확대되고 있다. 특히, 실행 환경인 자바 가상 기계 에 연관되어 다양한 연구가 진행되고 있으며 자바 클래스 파일에 대한 분석 및 응용 분야에 적합한 형태로 정보를 활용할 수 있는 다양한 시도가 진행되고 있다. 본 연구에서도 자바 클래스 파일에 대한 분석을 보다 편리하게 진행하고 클래스 파일이 갖는 정보에 대한 접근을 용이하게 할 수 있는 클래스 파일에 대한 시각화 브라우저를 설계하고 구현하였다. 본 연구에서는 새로운 기술적인 방법론은 없지만 구현된 시각화 브라우저를 활용하여 클래스 파일에 대한 정보 접근 및 분석을 용이하게 할 수 있다.

  • PDF

바이트코드 수정을 통한 자바 애플릿보안 (Java Applet Security by Bytecode Modification)

  • 박상길;노봉남
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.166-168
    • /
    • 2000
  • 자바가상기계(JVM : Java Virtual Machine)는 실행전에 바이트코드를 확인하는 바이트코드 검증기와 실행환경에서 점검하는 바이트코드 인터프리터를 포함한다. 자바 애플릿은 서비스 거부 공격이나, 사용자를 속이기 위한 조작한 링크 정보를 상태바에 보인다거나, 전자메일을 위조하여 보내는 등의 사용자에 유해한 행위를 할 수 있다. 웹브라우저를 통해 유해한 행동을 하는 클래스에 대해 사전에 바이트코드 수정을 통하여 안전한 클래스로 대체한다. 바이트코드 수정에는 클래스 수준 수정과 메소드 수준 수정이 있다. 클래스 수준 수정은 자바의 상속성을 이용하고. final 클래스나 인터페이스처럼 상속되지 않는 클래스는 메소드 수준에서 바이트 코드 수정을 한다. 메소드 수준 수정은 바이트코드 명령과 Constant Pool을 수정한다. 바이트 코드 수정을 적용하면 웹서버, 클라이언트, 브라우저에 대해 어떠한 별도의 작업도 필요없이 프락시 서버에서 유해클래스를 Safe 클래스로 수정한 후 브라우저에 보인다.

  • PDF

내장형 자바가상기계를 위한 클래스 파일 변환기의 설계 및 구현 (Design and Implementation of a Class Pile Converter for Embedded Java Virtual Machine)

  • 지정훈;양희재
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2003년도 봄 학술발표논문집 Vol.30 No.1 (A)
    • /
    • pp.67-69
    • /
    • 2003
  • 자바는 서로 다른 종류의 컴퓨터 시스템에서 동일하게 동작하는 플랫폼 독립적인 특성을 가지고 있다. 자바가 상기계(JVM)는 클래스 파일을 읽어 들여 인터프리팅하여 실행한다. 보조기억장치가 없는 내장형 시스템에서는 메모리에 클래스 파일이 위치하는데 클래스 파일에는 디버깅등의 목적으로 사용하는 정보와 클래스, 상수, 필드, 메소드 둥의 정보들을 포함하고 있기 때문에 내장형 시스템에서 사용하기에 적합하지 않다. 본 논문에서는 클래스 파일을 변환하여 내장형 시스템에서 시스템의 효율적인 자원 사용과 성능을 향상시킬 수 있도록 클래스 파일을 변환 해주는 도구인 cls2bin을 설계 및 구현하였다. c1s2bin은 클래스 파일에서 동작에 필요하지 않은 정보들을 제거하고 인터프리팅 될 수 있는 새로운 이미지(bin) 파일을 생성한다 cls2bin의 동작과정과 bin 파일 포맷을 살펴봄으로서 내장형 시스템에서 효율적인 자원사용과 내부정보의 접근 방법을 고찰하였으며 그 결과로 내장형 자바 시스템에서의 개선된 클래스 파일의 형태를 정의하고자 한다.

  • PDF

재목적 Oolong-to-SIL 중간 언어 번역기 (Retargetable Oolong-to-SIL IL Translator)

  • 권혁주;김영근;이양선
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2004년도 춘계학술발표대회논문집
    • /
    • pp.310-313
    • /
    • 2004
  • 자바는 컴파일러에 의해 아키텍처 독립적인 바이트코드로 구성된 바이너리 형태의 클래스 파일을 생성하면 JVM에 의해 하드웨어와 운영체제에 상관없이 실행이 가능한 플랫폼 독립적인 언어로 현재 가장 널리 사용되는 범용 프로그램 언어중 하나이다. EVM(Embedded Virtual Machine)은 Microsoft사의 .NET 언어와 SUN사의 Java 언어등을 모두 수용할 수 있는 임베디드 시스템을 위한 가상기계이며, SIL(Standard Intermediate Language)은 EVM에서 실행되는 중간언어로 다양한 프로그래밍 언어를 수용하기 위해서 객체지향 언어와 순차적 언어를 모두 수용하기 위한 연산 코드 집합을 갖고 있다. 본 논문에서는 자바 프로그램을 EVM에서 실행 될 수 있도록 자바 프로그램을 컴파일하여 생성된 클래스 파일로부터 Oolong 코트를 추출하고 추출된 Oolong 코드를 EVM의 SIL 코드로 변환하는 Oolong-to-SIL 번역기 시스템을 구현하였다. 번역기 시스템을 정형화하기 위해 Oolong 코드의 명령어 등을 문법으로 작성하였으며, PGS를 통해 생성된 어휘 정보를 가지고 스캐너를 구성하였고, 파싱테이블을 가지고 파서를 설계하였다 파서의 출력으로 AST가 생성되면 번역기는 AST를 탐색하면서 의미적으로 동등한 SIL 코드를 생성하도록 번역기 시스템을 컴파일러 기법을 이용하여 모듈별로 구성하였다. 이와 같이 번역기를 구성함으로써 목적기계의 중간언어 형태에 따라 중간언어 번역기를 자동으로 구성할 수 있어 재목적성(Retargetability)을 높일 수 있다.

  • PDF