1 |
1
병렬 프로그램의 소스 코드로부터 분석에 필요한 정보를 추출하는 구문 분석부;공유 자원에 대한 정보를 저장하는 글로벌 메모리, 상기 공유 자원에 대한 접근 제어를 동기화하기 위한 정보를 저장하는 접근 제어 메모리 및 적어도 하나 이상의 동적으로 생성되는 워크 리스트- 상기 워크 리스트는 구문을 저장하는 구문 영역 및 상기 구문 영역의 구문의 실행 결과를 저장하는 메모리 영역을 포함함-를 포함하는 메모리부;상기 추출된 정보 및 상기 접근 제어 메모리의 값에 기초하여 상기 병렬 프로그램의 실행 흐름을 시뮬레이션 하여 상기 소스 코드 중 다음에 실행될 구문을 결정하고, 상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 구문 영역에 상기 결정된 구문을 추가하는 할일 관리부;상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 메모리 영역에 저장되어 있는 정보 및 상기 글로벌 메모리에 저장되어 있는 정보에 기초하여, 상기 결정된 구문을 기호 실행하고, 기호 실행한 결과를 상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 메모리 영역 또는 상기 글로벌 메모리에 저장하는 기호 실행부; 및상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 메모리 영역의 상태 및 상기 글로벌 메모리의 상태에 기초하여, 상기 소스 코드에서 문제를 일으킬 수 있는 결함에 관한 정보를 검출하는 결함 검출부를 포함하며,상기 기호 실행부는 상기 결정된 구문이 상기 공유 자원에 대한 접근 제어를 동기화하는 명령인 경우 상기 접근 제어 메모리의 정보를 갱신하는병렬 프로그램의 소스 코드 분석 장치
|
2 |
2
제 1 항에 있어서,상기 분석에 필요한 정보는상기 소스 코드의 라인 수, 상기 소스 코드의 위치 정보 및 상기 소스 코드의 구문 구조에 관한 정보 중 적어도 하나를 포함하는병렬 프로그램의 소스 코드 분석 장치
|
3 |
3
제 1 항에 있어서,상기 결함에 관한 정보는상기 소스 코드내의 상기 결함의 위치 정보, 상기 결함의 유형, 상기 결함의 원인에 관한 정보, 상기 결함이 발생하게 된 상기 소스 코드의 흐름에 관한 정보 중 적어도 하나를 포함하는병렬 프로그램의 소스 코드 분석 장치
|
4 |
4
제 1 항에 있어서,상기 글로벌 메모리는 전역 변수의 값 또는 동적으로 힙에 할당된 영역의 값을 저장하는병렬 프로그램의 소스 코드 분석 장치
|
5 |
5
제 1 항에 있어서,상기 접근 제어를 동기화하는 명령은 공유 자원 공간에 대한 접근 시간을 제어하는 명령인병렬 프로그램의 소스 코드 분석 장치
|
6 |
6
병렬 프로그램의 소스 코드로부터 분석에 필요한 정보를 추출하는 단계;상기 추출된 정보 및 공유 자원에 대한 접근 제어를 동기화하기 위한 정보에 기초하여 상기 병렬 프로그램의 실행 흐름을 시뮬레이션 하여 상기 소스 코드 중 다음에 실행될 구문을 결정하고, 상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트에 상기 결정된 구문을 추가하는 단계- 상기 워크 리스트는 구문을 저장하는 구문 영역 및 상기 구문 영역의 구문의 실행 결과를 저장하는 메모리 영역을 포함함-;상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 메모리 영역에 저장되어 있는 정보 및 글로벌 메모리에 저장되어 있는 상기 공유 자원에 대한 정보에 기초하여, 상기 결정된 구문을 기호 실행하고, 기호 실행한 결과를 상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 메모리 영역 또는 상기 글로벌 메모리에 저장하는 단계; 및상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 메모리 영역의 상태 및 상기 글로벌 메모리의 상태에 기초하여, 상기 소스 코드에서 문제를 일으킬 수 있는 결함에 관한 정보를 검출하는 단계를 포함하며,상기 저장하는 단계는 상기 결정된 구문이 상기 공유 자원에 대한 접근 제어를 동기화하는 명령인 경우 상기 명령의 실행에 따라 상기 접근 제어를 동기화하기 위한 정보를 갱신하는병렬 프로그램의 소스 코드 분석 방법
|
7 |
7
제 6 항에 있어서,상기 분석에 필요한 정보는상기 소스 코드의 라인 수, 상기 소스 코드의 위치 정보 및 상기 소스 코드의 구문 구조에 관한 정보 중 적어도 하나를 포함하는병렬 프로그램의 소스 코드 분석 방법
|
8 |
8
제 6 항에 있어서,상기 저장하는 단계는상기 워크 리스트가 2개 이상인 경우 임의로 소정의 워크 리스트를 선택하는병렬 프로그램의 소스 코드 분석 방법
|
9 |
9
제 6 항에 있어서,상기 결함에 관한 정보는상기 소스 코드내의 상기 결함의 위치 정보, 상기 결함의 종류, 상기 결함의 원인에 관한 정보, 상기 결함이 발생하게 된 상기 소스 코드의 흐름에 관한 정보 중 적어도 하나를 포함하는병렬 프로그램의 소스 코드 분석 방법
|
10 |
10
제 6 항에 있어서,상기 글로벌 메모리는 전역 변수의 값 또는 동적으로 힙에 할당된 영역의 값을 저장하는병렬 프로그램의 소스 코드 분석 방법
|
11 |
11
제 6 항에 있어서,상기 접근 제어를 동기화하는 명령은 공유 자원 공간에 대한 접근 시간 제어 명령인병렬 프로그램의 소스 코드 분석 방법
|
12 |
12
병렬 프로그램의 소스 코드로부터 분석에 필요한 정보를 추출하는 단계;상기 추출된 정보 및 공유 자원에 대한 접근 제어를 동기화하기 위한 정보에 기초하여 상기 병렬 프로그램의 실행 흐름을 시뮬레이션 하여 상기 소스 코드 중 다음에 실행될 구문을 결정하고, 상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트에 상기 결정된 구문을 추가하는 단계- 상기 워크 리스트는 구문을 저장하는 구문 영역 및 상기 구문 영역의 구문의 실행 결과를 저장하는 메모리 영역을 포함함-;상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 메모리 영역에 저장되어 있는 정보 및 글로벌 메모리에 저장되어 있는 상기 공유 자원에 대한 정보에 기초하여, 상기 결정된 구문을 기호 실행하고, 기호 실행한 결과를 상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 메모리 영역 또는 상기 글로벌 메모리에 저장하는 단계; 및상기 결정된 구문이 속하는 쓰레드를 위한 워크 리스트의 상기 메모리 영역의 상태 및 상기 글로벌 메모리의 상태에 기초하여, 상기 소스 코드에서 문제를 일으킬 수 있는 결함에 관한 정보를 검출하는 단계를 포함하며,상기 저장하는 단계는 상기 결정된 구문이 상기 공유 자원에 대한 접근 제어를 동기화하는 명령인 경우 상기 명령의 실행에 따라 상기 접근 제어를 동기화하기 위한 정보를 갱신하는 병렬 프로그램의 소스 코드 분석 방법을 프로세서가 수행하도록 하는 명령어를 포함하는 프로그램이 기록된컴퓨터 판독 가능한 기록매체
|