1 |
1
대상 프로그램(target program)에 대한 프로그램 정보에 기초하여 함수 호출 프로파일들(function call profiles)을 획득하는 단계;상기 함수 호출 프로파일들에 기초한 함수 관련성(function relevance)에 따라 상기 대상 프로그램에서 테스트할 대상 함수에 관련된 관련 함수들을 결정하는 단계;상기 관련 함수들 중 상기 대상 함수에 의하여 호출되는 적어도 하나의 관련 함수에 기초하여, 상기 대상 함수에서의 주어진 조건을 위반하는 입력 인자들을 결정하는 단계;상기 관련 함수들 중 상기 대상 함수를 호출하는 적어도 하나의 관련 함수에 기초하여 상기 입력 인자들(arguments)을 필터링하는 단계; 및상기 필터링된 입력 인자들에 기초하여, 상기 대상 함수를 테스트하는 단계 를 포함하고, 상기 관련 함수들을 결정하는 단계는상기 함수 호출 프로파일들에 기초한 조건부 확률(conditional probability)을 이용하여 상기 대상 프로그램에 포함된 적어도 하나의 다른 함수에 대한 상기 대상 함수의 함수 관련성을 산출하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
2 |
2
제1항에 있어서,상기 프로그램 정보는상기 대상 프로그램의 소스 코드(source code), 상기 대상 프로그램에서 테스트할 대상 함수들의 리스트(list), 및 상기 대상 프로그램의 시스템 테스트 케이스들 중 적어도 하나를 포함하는, 대상 함수를 테스트하는 방법
|
3 |
3
제2항에 있어서, 상기 함수 호출 프로파일들을 획득하는 단계는상기 시스템 테스트 케이스들에 따라 상기 대상 프로그램을 실행함에 따라 상기 함수 호출 프로파일들을 획득하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
4 |
4
삭제
|
5 |
5
제1항에 있어서, 상기 함수 관련성을 산출하는 단계는상기 조건부 확률과 미리 설정된 임계치를 비교하는 단계; 및 상기 임계치와의 비교 결과에 기초하여, 상기 함수 관련성을 산출하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
6 |
6
제1항에 있어서,상기 관련 함수들은 상기 대상 함수에 의하여 호출되는 적어도 하나의 관련 함수; 및 상기 대상 함수를 호출하는 적어도 하나의 관련 함수 중 적어도 하나를 포함하는, 대상 함수를 테스트하는 방법
|
7 |
7
제1항에 있어서, 상기 관련 함수들을 결정하는 단계는상기 함수 관련성을 포함하는 정적 함수 호출 그래프(static function call graph)에서, 상기 대상 함수 및 상기 관련 함수들을 포함하는 상기 대상 함수에 대한 확장된 유닛(extended unit)를 생성하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
8 |
8
제7항에 있어서, 상기 관련 함수들을 결정하는 단계는상기 확장된 유닛을 기초로, 상기 대상 함수에 대응하는 최대 호출 경로들을 포함하는 호출 문맥(calling context)를 생성하는 단계;를 포함하는, 대상 함수를 테스트하는 방법
|
9 |
9
제8항에 있어서, 상기 호출 문맥을 생성하는 단계는상기 정적 함수 호출 그래프에서, 상기 대상 함수로부터 임계치보다 낮은 함수 관련성을 가지는 노드까지의 역방향 탐색을 통해 상기 호출 문맥을 식별하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
10 |
10
제7항에 있어서, 상기 입력 인자들을 결정하는 단계는상기 확장된 유닛에 대하여 컨커릭 테스트(concolic test)를 실행하여 상기 대상 함수에 주어진 조건을 위반하는 실행을 나타내는 심볼릭 경로(symbolic execution path)를 설정하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
11 |
11
제10항에 있어서, 상기 심볼릭 경로를 설정하는 단계는상기 대상 함수에 의하여 호출되는 적어도 하나의 관련 함수, 및 심볼릭 스텁(symbolic stubs) 함수 각각에 대응하는 유닛 테스트 드라이버(unit test driver)를 이용하여 상기 컨커릭 테스트를 실행하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
12 |
12
제11항에 있어서, 상기 유닛 테스트 드라이버는해당 함수의 적어도 하나의 전역 변수 및 적어도 하나의 매개 변수에 대응하는 심볼릭 입력들을 생성하고, 상기 심볼릭 입력들을 적용하여 상기 해당 함수를 실행하는, 대상 함수를 테스트하는 방법
|
13 |
13
제10항에 있어서, 상기 심볼릭 경로를 설정하는 단계는상기 대상 함수의 심볼릭 호출 문맥 공식을 생성하는 단계; 상기 심볼릭 호출 문맥 수식과 결합된 상기 심볼릭 경로 수식의 적합성을 검사하는 단계; 및 상기 적합성의 검사 결과에 기초하여, 상기 심볼릭 경로를 설정하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
14 |
14
제10항에 있어서, 상기 필터링하는 단계는호출 문맥에 대응하는 심볼릭 경로의 실현 가능성(feasibility)을 기초로, 상기 대상 함수의 입력 인자들에서 발생하는 거짓 경고(false alarm)를 필터링하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
15 |
15
제1항에 있어서, 상기 프로그램 정보를 수신하는 단계를 더 포함하는, 대상 함수를 테스트하는 방법
|
16 |
16
대상 프로그램에 대응하는 함수 호출 프로파일들에 기초하여 상기 대상 프로그램에서 테스트할 대상 함수의 함수 관련성을 결정하는 단계;상기 함수 관련성에 기초하여, 상기 대상 함수 및 상기 대상 함수에 관련된 함수들을 포함하는 상기 대상 함수에 대한 확장된 유닛을 생성하는 단계; 상기 함수 관련성이 레이블링된 정적 함수 호출 그래프를 이용하여 상기 대상 함수의 인자들의 최대 호출 경로들에 대응하는 호출 문맥을 식별하는 단계;상기 확장된 유닛에 대하여 컨커릭 테스트를 실행하여 상기 대상 함수에 주어진 조건을 위반하는 실행을 나타내는 심볼릭 경로를 설정하는 단계;상기 호출 문맥에 대응하는 심볼릭 경로의 실현 가능성을 검사함으로써 상기 대상 함수의 입력 인자들에서 발생하는 거짓 경고를 필터링하는 단계; 및 상기 필터링된 입력 인자들에 기초하여, 상기 대상 함수를 테스트하는 단계 를 포함하고, 상기 함수 관련성을 결정하는 단계는상기 함수 호출 프로파일들에 기초한 조건부 확률을 이용하여 상기 대상 프로그램에 포함된 적어도 하나의 다른 함수에 대한 상기 대상 함수의 함수 관련성을 산출하는 단계를 포함하는, 대상 함수를 테스트하는 방법
|
17 |
17
하드웨어와 결합되어 제1항 내지 제3항, 제5항 내지 제16항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램
|
18 |
18
대상 프로그램에 대한 프로그램 정보를 수신하는 통신 인터페이스;상기 프로그램 정보에 기초하여 함수 호출 프로파일들을 획득하고, 상기 함수 호출 프로파일들에 기초한 함수 관련성에 따라 상기 대상 프로그램에서 테스트할 대상 함수에 관련된 관련 함수들을 결정하고, 상기 관련 함수들 중 상기 대상 함수에 의하여 호출되는 적어도 하나의 관련 함수에 기초하여, 상기 대상 함수에서의 주어진 조건을 위반하는 입력 인자들을 결정하고, 상기 관련 함수들 중 상기 대상 함수를 호출하는 적어도 하나의 관련 함수에 기초하여 상기 입력 인자들을 필터링하며, 상기 필터링된 입력 인자들에 기초하여, 상기 대상 함수를 테스트하는 프로세서; 및 상기 대상 함수에 대한 테스트 결과를 출력하는 디스플레이를 포함하고, 상기 프로세서는 상기 함수 호출 프로파일들에 기초한 조건부 확률을 이용하여 상기 대상 프로그램에 포함된 적어도 하나의 다른 함수에 대한 상기 대상 함수의 함수 관련성을 산출하는, 대상 함수를 테스트하는 장치
|
19 |
19
대상 프로그램에 대응하는 함수 호출 프로파일들에 기초하여 상기 대상 프로그램에서 테스트할 대상 함수의 함수 관련성을 결정하고, 상기 함수 관련성에 기초하여, 상기 대상 함수 및 상기 대상 함수에 관련된 함수들을 포함하는 상기 대상 함수에 대한 확장된 유닛을 생성하고, 상기 함수 관련성이 레이블링된 정적 함수 호출 그래프를 이용하여 상기 대상 함수의 인자들의 최대 호출 경로들에 대응하는 호출 문맥을 식별하고, 상기 확장된 유닛에 대하여 컨커릭 테스트를 실행하여 상기 대상 함수에 주어진 조건을 위반하는 실행을 나타내는 심볼릭 경로를 설정하고, 상기 호출 문맥에 대응하는 심볼릭 경로의 실현 가능성을 검사함으로써 상기 대상 함수의 입력 인자들에서 발생하는 거짓 경고를 필터링하며, 상기 필터링된 입력 인자들에 기초하여, 상기 대상 함수를 테스트하는,프로세서; 및 상기 함수 호출 프로파일들을 저장하는 메모리를 포함하는, 대상 함수를 테스트하는 장치
|