서지주요정보
Analysis and improvement of unit-level concolic testing for real-world C programs = C 프로그램을 위한 단위 수준 콘콜릭 테스팅에 대한 분석 및 개선
서명 / 저자 Analysis and improvement of unit-level concolic testing for real-world C programs = C 프로그램을 위한 단위 수준 콘콜릭 테스팅에 대한 분석 및 개선 / Zidong Yang.
발행사항 [대전 : 한국과학기술원, 2022].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8038944

소장위치/청구기호

학술문화관(도서관)2층 학위논문

MCS 22003

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Unit-level concolic testing has become popular as it explores every execution path of each function in a short time with high branch coverage. However, the current concolic unit testing tool suffers a set of limitations. For example, the unit-testing tool cannot determine the actual type of what a void pointer is cast to, and external library functions are not fully supported. Therefore, the branch coverage obtained on real-world programs is not satisfying. This dissertation conducts comprehensive experiments on six real-world subjects using CROWN2.0 ver 2020, a popular commercial unit-level concolic testing tool. In the experiments, all the 324 groups of unexplored branches of the target subjects are thoroughly analyzed, and this dissertation summarizes the analysis into 13 limitations of the current testing tool. For each limitation, this dissertation provides detailed explanations why the corresponding uncovered branches are not covered with code examples. I expect these explanations can help the developers to understand and improve the concolic unit testing tool in the future. Also, this dissertation proposes and applies solutions the obtained limitations, which gives an average improvement on the branch coverage of 77\% for six subjects.

유닛 레벨 Concolic 테스팅은 짧은 시간 안에 각 함수의 다양한 실행을 하면서 높은 분기 커버리지를 보이는 테스트를 생성할 수 있는 기술이다. 하지만, 현재의 Concolic 테스팅 기법은 여러 문제점을 가지고 있는데, 예를 들어 유닛 레벨 Concolic 테스팅 기법으로는 void 타입의 포인터가 어떤 타입으로 변환 (casting) 되어 사용되는지 알 수 없으며, 외부 라이브러리 함수도 제대로 다룰 수가 없다. 따라서, 실제 프로그램에 유닛 레벨 Concolic 테스팅 기법을 적용하였을 때 충분한 분기 커버리지를 달성하지 못하게 된다. 본 논문에서는 상용 유닛 레벨 Concolic 테스팅 도구인 CROWN2.0 ver 2020을 6개의 실제 프로그램에 적용한 실험을 구성하였다. 해당 실험에서 324개 그룹의 달성하지 못한 분기를 모두 분석하여, 현재 도구가 가지고 있는 13개의 제한점으로 정리하였다. 각 제한점에 대해 왜 해당 분기가 달성되지 못하였는지, 코드 예시를 포함한 설명을 추가하여 차후 Concolic 유닛 테스팅 도구 개발자가 각 제한점을 이해하고, 개선할 수 있도록 하였다. 또한, 각 제한점에 적용할 수 있는 해결법을 제시하고 구현하여, 종합적으로 6개의 테스트 대상 프로그램에서 77\%의 분기 커버리지 향상을 보였다.

서지기타정보

서지기타정보
청구기호 {MCS 22003
형태사항 vi, 62 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 양재동
지도교수의 영문표기 : Moonzoo Kim
지도교수의 한글표기 : 김문주
학위논문 학위논문(석사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 57-60
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서