서지주요정보
Automated unit testing framework for complex C++ programs = 복잡한 C++ 프로그램을 위한 자동 유닛 테스팅 프레임워크
서명 / 저자 Automated unit testing framework for complex C++ programs = 복잡한 C++ 프로그램을 위한 자동 유닛 테스팅 프레임워크 / Irfan Ariq Heriyanto.
발행사항 [대전 : 한국과학기술원, 2023].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8041347

소장위치/청구기호

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

MCS 23056

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

C++ is a very popular programming language. However, testing C++ programs is a challenging task due to the high complexity of C++ features (e.g., template, non-public member function, complex STL types, etc.), and there are almost no automated unit testing tool that handles such highly complex C++ features. I have developed CLEMENTINE, an automated unit testing tool for real-world C++ programs that handles complex C++ features. CLEMENTINE extends CITRUS by resolving three main limitations in CITRUS and supports more C++ features (e.g., testing non-public member function, handling global operator overloading, etc.). As a result, CLEMENTINE generates effective unit test cases for four real-world C++ programs that CITRUS fails to test. Moreover, the experiment results on eight real-world C++ open source programs show that CLEMENTINE could achieve 81.6% statement coverage (15.0%p higher than CITRUS), 60.1% branch coverage (8.9%p higher than CITRUS), and 88.5% function coverage (24.4%p higher than CITRUS) on average, proving that CLEMENTINE has better testing performance compared to CITRUS.

C++ 언어는 매우 많이 사용되는 언어임에도 불구하고, C++가 지원하는 매우 복잡한 기능때문에 C++ 프로그램을 테스트하는 것은 매우 큰 과제로 남아있다. 예를 들어, 템플렛, non-public 함수, 복잡한 STL 데이터 타입, 등의 복잡한 기능이 존재한다. 현재 이런 복잡한 기능을 다룰 수 있는 자동화된 유닛 테스트 도구는 전무한 실정이다. 본 논문에서는 이러한 복잡한 기능을 다룰 수 있는 새로운 자동화 유닛 테스트 생성 도구인 CLEMENTINE을 제시한다. CLEMENTINE은 기존 도구인 CITRUS의 3가지 제한점을 극복하고 더 많은 C++ 기능을 지원하도록 확장되었다. 그 결과, CLEMENTINE은 기존의 CITRUS가 테스트 생성에 실패한 4개의 실제 C++ 오픈 소스 프로그램을 효과적으로 테스트 할 수 있었다. 또한, 8개의 C++ 실제 오픈소스 프로그램에 실험한 결과, CLEMENTINE은 81.6%의 구문 커버리지, 60.1%의 분기 커버리지, 88.5%의 함수 커버리지를 보이며, 15.0%p 더 낮은 구문 커버리지, 8.9%p 더 낮은 분기 커버리지, 24.4%p 더 낮은 함수 커버리지를 보인 CITRUS에 비해 월등한 테스트 성능을 보이는 것을 확인했다.

서지기타정보

서지기타정보
청구기호 {MCS 23056
형태사항 v, 58 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 헤리얀토이르판 아리크
지도교수의 영문표기 : Moonzoo Kim
지도교수의 한글표기 : 김문주
Including appendix
학위논문 학위논문(석사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 53-56
주제 Automated test case generation
random method call sequence generation
C++ unit testing
자동화 테스트 생성
무작위 함수 호출 시퀀스 생성
C++ 유닛 테스팅
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서