1 |
1
멀티쓰레드 프로그램이 실행되는 동안 쓰레드의 공유 메모리 액세스를 모니터링하는 단계;공유 메모리에서 하나의 쓰레드가 최근 연속 실행한 제1 및 제2 임계영역들 사이에 다른 쓰레드가 최근 실행한 제3 임계영역이 간섭(interleaving)하는지 여부를 검사함으로써 원자성 위반 가능성 여부를 예비 판단하는 단계; 및상기 예비 판단 결과에 따라, 상기 모니터링 결과를 이용하여 공유 변수에 대한 원자성 위반 가능성을 검출하는 단계를 포함하는 원자성 위반 검출 방법
|
2 |
2
제1항에 있어서, 상기 예비 판단하는 단계는, 상기 제1 내지 제3 임계영역들이 공통 락(common lock)으로 보호되는지 여부를 판단하는 단계; 및상기 제1 내지 제3 임계영역들중 적어도 하나가 상기 공유 변수에 대한 쓰기 액세스를 포함하는지 판단하는 단계를 포함하는 원자성 위반 검출 방법
|
3 |
3
제1항에 있어서, 상기 원자성 위반 가능성을 검출하는 단계는 상기 쓰레드들의 임계영역 액세스 패턴에 기반하여 단일변수 원자성 위반 가능성을 검출하는 단계를 포함하는 원자성 위반 검출 방법
|
4 |
4
제3항에 있어서, 상기 임계영역 액세스 패턴에 기반하여 단일변수 원자성 위반 가능성이 높은 액세스 패턴 조합이 산출되는 원자성 위반 검출 방법
|
5 |
5
제4항에 있어서, 상기 액세스 패턴 조합은 상기 제1 임계영역에서 공유 변수에 대한 읽기 액세스가 실행되고 상기 제2 임계영역에서 상기 공유 변수에 대한 쓰기 액세스가 실행될 때 상기 제3 임계영역에서 상기 공유 변수에 대한 쓰기 액세스가 실행되는 조합을 포함하는 원자성 위반 검출 방법
|
6 |
6
제4항에 있어서, 상기 액세스 패턴 조합은 상기 제1 임계영역에서 공유 변수에 대한 쓰기 액세스가 실행되고 상기 제2 임계영역에서 상기 공유 변수에 대한 읽기 액세스가 실행될 때 상기 제3 임계영역에서 상기 공유 변수에 대한 쓰기 액세스가 실행되는 조합을 포함하는 원자성 위반 검출 방법
|
7 |
7
제4항에 있어서, 상기 액세스 패턴 조합은 상기 제1 임계영역에서 공유 변수에 대한 읽기 액세스가 실행되고 상기 제2 임계영역에서 상기 공유 변수에 대한 읽기 액세스가 실행될 때 상기 제3 임계영역에서 상기 공유 변수에 대한 쓰기 액세스가 실행되는 조합을 포함하는 원자성 위반 검출 방법
|
8 |
8
제1항에 있어서, 상기 원자성 위반 가능성을 검출하는 단계는 상기 제1 내지 제3 영역의 공유변수 집합 정보에 기반하여 다중변수 원자성 위반 가능성을 검출하는 단계를 포함하는 원자성 위반 검출 방법
|
9 |
9
제7항에 있어서, 상기 다중변수 원자성 위반 가능성을 검출하는 단계는, 상기 제3 임계영역에서 한꺼번에(atomically) 액세스되는 변수 집합이 상기 제1 임계영역 및 상기 제2 임계영역에서 나뉘어 액세스되는지 판단하는 단계; 및 상기 제1 내지 제3 임계영역들중 적어도 하나의 임계영역이 쓰기 액세스를 포함하는지 판단하는 단계를 포함하는 원자성 위반 검출 방법
|
10 |
10
제9항에 있어서, 상기 다중변수 원자성 위반 가능성을 검출하는 단계는, 상기 제1 임계영역에서 액세스되는 변수 집합과 상기 제2 임계영역에서 액세스되는 변수 집합간의 포함관계를 확인하는 단계를 더 포함하는 원자성 위반 검출 방법
|
11 |
11
제1항에 있어서, 상기 방법은 상기 원자성 위반에 연관된 변수 및 원자성 위반 발생 가능 위치를 출력하는 단계를 더 포함하는 원자성 위반 검출 방법
|
12 |
12
멀티쓰레드 프로그램이 실행되는 동안 쓰레드의 공유 메모리 액세스를 모니터링하고 공유 메모리에서 하나의 쓰레드가 최근 연속 실행한 제1 및 제2 임계영역들 사이에 다른 쓰레드가 최근 실행한 제3 임계영역이 간섭하는지 여부를 검사함으로써 원자성 위반이 발생할 가능성이 있음을 예비 판단하는 쓰레드 모니터링 모듈;상기 원자성 위반이 발생할 가능성이 있는 것으로 예비 판단된 경우에, 상기 모니터링 결과를 이용하여 공유 변수에 대한 원자성 위반을 검출하는 원자성 위반 검출 모듈; 및상기 검출된 원자성 위반 정보를 출력하는 오류 정보 출력 모듈을 포함하는 원자성 위반 검출 장치
|
13 |
13
제12항에 있어서, 상기 쓰레드 모니터링 모듈은 쓰레드별 공유변수에 대한 액세스 패턴을 모니터링하고 모니터링 결과를 저장하는 원자성 위반 검출 장치
|
14 |
14
제12항에 있어서, 상기 쓰레드 모니터링 모듈은 상기 제3 임계영역의 간섭에 부가하여 제1 내지 제3 임계영역들이 공통 락으로 보호되고 상기 임계영역들중 적어도 하나가 공유 변수에 대한 쓰기 액세스를 포함하는 경우에 원자성 위반이 발생할 가능성이 있는 것으로 예비 판단하는 원자성 위반 검출 장치
|
15 |
15
제12항에 있어서, 상기 원자성 위반 검출 모듈은,상기 쓰레드들의 임계영역 액세스 패턴에 기반하여 단일변수 원자성 위반 가능성을 검출하는 단일변수 원자성 위반 검출 모듈; 및 상기 제1 내지 제3 영역의 공유변수 집합 정보에 기반하여 다중변수 원자성 위반 가능성을 검출하는 다중변수 원자성 위반 검출 모듈을 포함하는 원자성 위반 검출 장치
|