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

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

폴트 삽입 방식을 통한 자바 가상 기계의 강건성 테스팅(Robustness Testing) 기법 (Robustness Testing of Java Virtual Machine using fault injection)

  • 이성민;김상운;강제성;권용래
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 봄 학술발표논문집 Vol.31 No.1 (B)
    • /
    • pp.355-357
    • /
    • 2004
  • Java의 경우 기존의 강건성 테스팅 방법인 ballista로는 객체 타입의 인자 및 파일 시스템의 변화를 시뮬레이션 할 수 없다. 따라서 객체에 대한 특별한 접근을 필요로 한다. 본 논문에서는 객체에 폴트를 삽입하는 방식을 통하여 자바 가상 기계의 강건성(Robustness)을 테스팅하는 방법을 제안한다. 자바 디버깅 툴인 JPDA를 사용하여 자바 가상 머신에 대한 직접적인 접근 및 의도한 상태 및 환경 변경을 가능하게 하고 이를 통해 자바 가상 기계에 폴트가 심어진 객체를 수행시킬 수 있다. 객체를 수행시키고 의도한 예외상황의 발생 유무를 관찰함으로써 자바 가상 기계의 강건성을 테스트 할 수 있다.

  • PDF

스마트 카드기반의 자바카드 가상기계 최적화연구 (A Study On the Optimization of the Java Card Virtual Machine Based SmartCard)

  • 황욱철;양윤심;권오형;최원호;김도우;정민수
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2001년도 추계학술발표논문집
    • /
    • pp.374-377
    • /
    • 2001
  • Java Card 플랫폼을 내장한 스마트 카드는 현재의 스마트 카드에 적용되는 모든 표준을 따르는 전형적인 스마트 카드인데, 자바카드 플랫폼의 장정을 최대한 이용하기 위해 적용할 기술은 메모리 측면에서 보면 사용할 수 있는 자원이 적어 다양한 용도로 사용에 있어 제한적이다. 따라서 본 논문에서는 적은 메모리 자원을 가지고 보다 효율적이고 최적화된 성능을 가지는 자바플랫폼을 지원하기 위해 자바 플랫폼의 성능에 핵심이 되는 자바 카드 가상기계(JCVM)의 성능최적화 방안에 대한 방법을 제시하고자 한다.

  • PDF

코드 삽입을 이용한 힙 사용량 분석기 (Heap Consumption Analyzer Using Code Embedding)

  • 주성용;조장우
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2006년도 가을 학술발표논문집 Vol.33 No.2 (B)
    • /
    • pp.566-570
    • /
    • 2006
  • 프로그램의 힙 사용량이나 수행 시간과 같은 프로그램의 동적인 속성을 분석하기 위해서 프로파일러가 이용된다. 자바에서는 가상기계와 프로파일러의 통신을 목적으로 JVM TI 같은 프로파일러를 위한 인터페이스를 제공한다. 그러나 자바 가상기계 구현 명세는 프로파일러 인터페이스 구현을 요구하지 않는다. 프로파일러 인터페이스를 구현하지 않는 자바 가상기계에서는 JVM TI를 사용하는 프로파일러를 이용할 수 없다. 본 논문에서는 프로파일러 인터페이스를 사용하지 않는 힙 사용량 분석 기법을 제안했다. 이 방법은 힙 사용 정보를 추출하기 위한 코드를 소스파일에 삽입한다. 이 방법은 힙 사용량 분석 시 자바에서 제공하는 인터페이스를 사용하지 않기 때문에, 표준 인터페이스를 구현하지 않는 가상기계에서도 힙 사용 정보 분석을 수행할 수 있다.

  • PDF

코드삽입을 이용한 자바프로그램의 힙 사용정보 분석기법 (A Technique to Analyze Heap Usage of Java Programs Using Code Inserting)

  • 주성용;조장우
    • 한국컴퓨터정보학회논문지
    • /
    • 제12권2호
    • /
    • pp.29-36
    • /
    • 2007
  • 자바에서는 가상기계와 프로파일러의 통신을 목적으로 JVM TI 같은 프로파일러 인터페이스를 제공한다. 그러나 자바 가상기계 구현명세는 프로파일러 인터페이스 구현을 요구하지 않는다. 따라서 프로파일러 인터페이스를 제공하지 않는 자바 가상기계에서는 JVM TI를 사용하는 프로파일러는 이용할 수 없다. 이러한 문제를 해결하기 위해서 코드 삽입 기법을 이용해서 프로파일러 인터페이스를 사용하지 않고 힙 사용정보를 분석하는 기법을 제안한다. 제안한 방법을 검증하기 위해서 코드 삽입기를 구현하였다. 실험은 공개되고 자주 사용되는 자바 응용 프로그램을 대상으로 하였고, 실험결과는 대상 프로그램에서 생성된 객체의 수와 최대 할당된 객체의 수 그리고 객체의 사용형태를 보여준다.

  • PDF

Java Bytecode에서 MSIL로의 번역기 (Translator for Java Bytecode to MSIL)

  • 민정현;오세만
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2001년도 가을 학술발표논문집 Vol.28 No.2 (1)
    • /
    • pp.349-351
    • /
    • 2001
  • 자바는 객체지향언어이고, 한번 자바로 작성된 프로그램은 자바가상기계가 있는 모든 곳에서 수정없이 실행될 수 있기 때문에 소프트웨어의 개발과 유지보수에 많은 장점을 가진 언어이다. 이러한 특징으로 인하여 현재 개발되는 제품들이 자바로 개발되는 경우가 많다. 그러나 이는 결국 주 운영체제에서 사용되는 실행화일 이외에 자바의 실행화일만을 위한 자바가상기계가 공존해야 하므로 시스템에 있어서는 이중부담을 안을 수 밖에 없고, 더욱이 아직 대다수의 소프트웨어 개발자들은 주로 C언어나 C++언어를 사용하고 있으며, 최근에는 C#이라는 언어를 사용하고 있다. 결국 자바가 플랫폼에 독립적이라는 장점은 가지고 있지만, 다수의 개발자가 마이크로소프트의 윈도우 운영 체제를 사용하고 있다는 점을 감안하면, 커다란 장점만은 될 수 없다. 따라서, 본 논문에서는 자바의 클래스화일을 자바가상기계가 없이도, 마이크로소프트 윈도우의 .NET Framework에서 실행 될 수 있는 실행 화일로의 변환을 할 수 있는 중간언어인 MSIL(Microsoft Intermediate Language)로 바꿀 수 있는 번역기를 설계 및 구현 하였다. 이를 위한 방법으로는 자바 바이트코드와 MSIL의 어셈블리 형태에서의 명령어 매칭과정을 명령어들의 매핑테이블을 이용하여 변환하였고, MSIL에서 자바 바이트코드의 함수와 같은 기능을 하는 메소드의 변환을 위하여 마크로 변환 기법을 사용하였다.

  • PDF

재설계된 자바 클래스 파일을 위한 가상기계의 설계 및 구현 (Design and Implementation of the Virtual Machine for the Redesigned Java Class File)

  • 고광만
    • 정보처리학회논문지A
    • /
    • 제12A권3호
    • /
    • pp.229-234
    • /
    • 2005
  • 가상 기계(Virtual Machine; VM)는 언어에 대한 장치 독립성 및 플랫폼 독립성을 지원하는 프로그래밍 실행 환경이다. 현재까지 자바 언어를 위해 JVM, KVM 등이 다양한 환경에서 사용되고 있으며 유사한 가상 기계가 개발되어 활용되고 있다. 본 논문에서는 자바 클래스 파일(*.class)에서 PDA와 같은 소규모 장치에서 반드시 필요한 요소를 추출하고 실행 효율성을 위해 클래스 파일의 포맷을 재구성한 클래스 파일(*.rclass)을 설계하고 변환기를 개발하였다. 또한 재설계된 클래스 파일을 입력으로 받아 실행 결과를 생성하는 가상기계를 구현하였다.

전형적 자바 프로그램에서 필드의 사용 형태 (Field Usage Pattern in Typical Java Programs)

  • 양희재
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (1)
    • /
    • pp.865-867
    • /
    • 2005
  • 자바 프로그램은 클래스의 집합으로 이루어지며 클래스는 필드와 메소드로 구성된다. 필드는 힙 메모리에 저장되므로 필드의 사용 형태는 힙 메모리의 사용 형태에 직접적인 영향을 미친다. 즉 자바 힙 메모리의 사용을 분석하기 위해서는 필드의 사용 형태를 분석해야 한다는 것이다. 본 논문에서는 전형적 자바 프로그램에서 필드가 어떻게 사용되어지는지를 정성적으로 분석하고 실험을 통해 확인하였다. 본 연구의 결과는 자바가상기계의 힙 메모리 구조 개발에 도움을 줄 것이며, 나아가 효율적인 자바가상기계의 개발을 가능하게 할 것으로 기대된다.

  • PDF

동적 컴파일링 기법을 이용한 소형 자바 가상 기계의 설계 (Design of A Miniature Java Virtual Machine Using Dynamic Compiling)

  • 김도우;정민수;진민;이은정
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 1999년도 가을 학술발표논문집 Vol.26 No.2 (1)
    • /
    • pp.406-408
    • /
    • 1999
  • 썬에 의해 자바 플랫폼이 소개된 후, 자바 기술은 네트워크 상에 연결된 장치들이 선택할 수 있는 하나의 플랫폼으로 자리를 잡았다. 그래서 자바 기술을 자원 제약적인 네트워크 디바이스 및 디지털 전자기기에 적용하고자 하는 연구가 계속해서 진행 중이다. 본 논문에서는 자바 가상 기계를 소형화할 수 있는 기법들을 연구 분석하고, 처리 능력이나 메모리의 크기에 제약이 있는 디바이스들에 사용 가능하고, 동적 컴파일링 기법을 적용하여 실행 효율을 높일수 있는 소형 자바 가상 기계를 설계하고자 한다.

  • PDF

디스크 캐쉬 기법을 이용한 자바 가상 세계의 성능 향상 (Performance Enhancement of Java Virtual Machine using Disk Cache Mechanism)

  • 강정욱;김철기;이준원
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.92-94
    • /
    • 2000
  • 자바는 이동성, 호환성, 안정성을 위해서 자바 가상 기계를 이용한 수행 방법을 사용한다. 이는 수행 속도를 저하 시키는 한 요인이다. 그래서, 정적 컴파일 모델과 동적 컴파일 모델과 같은 자바 가상 세계의 성능을 높이기 위한 여러 연구들이 진행되었다. 정적 컴파일 모델은 자바의 특성을 해치며, 동적 컴파일 모델은 초기화 시간이 증가하는 문제점이 있다. 본 논문에서는 디스크 캐쉬 기법을 이용하여 동적 컴파일 모델에서 발생하는 초기화 시간을 줄이는 자바 가상 기계를 구현하였다. SPEC JVM98[1]을 이용하여 Kaffe[2] 와 비교했을 때, 초기화 시간이 2배에서 5배 정도 줄었음을 알 수 있었다.

  • PDF

simpleRTJ 자바가상기계의 메모리 관리 기법 (Memory Management Scheme of the simpleRTJ lava Virtual Machine)

  • 양희재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2003년도 춘계종합학술대회
    • /
    • pp.237-240
    • /
    • 2003
  • 효율적 메모리 관리는 자바가상기계의 핵심 조건 중 하나이다. 자바에서는 새로운 인스턴스가 생성되거나 메소드가 호출될 때마다 메모리의 할당이 이루어진다. 반면 더 이상 사용되지 않는 인스턴스를 위한 메모리는 자동적으로 회수되며, 호출된 메소드가 복귀될 때마다 메모리도 회수된다. 본 논문에서는 특히 simpleRTJ 자바가상기계에서 적용된 메모리 관리기법에 대해 연구하였다. simpleRTJ는 모든 인스턴스의 크기를 동일하게, 또한 메소드 호출 시 생성되는 스택 프레임의 크기를 모두 동일하게 통일한다는 특징을 갖는다. 우리는 simpleRTJ에서 적용된 이 기법에 대해 상세히 고찰해 보며 이 기법의 성능에 대해서 정성적 분석을 하였다.

  • PDF