검색 여닫기
검색
메뉴 여닫기
501
215
4
1.9천
noriwiki
둘러보기
대문
최근 바뀜
임의의 문서로
미디어위키 도움말
특수 문서 목록
파일 올리기
환경 설정 메뉴 여닫기
notifications
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
user-interface-preferences
한국어
개인 도구
로그인
Differential testing 문서 원본 보기
noriwiki
문서 공유하기
다른 명령
←
Differential testing
문서 편집 권한이 없습니다. 다음 이유를 확인해주세요:
요청한 명령은 다음 권한을 가진 사용자에게 제한됩니다:
사용자
.
문서의 원본을 보거나 복사할 수 있습니다.
[[분류: Fuzzing]] == 개요 == Differential testing은 동일한 입력을 여러 유사한 Application (혹은 버전만 다른 같은 Application)에 제공하고 실행의 차이를 관찰하여 버그를 탐지하는 Fuzzing기법이다. Differnetial testing은 Crash나 Abortion을 유발하지 않는 Semantic혹은 Logical bug를 발견하기 위해서 사용된다. Differential testing은 다른 발로 Back-to-Back testing이라고 불리기도 한다. Differential testing은 동일한 기능의 다양한 구현을 [[오라클]]로 사용하여서 버그를 찾는다. 만약 동일한 입력인데 서로다른 프로그램의 동작 차이가 발생하면, 이는 잠재적인 버그로 간주된다. Differential testing은 SSL/TLS 구현, C/C++ 컴파일러 버그 추적, JVM처럼 다양한 분야에서 사용된다. == 전략 == ; Unguided Input Generation : 비유도 입력 생성은, 과거의 정보를 고려하지 않고 모든 Test case generation이 독립적으로 생성한다. 따라서 간단하나 비효율적일 가능성이 매우 높은 방식이다. ; Guided Input Generation : 유도 입력 생성은 Domain-specific정보나 [[Symbolic execution]]처럼 다양한 프로그램의 사전정보를 가지고 Test case를 생성해 내는 방식을 말한다. 각 프로그램의 특성을 반영하는 복잡한 Policy를 가지고 있으나, 효율적인 방식으로 활발한 연구가 진행되고 있다.
Differential testing
문서로 돌아갑니다.