• 제목/요약/키워드: 자바 프로그램

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

자바 언어를 위한 중간 언어 번역기 (Intermediate Language Translator for Jave Language)

  • 정지훈;박진기;이양선
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 2003년도 추계학술발표대회(하)
    • /
    • pp.537-540
    • /
    • 2003
  • 자바와 .NET 언어는 프로그래머들이 프로그램을 개발하는데 가장 널리 사용되고 있는 언어이다. 프로그래머가 작성한 자바 프로그램은 JVM 플랫폼에서는 실행이 되지만 .NET 플랫폼에서 실행이 되지 않고, 반대로 C#과 같은 .NET 언어로 작성한 프로그램은 .NET 플랫폼에서는 실행이 되지만 JVM 플랫폼에서 실행이 되지 않는다. 그러므로 자바 프로그래머는 .NET 플랫폼 환경에 맞추어 프로그래밍하지 못하고, .NET 프로그래머는 JVM 플랫폼 환경에 맞추어 프로그래밍하지 못하는 단점이 있다. 본 논문에서 연구한 Bytecode-to-MSIL 번역기는 위의 단점을 해결한 것이다. 먼저 자바로 작성된 프로그램을 컴파일하여 생성된 클래스 파일(*.class)로부터 Oolong 역어셈블러를 이용하여 Oolong 코드를 추출한다. 추출된 Oolong 코드를 본 논문에서 연구한 Bytecode-to-MSIL 번역기로 .NET의 중간언어인 MSIL 코드로 변환하여 .NET 어셈블러로 실행파일을 만들어 자바 언어로 구현된 프로그램이 .NET 환경에서도 실행될 수 있도록 한다. 따라서, 자바 프로그래머나 .NET 프로그래머는 JVM 이나 .NET 플랫폼 환경에 관계없이 프로그램을 작성하여 실행시킬 수 있다.

  • PDF

자바 문장 형식이 프로그램 실행시간에 미치는 영향 (Effect of Java Statement Types on Program Execution Time)

  • 양희재
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2005년도 추계학술발표대회 및 정기총회
    • /
    • pp.1467-1470
    • /
    • 2005
  • 다른 고수준 언어와 마찬가지로 자바도 할당문, 연산문, 조건문, 반복문, 호출문 등의 문장 형식을 갖는다. 자바의 모든 문장 형식은 바이트코드로 변환되어 자바가상기계 상에서 실행된다. 스택 기반 구조를 갖는 자바가상기계에서 각 문장의 실행은 필연적으로 자료 이동을 요구하며, 자료 이동은 메모리 접근을 필요로 하므로 프로그램 실행 시간에 직접적 영향을 미친다. 본 논문에서는 각각의 자바 문장 형식이 어느 정도의 메모리 접근을 요구하며, 프로그램 실행 시간에는 어떤 영향을 미치는지를 분석하였다. 이 연구의 결과는 자바 프로그래머에게 프로그램 실행 시간면에서 보다 효율적인 프로그램 작성을 할 수 있도록 도와 줄 것이다.

  • PDF

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

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

  • PDF

자바 프로그램을 위한 효율적인 디버깅 방법 (A Efficient Debugging Method for Java Programs)

  • 고훈준;유원희
    • 한국산업정보학회:학술대회논문집
    • /
    • 한국산업정보학회 2002년도 춘계학술대회 논문집
    • /
    • pp.170-176
    • /
    • 2002
  • 자바 언어는 다양한 플랫폼과 다양한 분야에서 사용되고 있는 대표적인 객체지향 언어이다. 자바 언어는 객체지향의 특징 때문에 전통적인 절차지향 언어 보다 프로그램의 구조가 단순하다. 그러나 복잡한 자바 프로그램을 디버깅하는 일은 쉽지 않다. 디버깅은 항상 소프트웨어 발전의 많은 비용이 드는 부분이다. 자바 프로그램의 구문 오류는 현재 디버깅 시스템에 의해서 쉽게 발견된다. 그러나 자바 프로그램에 포함된 논리적인 오류는 발견하기가 어렵다. 자바 프로그램을 위한 기존의 디버깅 기술은 절차지향언어에서 사용하는 순차적인 방법을 사용하고 있다. 불행히도, 이 전통적인 방법들은 종종 특별한 프로그램의 오류를 찾는데 적당하지 않다. 이는 프로그램의 크기가 커지고 복잡해짐에 따라 디버깅하는데 걸리는 시간이 프로그램을 개발하는 시간의 많은 부분을 차지하게 된다. 디버거 사용자가 자바 프로그램 내에 포함되어 있는 오류를 쉽게 찾아내는 일은 효율적인 소프트웨어 개발에서 매우 중요하다. 본 논문에서는 사용자가 자바프로그램을 좀 더 빠르게 디버깅을 할 수 있도록 알고리즈믹 디버깅 방법을 적용한다. 알고리즈믹 디버깅 방법은 함수의 호출관계를 실행 트리로 구성하고 이를 검사하여 에러가 포함 되어 있는 함수를 발견하는 방법이다. 따라서 기존의 순차적인 방법보다 디버깅하는 횟수를 줄일 수 있다.

  • PDF

모델 체킹을 위한 자바프로그램의 술어추상화 (Predicate Abstraction of Java Program for Model Checking)

  • 이정림;이태훈;권기현
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2005년도 가을 학술발표논문집 Vol.32 No.2 (2)
    • /
    • pp.325-327
    • /
    • 2005
  • 모델 체킹은 시스템이 올바르게 동작하는 지를 자동으로 검증해주는 기법이다. 지금까지 모델 체킹은 방법의 특성상 상태폭발문제 때문에 작은 규모의 상태공간을 갖는 하드웨어나 프로토콜 검증에 주로 사용되어져 왔다. 그러나 최근에는 상태폭발문제를 다루기 위한 연구와 술어추상화 등과 같은 추상화기술의 발달로, 다를 수 있는 상태공간의 크기가 증가하고 정리증명기의 성능이 향상됨에 따라 소프트웨어 자체의 논리적 오류를 검증하려는 움직임이 활발하다. 일반적으로 소프트웨어 검증을 위해 추상화-모델 체킹-추상화 개선의 3단계 프로세스를 사용하는데 주로 C프로그램에 대해서만 이루어져 왔다. 우리는 이 프로세스를 자바프로그램에 적용하고 자동으로 자바프로그램을 이진프로그램으로 변환하는 술어추상화 모듈을 개발하였다. 이 모듈은 우리가 개발한 자바 모델 체커의 front-end부분이다. 본 논문에서는 자바프로그램에 대한 주요 추상화 알고리즘을 보이고 특정 자바프로그램의 안전성과 궁극성을 검증한다.

  • PDF

자바스크립트 완벽 활용

  • 황희정
    • 디지털콘텐츠
    • /
    • 4호통권47호
    • /
    • pp.46-49
    • /
    • 1997
  • 이번호부터는 홈페이지에 보다 다양한 기능을 가능하게 해주는 자바스크립트에 대해 자세한 내용을 다루도록 한다. 지금부터 준비하는 자바스크립트에 대한 강좌는 프로그램에 대해 특별한 경험이 없는 독자들을 대상으로 프로그램에 대한 기본적인 마인드와 자바스크립트의 핵심적인 구조 및 활용까지를 다루어 볼 것이다.

  • PDF

자바 성능 분석기의 설계 및 구현 (Design and Implementation of the Java's Performance Analyzer)

  • 이종동;정민수;이재동;박규석
    • 한국멀티미디어학회:학술대회논문집
    • /
    • 한국멀티미디어학회 1998년도 추계학술발표논문집
    • /
    • pp.20-25
    • /
    • 1998
  • 본 논문은 자바의 성능을 분석하기 위한 것이다. 실행 중인 자바의 프로그램의 메쏘드에서 메쏘드가 속한 클래스, 바이트코드 정보와 메쏘드의 호출관계, 호출 횟수, 실행 시간, 메모리 사용에 관한 정보를 분석하여 시각화 도구를 통하여 그 결과를 쉽게 알 수 있도록 구현하였다. 자바 성능 분석기의 분석을 통하여 프로그램 개발자는 프로그램의 성능에 문제를 일으키는 부분을 개선시켜 보다 나은 성능의 프로그램 개발할 수 있다.

  • PDF

자바 프로그램을 위한 복합 디버깅 시스템의 설계 (Design of Hybrid Debugging System for Java Programs)

  • 고훈준
    • 한국콘텐츠학회논문지
    • /
    • 제9권1호
    • /
    • pp.81-88
    • /
    • 2009
  • 기존 연구에서는 자바 프로그램에서 논리적인 오류를 찾기 위한 기술로 HDTS를 제안했었다. HDTS는 알고리즈믹 프로그램 디버깅 기술을 이용하여 실행트리에서 오류를 포함하고 있는 메소드를 찾고, 단계적 프로그램 디버깅 기술을 이용하여 오류를 포함하고 있는 메소드에서 오류가 있는 문장을 찾아낸다. 그리고 분할 기술을 이용하여 오류를 포함하고 있는 메소드 내의 문장 중에서 디버깅에 관련이 없는 문장과 실행트리에서 불필요한 노드를 제거하여 노드의 수를 줄임으로서 사용자가 디버깅하는 횟수를 최소화할 수 있는 프로그램 디버깅 기술이다. 본 논문은 자바 프로그램을 디버깅할 수 있는 HDTS 시스템을 구현하기 위한 설계를 한다. 먼저, 자바의 부분언어를 정의하고 자바 원시 코드를 번역할 수 있는 번역기와 실행할 수 있는 가상머신을 설계한다. 그리고 사용자가 디버깅하기 위한 사용자 그래픽 인터페이스를 설계한다.

분산환경에서 병렬프로그램 재실행을 위한 자바 디버거 (A Java Debugger for Replaying Parallel Programs on a Distributed Environment)

  • 최동순;김남훈;김명호
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2000년도 봄 학술발표논문집 Vol.27 No.1 (A)
    • /
    • pp.657-659
    • /
    • 2000
  • 네트워크 처리속도의 증가로 네트워크 컴퓨팅 환경에서의 작업이 늘고 있다. 플랫폼 독립성이라는 특성을 내세운 자바는 일반적인 이 기종간의 네트워크에서의 프로그래밍 언어로 많이 이용되고 있다. 그리고 이러한 네트워크 컴퓨팅 환경에서 병렬 프로그램 디버깅의 어려움으로 인해 자바 병렬 프로그램을 위한 디버거의 필요성이 요구되고 있다. 기존의 디버거들은 이런 병렬 환경에서의 디버깅을 각 프로세서에 하나의 순차디버거를 붙인 디버깅 환경을 제공한다. 그러나 병렬 프로그램은 순차프로그램과 다른 재실행시의 비결정적인 특성을 가지고 있음으로 일반적인 순차 디버거를 이용한 디버깅은 의미가 없다. 본 논문에서는 자바로 구현된 네트워크 컴퓨터(JaNeC)에서 병렬프로그램을 디버기하기 위하여 재실행 시 실행 순서를 보장하는 자바 디버거를 소개한다.

  • PDF

분산된 컴퓨팅 환경을 위한 자바 동기화 (Java Synchronization for Distributed Computing Environment)

  • 이상윤
    • 한국정보과학회:학술대회논문집
    • /
    • 한국정보과학회 2004년도 가을 학술발표논문집 Vol.31 No.2 (3)
    • /
    • pp.391-393
    • /
    • 2004
  • 자바는 쓰레드 상호간의 동기를 프로그래밍 언어 자체의 기능으로 제공하고 있으므로 자바가 제공하는 동기화 메커니즘과 쓰레드는 병행처리를 수행하는 응용프로그램을 작성하는데 상당한 역할을 담당할 수 있다. 이에 따라, 병행처리와 관련된 자바의 기능을 분산된 컴퓨팅 환경에 적용하기 위한 많은 연구결과가 있다. 본 연구팀 에서는 자바 프로그램의 객체변환을 통하여 분산된 컴퓨팅 환경에서 동작하도록 지원하는 시스템을 발표한 바 있으나 분산처리와 관련된 기능을 지원하는 것으로 제한되었다. 병행처리를 수행하는 레거시 자바 프로그램을 분산된 컴퓨팅 환경에서 동작시키기 위하여 TORB(Transparent Object Request Broker)라고 명명된 이 시스템의 기능 확장을 시도하고 있으며 관련된 많은 문제들을 해결하였다. 본 논문에서는 서로 다른 컴퓨터에서 동시에 동작하는 자바 쓰레드간의 동기문제를 해결하기 위한 방안을 제시한다. 이는 단일 컴퓨팅 환경에서의 자바 동기화 메커니즘과 동일한 효과를 분산된 컴퓨팅 환경에서 얻을 수 있도록 지원하는 방안이며 TORB를 위하여 고안된 것이다.

  • PDF