맞춤기술찾기

이전대상기술

변이 프로그램을 사용하여 대상 프로그램을 테스트하는 방법 및 장치

  • 기술번호 : KST2019021402
  • 담당센터 : 대전기술혁신센터
  • 전화번호 : 042-610-2279
요약, Int. CL, CPC, 출원번호/일자, 출원인, 등록번호/일자, 공개번호/일자, 공고번호/일자, 국제출원번호/일자, 국제공개번호/일자, 우선권정보, 법적상태, 심사진행상태, 심판사항, 구분, 원출원번호/일자, 관련 출원번호, 기술이전 희망, 심사청구여부/일자, 심사청구항수의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 서지정보 표입니다.
요약 일 실시예에 따른 대상 프로그램을 테스트하는 방법 및 장치는 대상 프로그램에 포함된 적어도 하나의 연산자 및 적어도 하나의 피연산자 중 적어도 하나를 변이함으로써 대상 프로그램에 대응하는 변이 프로그램들을 결정하고, 변이 프로그램들의 실행 결과에 기초하여 대상 프로그램에서 미리 설정된 테스트 입력 세트에 의해 테스트되지 않은 구문을 테스트할 수 있는 가이드포스트들을 생성하고, 가이드포스트들을 삽입한 가이드 버전의 대상 프로그램들에 의해 테스트 입력을 생성하여 대상 프로그램을 테스트한다.
Int. CL G06F 11/36 (2006.01.01)
CPC G06F 11/3696(2013.01)
출원번호/일자 1020180053140 (2018.05.09)
출원인 한국과학기술원
등록번호/일자 10-2114548-0000 (2020.05.18)
공개번호/일자 10-2019-0128867 (2019.11.19) 문서열기
공고번호/일자 (20200525) 문서열기
국제출원번호/일자
국제공개번호/일자
우선권정보
법적상태 등록
심사진행상태 수리
심판사항
구분 신규
원출원번호/일자
관련 출원번호
심사청구여부/일자 Y (2018.05.09)
심사청구항수 19

출원인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 출원인 표입니다.
번호 이름 국적 주소
1 한국과학기술원 대한민국 대전광역시 유성구

발명자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 발명자 표입니다.
번호 이름 국적 주소
1 김문주 대전광역시 유성구
2 김윤호 대전광역시 유성구
3 홍신 경상북도 포항시 북구

대리인

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 대리인 표입니다.
번호 이름 국적 주소
1 특허법인 무한 대한민국 서울특별시 강남구 언주로 ***, *층(역삼동,화물재단빌딩)

최종권리자

번호, 이름, 국적, 주소의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 인명정보 - 최종권리자 표입니다.
번호 이름 국적 주소
1 한국과학기술원 대한민국 대전광역시 유성구
번호, 서류명, 접수/발송일자, 처리상태, 접수/발송일자의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 행정처리 표입니다.
번호 서류명 접수/발송일자 처리상태 접수/발송번호
1 [특허출원]특허출원서
[Patent Application] Patent Application
2018.05.09 수리 (Accepted) 1-1-2018-0455408-98
2 출원인정보변경(경정)신고서
Notification of change of applicant's information
2019.04.24 수리 (Accepted) 4-1-2019-5081392-49
3 선행기술조사의뢰서
Request for Prior Art Search
2019.10.11 수리 (Accepted) 9-1-9999-9999999-89
4 심사처리보류(연기)보고서
Report of Deferment (Postponement) of Processing of Examination
2019.10.22 발송처리완료 (Completion of Transmission) 9-6-2019-0115741-51
5 선행기술조사보고서
Report of Prior Art Search
2019.11.19 발송처리완료 (Completion of Transmission) 9-6-2019-0130197-19
6 의견제출통지서
Notification of reason for refusal
2019.11.27 발송처리완료 (Completion of Transmission) 9-5-2019-0856445-08
7 [명세서등 보정]보정서
[Amendment to Description, etc.] Amendment
2020.01.23 보정승인간주 (Regarded as an acceptance of amendment) 1-1-2020-0082491-77
8 [거절이유 등 통지에 따른 의견]의견(답변, 소명)서
[Opinion according to the Notification of Reasons for Refusal] Written Opinion(Written Reply, Written Substantiation)
2020.01.23 수리 (Accepted) 1-1-2020-0082492-12
9 등록결정서
Decision to grant
2020.04.07 발송처리완료 (Completion of Transmission) 9-5-2020-0252176-34
10 출원인정보변경(경정)신고서
Notification of change of applicant's information
2020.05.15 수리 (Accepted) 4-1-2020-5108396-12
11 출원인정보변경(경정)신고서
Notification of change of applicant's information
2020.06.12 수리 (Accepted) 4-1-2020-5131486-63
번호, 청구항의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 청구항 표입니다.
번호 청구항
1 1
대상 프로그램(target program)에 포함된 적어도 하나의 연산자(operator) 및 적어도 하나의 피연산자(operand) 중 적어도 하나를 변이(mutate)함으로써 상기 대상 프로그램에 대응하는 변이 프로그램들을 결정하는 단계;상기 변이 프로그램들의 실행 결과에 기초하여, 상기 대상 프로그램에서 미리 설정된 테스트 입력 세트에 의해 테스트되지 않은 구문을 테스트할 수 있는 가이드포스트들(guide posts)을 생성하는 단계;상기 대상 프로그램에 상기 가이드포스트들 각각을 삽입한 가이드 버전의 대상 프로그램들에 의해 테스트 입력을 생성하는 단계; 및 상기 테스트 입력에 기초하여 상기 대상 프로그램을 테스트하는 단계를 포함하고, 상기 테스트 입력을 생성하는 단계는상기 가이드포스트들 각각을 상기 대상 프로그램의 변이 위치 직전에 삽입하는 단계; 및 상기 변이 위치에 대응하는 연산자 및 상기 변이 위치에 대응하는 피연산자 중 적어도 하나가 계산되기 직전에 상기 가이드포스트들 각각을 실행함으로써 상기 가이드 버전의 대상 프로그램들을 생성하는 단계를 포함하는, 대상 프로그램을 테스트하는 방법
2 2
제1항에 있어서, 상기 변이 프로그램들을 결정하는 단계는상기 대상 프로그램에 포함된 적어도 하나의 연산자 및 적어도 하나의 피연산자 중 적어도 하나를 변이(mutate)하여 상기 변이된 적어도 하나의 연산자 및 상기 적어도 하나의 피연산자 각각에 대응하는 제1 변이 프로그램들을 생성하는 단계; 및 미리 설정된 테스트 입력 세트를 상기 제1 변이 프로그램들에 인가함으로써 상기 제1 변이 프로그램들 중 적어도 일부의 제2 변이 프로그램들을 선택하는 단계를 포함하는, 대상 프로그램을 테스트하는 방법
3 3
제2항에 있어서, 상기 제1 변이 프로그램들을 생성하는 단계는상기 대상 프로그램에 포함된 적어도 하나의 연산자 및 적어도 하나의 피연산자 중 적어도 하나를 미리 설정된 복수의 변이 연산자들에 의해 변이하여 상기 제1 변이 프로그램들을 생성하는 단계 를 포함하는, 대상 프로그램을 테스트하는 방법
4 4
제3항에 있어서, 상기 테스트 입력 세트에 따라 상기 대상 프로그램을 실행하여 상기 대상 프로그램의 기준 커버리지를 측정하는 단계를 더 포함하는, 대상 프로그램을 테스트하는 방법
5 5
제4항에 있어서, 상기 제2 변이 프로그램들을 선택하는 단계는상기 테스트 입력 세트에 따라 상기 제1 변이 프로그램들을 실행하여 상기 제1 변이 프로그램들의 커버리지를 측정하는 단계;상기 기준 커버리지와 상기 커버리지 간의 비교 결과에 기초하여, 상기 제1 변이 프로그램들 중 적어도 일부의 제2 변이 프로그램들을 선택하는 단계를 포함하는, 대상 프로그램을 테스트하는 방법
6 6
제5항에 있어서, 상기 적어도 일부의 제2 변이 프로그램들을 선택하는 단계는상기 커버리지가 상기 기준 커버리지에 의해 커버되지 않는 적어도 하나의 구문을 포함하는 경우, 상기 커버리지에 대응하는 제1 변이 프로그램을 상기 제2 변이 프로그램들로 선택하는 단계를 포함하는, 대상 프로그램을 테스트하는 방법
7 7
제1항에 있어서, 상기 가이드포스트들을 생성하는 단계는상기 대상 프로그램에서 미리 설정된 테스트 입력 세트에 의해 테스트되지 않는 구문을 테스트하기 위한 선행 조건들을 추론하는 단계; 및 상기 선행 조건들을 상기 가이드포스트들(guide posts)로 설정하는 단계를 포함하는, 대상 프로그램을 테스트하는 방법
8 8
제7항에 있어서, 상기 가이드포스트들은상기 선행 조건들이 만족되면 실행되고, 상기 선행 조건들이 만족되지 않는 경우에는 실행이 종료되는, 대상 프로그램을 테스트하는 방법
9 9
제7항에 있어서, 상기 선행 조건을 추론하는 단계는상기 변이 프로그램들에서 변이된 연산자의 계산 결과를 출력하는 프로브(prove)를 삽입하여 상기 선행 조건을 추론하는 단계를 포함하는, 대상 프로그램을 테스트하는 방법
10 10
제1항에 있어서, 상기 테스트 입력을 생성하는 단계는상기 가이드 버전의 대상 프로그램들에 컨커릭 테스트를 적용하여 상기 테스트 입력을 생성하는 단계를 포함하는, 대상 프로그램을 테스트하는 방법
11 11
삭제
12 12
제10항에 있어서, 상기 컨커릭 테스트를 적용하여 상기 테스트 입력을 생성하는 단계는상기 가이드포스트 이전에 실행되는 분기에 대하여는 깊이 우선 탐색(DFS) 기법에 기초한 컨커릭 테스트를 수행하고, 상기 가이드포스트 이후에 실행되는 분기에 대하여는 무작위 분기 부정 기법에 기초한 컨커릭 테스트를 수행함으로써 상기 테스트 입력을 생성하는 단계를 포함하는, 대상 프로그램을 테스트하는 방법
13 13
제1항에 있어서, 상기 대상 프로그램의 소스 코드 및 미리 설정된 테스트 입력 세트를 포함하는 정보를 수신하는 단계를 더 포함하는, 대상 프로그램을 테스트하는 방법
14 14
대상 프로그램을 단일 표현식 레벨에서 변이하여 상기 대상 프로그램에 대응하는 변이 프로그램들을 생성하는 단계;미리 설정된 테스트 입력의 집합을 상기 변이 프로그램들에 인가함으로써 상기 변이 프로그램들 중 커버 범위를 확장하는(coverage increasing) 변이 프로그램들의 집합을 결정하는 단계;상기 변이 프로그램들의 집합의 실행 결과에 기초하여, 상기 대상 프로그램에서 도달하지 못한 분기를 테스트하기 위해 추론된 선행 조건들인 가이드포스트들을 생성하는 단계;상기 가이드포스트들 각각을 상기 대상 프로그램에 삽입하여 가이드 버전의 대상 프로그램들을 생성하는 단계;상기 가이드 버전의 대상 프로그램들에 컨커릭 테스트를 적용하여 상기 가이드 버전의 대상 프로그램들에 대응하는 테스트 입력을 생성하는 단계; 및 상기 테스트 입력에 기초하여 상기 대상 프로그램을 테스트하는 단계를 포함하고, 상기 가이드 버전의 대상 프로그램들을 생성하는 단계는상기 가이드포스트들 각각을 상기 대상 프로그램의 변이 위치 직전에 삽입하는 단계; 및 상기 변이 위치에 대응하는 연산자 및 상기 변이 위치에 대응하는 피연산자 중 적어도 하나가 계산되기 직전에 상기 가이드포스트들 각각을 실행함으로써 상기 가이드 버전의 대상 프로그램들을 생성하는 단계를 포함하는, 대상 프로그램을 테스트하는 방법
15 15
하드웨어와 결합되어 제1항 내지 제10항, 제12항 내지 제14항 중 어느 하나의 항의 방법을 실행시키기 위하여 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램
16 16
대상 프로그램의 소스 코드 및 미리 설정된 테스트 입력 세트를 포함하는 정보를 수신하는 통신 인터페이스; 및 상기 대상 프로그램에 포함된 적어도 하나의 연산자 및 적어도 하나의 피연산자 중 적어도 하나를 변이함으로써 상기 대상 프로그램에 대응하는 변이 프로그램들을 결정하고, 상기 변이 프로그램들의 실행 결과에 기초하여, 상기 대상 프로그램에서 미리 설정된 테스트 입력 세트에 의해 테스트되지 않는 구문을 커버하기 위한가이드포스트들을 생성하고, 상기 대상 프로그램에 상기 가이드포스트들 각각을 삽입한 가이드 버전의 대상 프로그램들에 의해 테스트 입력을 생성하며, 상기 테스트 입력에 기초하여 상기 대상 프로그램을 테스트하는,프로세서 를 포함하고, 상기 프로세서는상기 가이드포스트들을 상기 대상 프로그램의 변이 위치 직전에 삽입하고, 상기 변이 위치에 대응하는 연산자 및 상기 변이 위치에 대응하는 피연산자 중 적어도 하나가 계산되기 직전에 상기 가이드포스트들 각각을 실행함으로써 상기 가이드 버전의 대상 프로그램들을 생성하는, 대상 프로그램을 테스트하는 장치
17 17
제16항에 있어서, 상기 프로세서는 상기 대상 프로그램에 포함된 적어도 하나의 연산자 및 적어도 하나의 피연산자 중 적어도 하나를 변이(mutate)하여 상기 변이된 적어도 하나의 연산자 및 상기 적어도 하나의 피연산자 각각에 대응하는 제1 변이 프로그램들을 생성하고, 미리 설정된 테스트 입력 세트를 상기 제1 변이 프로그램들에 인가함으로써 상기 제1 변이 프로그램들 중 적어도 일부의 제2 변이 프로그램들을 선택하는, 대상 프로그램을 테스트하는 장치
18 18
제17항에 있어서, 상기 프로세서는상기 대상 프로그램에 포함된 적어도 하나의 연산자 및 적어도 하나의 피연산자 중 적어도 하나를 미리 설정된 복수의 변이 연산자들에 의해 변이하여 상기 제1 변이 프로그램들을 생성하는, 대상 프로그램을 테스트하는 장치
19 19
제18항에 있어서, 상기 프로세서는 상기 테스트 입력 세트에 따라 상기 대상 프로그램을 실행하여 상기 대상 프로그램의 기준 커버리지를 측정하고, 상기 테스트 입력 세트에 따라 상기 제1 변이 프로그램들을 실행하여 상기 제1 변이 프로그램들의 커버리지를 측정하며, 상기 기준 커버리지와 상기 커버리지 간의 비교 결과에 기초하여, 상기 제1 변이 프로그램들 중 적어도 일부의 제2 변이 프로그램들을 선택하는, 대상 프로그램을 테스트하는 장치
20 20
대상 프로그램을 단일 표현식 레벨에서 변이하여 상기 대상 프로그램에 대응하는 변이 프로그램들을 생성하고, 미리 설정된 테스트 입력의 집합을 상기 변이 프로그램들에 인가함으로써 상기 변이 프로그램들 중 커버 범위를 확장하는(coverage increasing) 변이 프로그램들의 집합을 결정하고,상기 변이 프로그램들의 집합의 실행 결과에 기초하여, 상기 대상 프로그램에서 도달하지 못한 분기를 테스트하기 위해 추론된 선행 조건들인 가이드포스트들을 생성하고, 상기 가이드포스트들 각각을 상기 대상 프로그램에 삽입하여 생성한 가이드 버전의 대상 프로그램들에 컨커릭 테스트를 적용하여 상기 가이드 버전의 대상 프로그램들에 대응하는 테스트 입력을 생성하며, 상기 테스트 입력에 기초하여 상기 대상 프로그램을 테스트하는,프로세서를 포함하고, 상기 프로세서는 상기 가이드포스트들 각각을 상기 대상 프로그램의 변이 위치 직전에 삽입하고, 상기 변이 위치에 대응하는 연산자 및 상기 변이 위치에 대응하는 피연산자 중 적어도 하나가 계산되기 직전에 상기 가이드포스트들 각각을 실행함으로써 상기 가이드 버전의 대상 프로그램들을 생성하는, 대상 프로그램을 테스트하는 장치
지정국 정보가 없습니다
패밀리정보가 없습니다
순번, 연구부처, 주관기관, 연구사업, 연구과제의 정보를 제공하는 이전대상기술 뷰 페이지 상세정보 > 국가R&D 연구정보 정보 표입니다.
순번 연구부처 주관기관 연구사업 연구과제
1 과학기술정보통신부 한국과학기술원 원천기술개발사업 지능형 자동화를 통한 풀스택 SW 코드 검증
2 과학기술정보통신부 한국과학기술원 원천기술개발사업 지능형 자동화를 통한 풀스택 SW 디버깅
3 과학기술정보통신부 한동대학교 개인기초연구 데이터-주도적(date-driven)분석을 활용하는 효과적이고 효율적인 소프트웨어 자동 테스트 생성 기술 개발