• 제목/요약/키워드: Java Multi-thread Program

검색결과 3건 처리시간 0.015초

Java 다중 스레드 프로그램을 위한 오토마타 기반 테스팅 환경의 설계 및 구현 (The Design and Implementation of Automata-based Testing Environments for Multi-thread Java Programs)

  • 서희석;정인상;김병만;권용래
    • 한국정보과학회논문지:소프트웨어및응용
    • /
    • 제29권12호
    • /
    • pp.883-894
    • /
    • 2002
  • 고전적인 결정적 테스팅 방법은 명세와 프로그램의 동치 관계를 기반으로 병행 프로그램의 수행 경로를 제어한다. 따라서, 주어진 시퀀스를 직접 구현하지 않고, 그와 의미적으로 동일한 다른 시퀀스를 구현한 프로그램에 대해서는 결정적 테스팅 방법을 적용하기 어렵다. 이를 해결하기 위해서, 우리는 테스트 시퀀스와 의미적으로 동일한 모든 시퀀스들을 허용하는 동치 집합 오토마타를 이용한 오토마타 기반 테스팅 방법을 제안하였었다. 이 논문에서는 Java 다중 스레드 프로그램에 대한 오토마타 기반 테스팅 환경을 제안하고, 테스팅 환경 내의 테스트 수행 지원 도구를 설계하고 구현하는 방법을 제안한다. 테스트 수행 지원 도구에서는 주어진 Java 다중 스레드 프로그램을 오토마타 기반의 결정적 테스팅 방법이 적용된 프로그램으로 변환하고, 이 변환된 프로그램을 수행함으로써 테스트의 결과를 알 수 있다. 이를 위해서 테스트 수행 지원 도구 내에서 동치 집합 오토마타를 생성하는 오토마타 생성기와 프로그램의 수행을 제어하기 위한 재연 제어기를 설계하고 구현한다. 그리고, 가스 충전소 예제를 이용하여 오토마타 기반의 결정적 테스팅의 과정 및 효과를 기술한다.

자바 프로그래밍에서 병렬처리를 위한 중첩 루프 구조의 다중스레드 변환 (Transform Nested Loops into MultiThread in Java Programming Language for Parallel Processing)

  • 황득영;최영근
    • 한국정보처리학회논문지
    • /
    • 제5권8호
    • /
    • pp.1997-2012
    • /
    • 1998
  • 병렬 시스템에서 순차 자바 프로그램을 재 사용할 수 있기 위해서는 자바 프로그램 내에 존재하는 병렬성을 찾아내는 것이 중요하다. 자바 프로그램을 병렬 시스템에서 실행할 경우 루프는 전체 수행 시간 중 많은 부분을 차지하므로 병렬성 검출의 기본이 되지만 데이터 종속으로 인하여 완전한 병렬 수행을 쉽게 이룰 수 없다. 따라서, 본 논문은 기존의 중첩 루프 구조를 갖는 자바 프로그래밍에서 데이터 종속성 분석에 의한 종속 그래프를 구성하여 묵시적 병렬성을 검출하는 방법을 제안한다. 또한 재구성 컴파일러에 의하여 자바 원시 프로그램을 자바 프로그래밍 언어 자체에서 지원하는 다중스레드 기법으로 변환하여 병렬 시스템에서 실행하는 방법을 제안한다. 스레드 문장으로 변환된 프로그램에 대해 루프의 반복계수와 스레드 수를 매개변수로 하여 성능 분석을 하였다. 재구성 컴파일러에 의한 장점은 사용자의 병렬성 검출에 대한 오버해드를 줄이고, 순차 자바 프로그램에 대한 효과적인 병렬성 검출을 가능하게 하여 병렬 시스템에서 실행 시간을 단축할 수 있다.

  • PDF

SMT 해결기를 이용한 자바 메모리 모델 시뮬레이션 (Java Memory Model Simulation using SMT Solver)

  • 이태훈;권기현
    • 한국정보과학회논문지:컴퓨팅의 실제 및 레터
    • /
    • 제15권1호
    • /
    • pp.62-66
    • /
    • 2009
  • 많은 컴파일러는 속도를 높이기 위해서 최적화를 수행한다. 최적화의 결과로 프로그램의 구문이 변경된다. 단일 스레드 소프트웨어에서는 변경된 구문이 영향을 받지 않지만 멀티스레드 소프트웨어에서는 변경된 구문 때문에 예상하지 못한 실행 결과가 발생할 수 있다. 멀티 스레드자바 소프트웨어는 스레드들 간에 메모리를 통한 상호작용을 자바 메모리 모델을 통해서 명세 한다. 자바 메모리 모델은 자바언어의 표준 메모리 모델이다. 하지만 현재까지 나와 있는 어떠한 자바 모델 체킹 도구도 자바 메모리 모델을 지원하지 않는다. 본 논문에서는 자바 메모리 모델을 지원하는 모델 체킹 도구를 개발하기 위해서 자바 메모리 모델을 지원하는 시물레이터를 많은 모델 체킹 도구에서 사용되는 SMT 기반으로 구현했다. SMT 기반 메모리 모델 시뮬레이터는 기존의 메모리 모델 시뮬레이터에서 몇분이 걸리는 계산 결과를 1초 이내에 계산하였다. 또한 이를 통해 기존 소프트웨어 모델 체킹에서 표현할 수 없는 실행 결과를 빠르게 표현할 수 있다.