• 제목/요약/키워드: 자바클래스파일

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

simpleRTJ 클래스 파일의 형식 분석 (Analysis of the simpleRTJ Class File Format)

  • 양희재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2002년도 추계종합학술대회
    • /
    • pp.373-377
    • /
    • 2002
  • 내장형 시스템은 데스크톱 시스템과 달리 메모리 사용상 큰 제한을 받는다. 자바 프로그램 실행을 위해서는 클래스 파일들이 메모리 상에 배치되어져야 하는데, 클래스 파일은 내부에 상수풀, 클래스 정보, 필드 정보, 그리고 메소드 정보 등을 갖는다. 이 정보들 중 어떤 것들은 디버깅 등의 목적으로 사용되며 또 어떤 것들은 실제 프로그램 실행을 위해 사용되어진다. 본 연구에서는 내장형 자바 시스템을 위한 클래스 파일들의 내부 정보, 즉 형식에 대해 분석해보고, 그것이 메모리 상에 배치되었을 때 요구되어지는 메모리의 양 둥을 해당 정보별로 조사해보았다. 실험은 원천코드가 공개되어져있는 상용제품인 simpleRTJ 내장형 자바 시스템에 대해 이루어졌다.

  • PDF

JSize: 유닉스의 size에 대응하는 자바 등가 프로그램 (JSize: A Java Equivalent of the UNIX size program)

  • 양희재
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2003년도 추계종합학술대회
    • /
    • pp.548-551
    • /
    • 2003
  • JSize 는 유닉스 운영체제의 size 프로그램에 대응하는 자바 등가 프로그램이다. 유닉스 size 프로그램은 실행 파일을 분석하여 그 파일이 메모리에 적재되었을 때 얼마 정도의 코드와 데이터 영역을 차지할지를 예측하게 한다. 마찬가지로 JSize 는 자바 클래스 파일을 분석하여 그 파일이 메모리에 적재되었을 때 얼마 정도의 클래스 영역 메모리를 차지할지를 예측하게 하는 기능을 갖는다. 본 논문은 클래스 파일을 분석하여 얻은 정보로부터 클래스 영역의 크기를 예측할 수 있게 하는 원리에 대해 소개한다. 아울러 실험을 통해 JSize 의 예측 정확성을 실제로 알아보았다.

  • PDF

simpleRTJ 임베디드 자바가상기계의 ROMizer 분석 연구 (Analysis of the ROMizer of simpleRTJ Embedded Java Virtual Machine)

  • 양희재
    • 정보처리학회논문지A
    • /
    • 제10A권4호
    • /
    • pp.397-404
    • /
    • 2003
  • 전용 목적의 임베디드 자바 시스템은 일반적으로 프로그램을 이루는 모든 클래스 파일들이 호스트 컴퓨터 상의 ROMiaer에 의해 하나의 ROM 이미지로 변형되고, ROM에 적재된 이미지를 임베디드 시스템의 자바가상기계가 실행하는 모델을 따른다. 제한된 크기의 메모리 자원과 낮은 성능의 프로세서를 갖는 임베디드 시스템에서는 이 ROM 이미지를 어떤 형식으로 정의하는가 하는 것이 매우 중요하다. 그 형식에 따라 원래의 클래스 파일보다 휠씬 적은 크기의 메모리 만으로도 전체 클래스 정보를 담을 수 있게 되며, 또한 클래스 내부 정보에 신속하게 접근할 수 있게 되기 때문이다. 본 논문에서는 simpleRTJ라고하는 임베디드 자바가상기계에서 구현된 ROMizer와, 특히 그것이 생성하는 RON 이미지의 형식에 대해 분석해보았다. 분석 결과 ROMizer는 원래 클래스 파일에 비해 절반 이상의 메모리 절감 효과를 얻게 하며, 최대 6배 이상의 속도로 클래스 내부 정보를 접근할 수 있게 하는 것으로 밝혀졌다. 이 연구의 결과는 ROM 기반의 임베디드 자바 시스템을 위한 보다 효율적인 ROMizer 의 개발에 적용되어질 수 있을 것으로 기대된다.

자바 클래스 보호를 위한 워터마크 변경방지 (Tamper-Resistance of Watermark for Java Class Protect inn)

  • 조익;이수현
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 봄 학술발표논문집 Vol.29 No.1 (B)
    • /
    • pp.346-348
    • /
    • 2002
  • 자바는 플랫폼 독립적이라는 장점을 가지고 있지만, 쉽게 역-컴파일 하여 소스코드를 얻을 수 있기 때문에 악의 있는 사용자가 개발자의 모듈과 알고리즘, 데이터 구조를 쉽게 얻을 수 있고 불법 사공이 가능하다. 본 논문에서는 자바 클래스를 보호하기 위하여 소프트웨어에 저작권을 삽입하는 워터마킹 기술과 소스코드 변경을 방지하는 변경확인 기술 및 역-컴파일을 어렵게 하는 난독 기술을 적용한 클래스 단위의 자바 클래스 보호 시스템을 제안한다. 제안 시스템은 워터마크에 대만 왜곡 공격에 강하고, 워터마크에 변경확인 기술을 적용하여 워터마크의 변경을 방지하였다.

  • PDF

자바 플랫폼 지니 기반 소형 자바가상기계의 설계 및 구현 (Design and Implementation of small sized)

  • 정준영;최원호;김도우;조증보;유홍식;정민수
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2001년도 춘계학술발표논문집
    • /
    • pp.37-41
    • /
    • 2001
  • 모바일 인터넷 시대가 열리면서 언제, 어디서든지 네트워크에 연결될 수 있는 휴대용 디지털 기기의 인터넷에 대한 관심이 증대되고 있다. 모바일 단말기에서의 자바 플랫폼 기반 지니 홈네트워크 접속은 자바 기술의 특성을 가장 잘 살린 컴퓨팅 환경이다. 지니를 지원하기 위해서는 자바 가상 기계라는 소프트웨어가 실행을 하고 있는 환경이어야 하고 RMI를 지원해야 하는데 Java2ME의 K-자바 가상 기계는 이를 지원하지 못한다. 본 논문에서는 Java2ME CLDC를 기반으로 지니에 접속할 수 있는 자바 가상 기계에 대해 논의하였다. 지니 KVM 은 각 모바일 단말기에 맞는 프로그램을 하지 않아도 되는 환경을 제공 할 뿐만 아니라, 표준 자바 클래스 파일 포맷과 CLDC 클래스 파일을 지원하고, 지니에 접속할 수 환경을 제공함으로써, 모바일 단말기의 본격적인 네트워킹을 할 수 있도록 한다.

  • PDF

바이트코드 최적화기 (The Bytecode Optimizer)

  • 이야리;홍경표;오세만
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제30권1_2호
    • /
    • pp.73-80
    • /
    • 2003
  • 자바언어는 인터넷 및 분산 환경 시스템에서 효과적으로 응용 프로그램을 개발할 수 있도록 설계된 프로그래밍 언어로써 객제지향 패러다임 특성 및 다양한 개발 환경을 지원하고 있다. 그러나, 자바는 클래스 파일이 이동하여 JVM 환경에서 인터프리팅 되는 시스템이므로, 성능의 저하 없이 실행되기 위해서는 효율적인 최적화와 실행 시스템이 요구된다. 본 논문은 네트워크 상에서 동적으로 다운로드 되는 클래스 파일을 바이트코드 수준에서 최적화하였다. 최적화된 바이트코드들이 인터프리팅 되는 시스템에서 적은 네트워크 로드를 가지고 실행할 수 있도록 하며, 효율적인 실행 속도를 보이도록 하는 것이다. 본 논문에서 구현된 바이트코드 최적화기에서는 내부적으로 바이트코드 최적화기와 클래스 파일 생성기를 이용하여 실행시간을 개선하고 전체 클래스 파일의 크기를 줄이게 된다. 바이트코드 최적화기는 바이트코드를 클래스사이의 계층 분석과 제어 흐름의 분석을 통하여 클래스들간의 연관 관계를 분석한 후 그래프를 구성하고, 패턴 탐색 결과 기본 블록 분리를 통하여 전역 최적화를 이루고, 기본 블록 안에서의 연산강도 경감, 그리고 도달할 수 없는 코드 블록의 제거를 수행한다. 바이트코드 최적화 단계를 수행한 클래스 파일은 부분적으로 클래스 파일의 최적화를 가져와 전체 클래스 파일의 크기를 줄이고, 인터프리터를 통하여 실행될 때 수행 속도 면에서 좀더 빠른 실행속도를 가지게 된다.

Java 클래스파일 비주얼 분석기의 구현 (A Design and Implementation of Java Class File Visual Analyzer)

  • 김진광;박우전
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (1)
    • /
    • pp.332-334
    • /
    • 2000
  • 본 논문에서는 자바 컴파일러에 의해 컴파일된 결과인 클래스파일을 효과적으로 분석할 수 있기 위한 비주얼 분석기의 구현에 대해 기술한다. 이 비주얼 분석기는 클래스파일의 모든 세부사항들을 시각적으로 표현하며 원하는 분석 결과를 저장할 수 있게 되어 프로그램의 이해 및 개발을 도와준다. 이 분석기의 구현에서 JDK1.3을 이용하였으며 화면구성은 JBuilder3.0을 사용한다.

  • PDF

루프 바이트코드의 정의를 통한 자바가상머신의 성능 개선 (A Definition of Loop Byteocode for Performance Improvement of Java Virtual Machine)

  • 이지현;윈희선;문경덕;김영국
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2002년도 추계학술발표논문집 (중)
    • /
    • pp.1387-1390
    • /
    • 2002
  • 자바가상머신은 플랫폼에 독립적인 실행을 위해서 바이트코드라고 하는 스택(stack) 기반의 가상 기계어를 사용하므로 실행 속도가 느리다는 단점이 있다. 특히 루프문을 포함하는 자바프로그램을 자바가상머신에서 수행 시키면 루프에 관련된 몇 개의 동일한 바이트코드가 루프의 실행 횟수만큼 반복적으로 인터프리트해서 수행하므로 상당한 성능 저하를 유발한다. 본 논문에서는 이런 비효율적인 성능상의 문제점을 개선하기 위해 루프를 수행하는 새로운 바이트코드를 정의 및 구현하고, 이를 실제 클래스 파일에 적용하기 위한 코드 변경 절차와 방법을 제시한다. 제안된 바이트코드를 사용해서 루프의 처리 속도를 개선할 경우, 클래스 파일의 크기를 줄일 수 있을 뿐만 아니라 간단한 성능 평가를 통해서 자바가상머신의 성능 개선 효과를 확인할 수 있다.

  • PDF

JUnit과 JTestCase 프레임워크에 기반한 데스트 데이터 및 코드 생성 도구 (Test Data and Code Generation Tool based on JUnit and JTestCase Framework)

  • 이유정;최승훈
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2002년도 가을 학술발표논문집 Vol.29 No.2 (2)
    • /
    • pp.106-108
    • /
    • 2002
  • 신뢰성있는 소프트웨어의 개발을 위해 테스트의 중요성은 매우 크다. 특히, 최근에 점진적이고 반복적인 소프트웨어 개발 방법론이 각광을 받으면서 소프트웨어의 잦은 변경에 따른 회귀 테스트의 중요성이 점점 커지고 있다. 이에 따라 단위 데스트의 자동화에 대한 연구가 활발히 진행되고 있다. JUnit은 자바 클래스의 단위 레벨 테스팅을 도와 주는 테스트 지원 프레임워크이다. 또한, JTestCase는 테스트 데이터와 테스트 코드를 분리함으로써, 데이터 중심 테스팅(data-driven testing)을 지원하기 위해 개발된 JUnit 확장 프레임워크이다. 본 논문에서는, 이 두 개의 테스트 프레임워크와 자바 리플렉션 API를 이용하여, 하나의 클래스 파일을 읽어 들여 XML 형태의 테스트 데이터 파일과 테스트 드라이버 코드를 자동생성하는 도구를 제안한다. 그리고, 구체적인 예를 통해 본 논문에서 제안하는 도구의 유용성을 보여준다. 본 논문의 데스트 도구는 회귀 단위 테스트에 필요한 노력을 줄여주고, 자바 클래스 단위 테스트를 지원하는 도구 개발의 기반 기술을 제공하며, 궁극적으로 소프트웨어 개발의 생산성을 향상시켜 준다.

  • PDF

자바 애플릿 보안을 위한 역컴파일 방지 기법에 관한 연구 (A Study on the protection technique of a Applet decompilation in Java Environment)

  • 손태식;서정택;장준교;김동규
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 가을 학술발표논문집 Vol.27 No.2 (1)
    • /
    • pp.626-628
    • /
    • 2000
  • Java는 간결하고 객체 지향적이며 플랫폼 독립적으로 실행 가능한 특성을 지니고 있어, 웹 상에서의 증대된 표현능력과 유연성을 제공해 왔다. 하지만 이렇게 개방적이고 넓은 수용 가능성은 보안에 있어 많은 위협 취약점을 발생시키게 한다. 특히 현재 네트웍을 통해 널리 사용되는 애플릿은 그 자체가 사용자의 시스템에 전송되어 실행되므로, 만일 악의의 사용자가 그 애플릿 파일을, 역 컴파일러를 사용해 소스 코드를 얻어낸다면, 애플릿 서비스를 하는 시스템 및 네트웍에 대한 보안 문제 및 경제적 피해는 물론이고, 애플릿 개발자 및 다른 사용자들에게 있어 많은 문제를 일으킬 수 있다. 따라서 본 논문에서는 현재 자바 애플릿 역컴파일에 의한 보안 취약성 및 문제점을 진단하고, 거기에 대처할 수 있는 대응 기법에 대한 연구를 통해 보다 나은 자바 애플릿 역컴파일 방지 기법을 제시하려고 한다. 본 논문에 제안된 방법은 역컴파일 방지를 위해 클래스 파일에 혼란 코드를 삽입하는 방법으로서, 그 기법 및 사용 방법을 제시하고 역컴파일 방지 도구의 모델을 제안한다. 또한 앞으로의 연구는 여기서 제안된 자바 애플릿 역컴파일 방지 도구 모델의 세부적 구현으로 진행되어야 하겠다.

  • PDF