• Title/Summary/Keyword: 자바 가상기계

Search Result 86, Processing Time 0.024 seconds

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

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

  • PDF

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

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

  • PDF

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

  • Joo, Seong-Yong;Jo, Jang-Wu
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2006.10b
    • /
    • pp.566-570
    • /
    • 2006
  • 프로그램의 힙 사용량이나 수행 시간과 같은 프로그램의 동적인 속성을 분석하기 위해서 프로파일러가 이용된다. 자바에서는 가상기계와 프로파일러의 통신을 목적으로 JVM TI 같은 프로파일러를 위한 인터페이스를 제공한다. 그러나 자바 가상기계 구현 명세는 프로파일러 인터페이스 구현을 요구하지 않는다. 프로파일러 인터페이스를 구현하지 않는 자바 가상기계에서는 JVM TI를 사용하는 프로파일러를 이용할 수 없다. 본 논문에서는 프로파일러 인터페이스를 사용하지 않는 힙 사용량 분석 기법을 제안했다. 이 방법은 힙 사용 정보를 추출하기 위한 코드를 소스파일에 삽입한다. 이 방법은 힙 사용량 분석 시 자바에서 제공하는 인터페이스를 사용하지 않기 때문에, 표준 인터페이스를 구현하지 않는 가상기계에서도 힙 사용 정보 분석을 수행할 수 있다.

  • PDF

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

  • Joo, Seong-Yong;Jo, Jang-Wu
    • Journal of the Korea Society of Computer and Information
    • /
    • v.12 no.2 s.46
    • /
    • pp.29-36
    • /
    • 2007
  • In the Java a profiler interface such as JVM TI is provided for communication between a Java virtual machine and a profiler. The JVM TI specification, however does not require an implementation of a profiler interface. Consequently the JVM without an implementation of a profiler interface cannot use a profiler with the JVM TI. For solving the problem, we propose a technique which analyzes heap usage without a profiler interface. This technique inserts codes to extract heap usage into source files in the Java. We implemented a code inserter to verify the proposed technique. We experimented with Java programs that are frequently used and opened. the experimental result presents the number of created objects. the maximum number of allocated objects, and the used pattern of the objects.

  • PDF

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

  • 민정현;오세만
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10a
    • /
    • 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 (재설계된 자바 클래스 파일을 위한 가상기계의 설계 및 구현)

  • Ko Kwang-Man
    • The KIPS Transactions:PartA
    • /
    • v.12A no.3 s.93
    • /
    • pp.229-234
    • /
    • 2005
  • The virtual machine is a programming environment that supports device and platform independence. So far, virtual machines such as JVM and KVM have been used in a variety of environments for the Java language. Some virtual machines similar to them are also being developed and used. This paper Presents the experiences of extracting elements essential for small sized devices such as PDA from Java Class files(*.class) and designing a converted class file(*.rclass) for runtime efficiency by modifying its class file format and developing its translator. In addition, a virtual machine is developed to receive the translated class file entered and output the runtime results.

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

  • Yang, Hee-Jae
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2005.11a
    • /
    • pp.865-867
    • /
    • 2005
  • 자바 프로그램은 클래스의 집합으로 이루어지며 클래스는 필드와 메소드로 구성된다. 필드는 힙 메모리에 저장되므로 필드의 사용 형태는 힙 메모리의 사용 형태에 직접적인 영향을 미친다. 즉 자바 힙 메모리의 사용을 분석하기 위해서는 필드의 사용 형태를 분석해야 한다는 것이다. 본 논문에서는 전형적 자바 프로그램에서 필드가 어떻게 사용되어지는지를 정성적으로 분석하고 실험을 통해 확인하였다. 본 연구의 결과는 자바가상기계의 힙 메모리 구조 개발에 도움을 줄 것이며, 나아가 효율적인 자바가상기계의 개발을 가능하게 할 것으로 기대된다.

  • PDF

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

  • Kim, Do-Woo;Jung, Min-Soo;Jin, Min;Lee, Eun-Jung
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 1999.10a
    • /
    • pp.406-408
    • /
    • 1999
  • 썬에 의해 자바 플랫폼이 소개된 후, 자바 기술은 네트워크 상에 연결된 장치들이 선택할 수 있는 하나의 플랫폼으로 자리를 잡았다. 그래서 자바 기술을 자원 제약적인 네트워크 디바이스 및 디지털 전자기기에 적용하고자 하는 연구가 계속해서 진행 중이다. 본 논문에서는 자바 가상 기계를 소형화할 수 있는 기법들을 연구 분석하고, 처리 능력이나 메모리의 크기에 제약이 있는 디바이스들에 사용 가능하고, 동적 컴파일링 기법을 적용하여 실행 효율을 높일수 있는 소형 자바 가상 기계를 설계하고자 한다.

  • PDF

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

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

  • PDF

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

  • 양희재
    • Proceedings of the Korean Institute of Information and Commucation Sciences Conference
    • /
    • 2003.05a
    • /
    • pp.237-240
    • /
    • 2003
  • Efficient memory management is one of the most crucial requirement of lava virtual machine. In Java, memory is allocated everytime when a new instance of class is created or when a method is called. The allocated memory is freed when the instance is no longer used, or when the called method is returned. In this paper we have examined the memory management scheme applied to the simpleRTJ lava virtual machine. The simpleRTJ has such a distinguished characteristic in its memory management scheme that the size of all instances are forced to be the same and the size of stack frames of all methods be the same, respectively. We present in this paper the scheme thoroughly and analyze its anticipated performance qualitatively.

  • PDF