1 |
1
입력되는 소스코드로부터 교차 실행 정보를 검출하는 정보 추출 모듈;상기 정보 추출 모듈에서 검출한 상기 교차 실행 정보를 근거로 상기 소스코드에 추적코드 및 동적 스레드 관리자 클래스를 추가하는 추적코드 추가 모듈;상기 추적코드 추가 모듈에서 추적코드 및 동적 스레드 관리자 클래스가 추가된 상기 소스코드에 포함된 스레드를 분할하여 교차실행 블록을 설정하는 교차실행 설정 모듈;상기 교차실행 설정 모듈에서 설정된 상기 교차실행 블록을 실행하는 실행 모듈;상기 실행 모듈에서 실행된 상기 교차실행 블록에서 오류가 발생하면 상기 교차실행 블록에 추가된 추적코드에서 출력되는 로그 정보 및 상기 교차실행 블록의 정보를 저장하는 추적정보 수집 모듈; 및상기 추적정보 수집 모듈에서 저장된 로그 정보 및 소스코드를 근거로 오류 정보를 저장하는 소스코드 매칭 모듈을 포함하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
2 |
2
청구항 1에 있어서,상기 정보 추출 모듈은,상기 소스코드로부터 공유 변수, 공유 스레드 클래스, 공유 변수 읽기문 및 쓰기문, 사용자 추가 어설트(assert)문, 동기화 블록을 포함하는 교차 실행 정보를 검출하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
3 |
3
청구항 1에 있어서,상기 추적코드 추가 모듈은,상기 교차 실행 정보에 포함된 공유 변수 읽기문 및 쓰기문의 전후, 공유 변수를 포함한 동기화 블록의 전후에 추적코드를 추가하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
4 |
4
청구항 1에 있어서,상기 추적코드는,타임스템프, 실행중인 스레드 아이디, 실행 코드가 속한 클래스 이름 및 메소드 이름, 동기화 블록의 아이디, 접근하는 변수 이름, 변수 접근 모드를 포함하는 로그 정보를 출력하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
5 |
5
청구항 1에 있어서,상기 추적코드 추가 모듈은,설정된 스레드를 등록하는 메소드, 설정된 스레드 정보를 삭제하는 메소드, 설정된 스레드를 정지하는 메소드, 설정된 스레드 이외의 스레드 동작 재개를 요청하는 메소드를 포함하는 동적 스레드 관리자 클래스를 상기 소스코드에 추가하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
6 |
6
청구항 5에 있어서,상기 추적코드 추가 모듈은,상기 소스코드에 포함된 스레드의 동작함수의 맨 처음에 설정된 스레드를 등록하는 메소드를 추가하고, 상기 동작함수의 맨 마지막에 설정된 스레드 정보를 삭제하는 메소드를 추가하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
7 |
7
청구항 1에 있어서,상기 교차실행 설정 모듈은,상기 스레드의 동작함수를 모두 포함하는 최대 레벨의 교차실행 블록으로 설정하고, 상기 설정된 최대 레벨의 교차실행 블록의 실행 결과를 근거로 상기 설정된 교차실행 블록을 분할하여 복수의 교차실행 블록을 재설정하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
8 |
8
청구항 7에 있어서,상기 교차실행 설정 모듈은,상기 설정된 교차실행 블록의 실행시 오류가 발생하지 않으면 상기 교차실행 블록을 최소 레벨 이상의 레벨을 갖는 복수의 교차실행 블록으로 재설정하고,상기 교차실행 블록을 하나의 공유 변수 읽기문 또는 사용자 추가 어설트문을 포함하는 교차실행 블록을 최소 레벨의 교차실행 블록으로 설정하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
9 |
9
청구항 1에 있어서,상기 교차실행 설정 모듈은,상기 교차실행 블록의 맨 처음에 상기 교차실행 블록의 공유 변수를 사용하는 다른 스레드를 대기상태로 변경하는 코드를 추가하고, 상기 교차실행 블록의 맨 마지막에 상기 대기상태로 변경된 스레드를 재수행시키는 코드를 추가하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
10 |
10
청구항 1에 있어서,상기 소스코드 매칭 모듈은,오류 발생 상황 및 위치를 포함하는 오류 정보를 저장하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 장치
|
11 |
11
정보 추출 모듈에 의해, 입력되는 소스코드로부터 교차 실행 정보를 검출하는 단계;추적코드 추가 모듈에 의해, 상기 검출하는 단계에서 검출한 교차 실행 정보를 근거로 상기 소스코드에 추적코드 및 동적 스레드 관리자 클래스를 추가하는 단계;교차실행 설정 모듈에 의해, 상기 추가하는 단계에서 추적코드 및 동적 스레드 관리자 클래스가 추가된 소스코드에 포함된 스레드를 분할하여 교차실행 블록을 설정하는 단계;실행 모듈에 의해, 상기 설정하는 단계에서 설정된 교차실행 블록을 실행하는 단계;추적정보 수집 모듈에 의해, 상기 실행하는 단계에서 실행된 교차실행 블록에서 오류가 발생하면 상기 교차실행 블록에 추가된 추적코드에서 출력되는 로그 정보 및 상기 교차실행 블록의 정보를 저장하는 단계; 및상기 소스코드 매칭 모듈에 의해, 상기 로그 정보 및 상기 교차실행 블록의 정보를 저장하는 단계에서 저장된 로그 정보 및 소스코드를 근거로 오류 정보를 저장하는 단계를 포함하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|
12 |
12
청구항 11에 있어서,상기 교차 실행 정보를 검출하는 단계에서는,상기 정보 추출 모듈에 의해, 상기 소스코드로부터 공유 변수, 공유 스레드 클래스, 공유 변수 읽기문 및 쓰기문, 사용자 추가 어설트(assert)문, 동기화 블록을 포함하는 교차 실행 정보를 검출하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|
13 |
13
청구항 11에 있어서,상기 추적코드 및 동적 스레드 관리자 클래스를 추가하는 단계에서는,상기 추적코드 추가 모듈에 의해, 상기 교차 실행 정보에 포함된 공유 변수 읽기문 및 쓰기문의 전후, 공유 변수를 포함한 동기화 블록의 전후에 추적코드를 추가하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|
14 |
14
청구항 11에 있어서,상기 추적코드는,타임스템프, 실행중인 스레드 아이디, 실행 코드가 속한 클래스 이름 및 메소드 이름, 동기화 블록의 아이디, 접근하는 변수 이름, 변수 접근 모드를 포함하는 로그 정보를 출력하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|
15 |
15
청구항 11에 있어서,상기 추적코드 및 동적 스레드 관리자 클래스를 추가하는 단계에서는,상기 추적코드 추가 모듈에 의해, 설정된 스레드를 등록하는 메소드, 설정된 스레드 정보를 삭제하는 메소드, 설정된 스레드를 정지하는 메소드, 설정된 스레드 이외의 스레드 동작 재개를 요청하는 메소드를 포함하는 동적 스레드 관리자 클래스를 상기 소스코드에 추가하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|
16 |
16
청구항 15에 있어서,상기 추적코드 및 동적 스레드 관리자 클래스를 추가하는 단계에서는,상기 추적코드 추가 모듈에 의해, 상기 소스코드에 포함된 스레드의 동작함수의 맨 처음에 설정된 스레드를 등록하는 메소드를 추가하고, 상기 동작함수의 맨 마지막에 설정된 스레드 정보를 삭제하는 메소드를 추가하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|
17 |
17
청구항 11에 있어서,상기 교차실행 블록을 설정하는 단계에서는,상기 교차실행 설정 모듈에 의해, 상기 스레드의 동작함수를 모두 포함하는 최대 레벨의 교차실행 블록으로 설정하고, 상기 설정된 최대 레벨의 교차실행 블록의 실행 결과를 근거로 상기 설정된 교차실행 블록을 분할하여 복수의 교차실행 블록을 재설정하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|
18 |
18
청구항 17에 있어서,상기 교차실행 블록을 설정하는 단계에서는,상기 교차실행 설정 모듈에 의해, 상기 설정된 교차실행 블록의 실행시 오류가 발생하지 않으면 상기 교차실행 블록을 최소 레벨 이상의 레벨을 갖는 복수의 교차실행 블록으로 재설정하고, 상기 교차실행 블록을 하나의 공유 변수 읽기문 또는 사용자 추가 어설트문을 포함하는 교차실행 블록을 최소 레벨의 교차실행 블록으로 설정하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|
19 |
19
청구항 11에 있어서,상기 교차실행 블록을 설정하는 단계에서는,상기 교차실행 설정 모듈에 의해, 상기 교차실행 블록의 맨 처음에 상기 교차실행 블록의 공유 변수를 사용하는 다른 스레드를 대기상태로 변경하는 코드를 추가하고, 상기 교차실행 블록의 맨 마지막에 상기 대기상태로 변경된 스레드를 재수행시키는 코드를 추가하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|
20 |
20
청구항 11에 있어서,상기 오류 정보를 저장하는 단계에서는,상기 소스코드 매칭 모듈에 의해, 오류 발생 상황 및 위치를 포함하는 오류 정보를 저장하는 것을 특징으로 하는 멀티코어용 병렬 프로그램의 동시성 오류 검출 방법
|