서지주요정보
Effective concolic unit testing with dynamic unit contexts carved from system tests = 시스템에서 추출한 동적 유닛 컨텍스트를 이용한 효과적인 Concolic 유닛 테스팅
서명 / 저자 Effective concolic unit testing with dynamic unit contexts carved from system tests = 시스템에서 추출한 동적 유닛 컨텍스트를 이용한 효과적인 Concolic 유닛 테스팅 / Hyunsu Lim.
발행사항 [대전 : 한국과학기술원, 2019].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8033859

소장위치/청구기호

학술문화관(문화관) 보존서고

MCS 19028

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Automated unit testing techniques like concolic unit testing improve the benefits of unit testing through diverse unit test executions. However, current automated unit testing techniques do not utilize valuable information on dynamic unit contexts (DUCs) (i.e., values of all parameters and global variables read by a target function) in system tests due to the technical difficulty to extract them from system tests. I have developed a new concolic unit testing framework $CUT^2$ for complex C programs. First, $CUT^2$ instruments a target program P to insert probes that capture/carve DUCs of f for system tests. Second, $CUT^2$ carves DUCs of f while executing the instrumented target program with system tests. At this step, to carve DUCs of f accurately, $CUT^2$ carves not only parameters of f but also global variables updated by f and f's descendant functions. Third, $CUT^2$ generates a symbolic test driver and stubs that build symbolic search space based on the carved DUCs of f and performs concolic unit testing on f using the carved DUCs as initial test inputs for f. In the experiments on CoREBench, $CUT^2$ achieves around 90% branch coverage on average, which is at lease 10.9%p higher than the existing concolic unit testing techniques on average.

Concolic 테스팅과 같은 자동 유닛 테스팅 기술은 다양한 유닛 테스트 실행을 통해 유닛 테스팅의 이점을 향상시킨다. 그러나, 현재의 자동 유닛 테스팅 기술은 기술적인 한계로 인해 시스템 테스트로부터 동적 유닛 컨텍스트(목적 함수가 읽는 모든 전역 변수 및 함수 인자의 값)를 추출해내지 못하고, 이에 담긴 정보를 활용하지 못하고 있다. 이를 해결하기 위해 복잡한 C 프로그램을 위한 새로운 Concolic 유닛 테스팅 도구인 $CUT^2$를 개발했다. 첫번째로, $CUT^2$는 시스템 테스트로부터 f의 동적 유닛 컨텍스트를 추출해내는 탐지 코드를 목적 프로그램 P에 삽입한다. 이후, $CUT^2$는 탐지 코드가 삽입된 프로그램을 시스템 테스트를 통해 실행하여 f의 동적 유닛 컨텍스트를 추출한다. 여기서 f의 동적 유닛 컨텍스트를 정확하게 추출하기 위해 $CUT^2$는 f의 인자 뿐만 아니라 f에 의해 호출되는 함수 및 f에서 읽히는 전역 변수도 추출해낸다. $CUT^2$는 추출된 f의 동적 유닛 컨텍스트를 기반으로 하여 심볼릭 테스트 드라이버 및 스텁을 생성하고 f의 동적 유닛 컨텍스트를 최초 입력값으로 하여 Concolic 테스팅을 수행한다. CoREBench를 사용한 실험에서 $CUT^2$는 평균적으로 약 90%의 분기 커버리지를 달성하였으며 이는 기존의 Concolic 유닛 테스팅 기술에 비해 평균적으로 최소 10.9%p의 개선을 이뤄낸 것이다.

서지기타정보

서지기타정보
청구기호 {MCS 19028
형태사항 iv, 32 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 임현수
지도교수의 영문표기 : Moonzoo Kim
지도교수의 한글표기 : 김문주
수록잡지명 : Journal of KIISE, v. 45, no. 10, pp. 1035-1044(2018)
학위논문 학위논문(석사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 28-30
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서