1 |
1
대상 프로그램(target program)의 변이 대상과 관련된 사용자의 선택을 입력받는 단계;상기 사용자의 선택에 대응하는 변이 대상의 타입 정보를 기초로, 상기 변이 대상을 포함하는 변이 프로그램의 실행 가능 여부를 결정하는 단계; 및상기 실행 가능 여부에 따라 상기 변이 대상을 변이함으로써 변이 프로그램을 생성하는 단계를 포함하고, 상기 사용자의 선택을 입력받는 단계는상기 사용자로부터 컴포넌트 아키텍쳐의 구성 정보를 이용하여 특정된 변이가 적용될 변이 연산자의 타입, 변이 연산자의 정의역 및 변이 연산자의 치역 및 변이될 소스 코드의 범위를 지정받는 단계를 포함하는, 변이 프로그램을 생성하는 방법
|
2 |
2
제1항에 있어서, 상기 변이 대상은 상기 대상 프로그램에 포함된 변이 연산자, 및 상기 연산자에 대응하는 적어도 하나의 피연산자 중 적어도 하나를 포함하는, 변이 프로그램을 생성하는 방법
|
3 |
3
제1항에 있어서, 상기 사용자의 선택을 입력받는 단계는상기 사용자에게 상기 대상 프로그램의 소스 파일을 변경시키는 규칙으로 정의된 변이 연산자의 클래스(class)를 제공하는 단계; 및 상기 클래스에 대한 상기 사용자의 선택을 입력받는 단계를 포함하는, 변이 프로그램을 생성하는 방법
|
4 |
4
제3항에 있어서, 상기 변이 연산자의 클래스는상기 변이 대상이 되는 대상 변이 연산자, 상기 대상 변이 연산자의 정의역(domain), 상기 대상 변이 연산자의 치역(range), 상기 대상 변이 연산자에 대응하는 치역의 시작 위치, 및 종료 위치, 상기 대상 프로그램에서의 변이 위치, 및 상기 대상 변이 연산자에 의해 생성되는 변이 프로그램의 최대 개수 중 적어도 하나를 포함하는, 변이 프로그램을 생성하는 방법
|
5 |
5
제4항에 있어서, 상기 대상 변이 연산자는변이 연산자, 문자열 리터럴 변이 연산자, 함수 호출 변이 연산자 중 적어도 하나를 포함하는, 변이 프로그램을 생성하는 방법
|
6 |
6
제1항에 있어서, 상기 실행 가능 여부를 결정하는 단계는 상기 사용자의 선택에 따라 상기 대상 프로그램의 변이 대상을 변이하여 변이 프로그램 후보를 생성하는 단계; 및 상기 변이 대상에 대응하는 타입 정보를 기초로 상기 변이 프로그램 후보의 실행 가능 여부를 결정하는 단계를 포함하고, 상기 변이 프로그램을 생성하는 단계는상기 실행 가능 여부의 결정에 기초하여 상기 변이 프로그램 후보를 상기 변이 프로그램으로 설정하는 단계를 포함하는, 변이 프로그램을 생성하는 방법
|
7 |
7
제1항에 있어서, 상기 변이 프로그램의 실행 가능 여부를 결정하는 단계는상기 대상 프로그램에 대응하는 컴파일 명령어들을 포함하는 컴파일 정보를 저장하는 컴파일 데이터베이스(compilation database)를 이용하여 상기 변이 대상을 변이한 경우에 상기 변이 대상을 포함하는 변이 프로그램의 실행 가능 여부를 결정하는 단계를 포함하는, 변이 프로그램을 생성하는 방법
|
8 |
8
제7항에 있어서,상기 변이 프로그램의 실행 가능 여부를 결정하는 단계는상기 대상 프로그램에 대응하는 컴파일 정보를 이용하여 상기 변이 대상을 포함하는 변이 프로그램의 컴파일 성공 여부를 체크하는 단계를 포함하는, 변이 프로그램을 생성하는 방법
|
9 |
9
제7항에 있어서, 상기 컴파일 데이터베이스는컴파일의 대상 프로그램, 상기 컴파일의 대상 프로그램에서 사용된 컴파일 명령, 및 상기 컴파일 명령이 실행된 디렉토리 중 적어도 하나를 포함하는, 변이 프로그램을 생성하는 방법
|
10 |
10
삭제
|
11 |
11
삭제
|
12 |
12
삭제
|
13 |
13
삭제
|
14 |
14
삭제
|
15 |
15
하드웨어와 결합되어 제1항 내지 제9항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록 매체에 저장된 컴퓨터 프로그램
|
16 |
16
대상 프로그램의 변이 대상과 관련된 사용자의 선택을 입력받는 입력 인터페이스; 및 상기 사용자의 선택에 대응하는 변이 대상의 타입 정보를 기초로, 상기 변이 대상을 포함하는 변이 프로그램의 실행 가능 여부를 결정하고, 상기 실행 가능 여부에 따라 상기 변이 대상을 변이함으로써 변이 프로그램을 생성하는 프로세서를 포함하고, 상기 입력 인터페이스는상기 사용자로부터 컴포넌트 아키텍쳐의 구성 정보를 이용하여 특정된 변이가 적용될 변이 연산자의 타입, 변이 연산자의 정의역 및 변이 연산자의 치역 및 변이될 소스 코드의 범위를 지정받는, 변이 프로그램을 생성하는 장치
|
17 |
17
제16항에 있어서, 상기 입력 인터페이스는상기 사용자에게 상기 대상 프로그램의 소스 파일을 변경시키는 규칙으로 정의된 변이 연산자의 클래스를 제공하고, 상기 클래스에 대한 상기 사용자의 선택을 입력받는, 변이 프로그램을 생성하는 장치
|
18 |
18
제16항에 있어서, 상기 대상 프로그램에 대응하는 컴파일 명령어들을 포함하는 컴파일 정보를 저장하는 컴파일 데이터베이스가 저장된 메모리를 더 포함하고, 상기 프로세서는 상기 컴파일 데이터베이스에서 상기 대상 프로그램에 대응하는 컴파일 정보를 이용하여 상기 변이 대상을 변이한 경우에 상기 변이 대상을 포함하는 대상 프로그램의 컴파일 성공 여부를 체크함으로써 상기 대상 프로그램의 실행 가능 여부를 결정하는, 변이 프로그램을 생성하는 장치
|
19 |
19
삭제
|
20 |
20
삭제
|