서지주요정보
Augmenting equivalent mutant dataset using symbolic execution = 기호 실행을 이용한 동등 뮤턴트 데이터셋 보강
서명 / 저자 Augmenting equivalent mutant dataset using symbolic execution = 기호 실행을 이용한 동등 뮤턴트 데이터셋 보강 / Seungjun Chung.
발행사항 [대전 : 한국과학기술원, 2022].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8039910

소장위치/청구기호

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

MCS 22054

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Mutation testing aims to ensure that a test suite is capable of detecting real faults, by checking whether they can reveal (i.e., kill) small and arbitrary lexical changes made to the program (i.e., mutants). Some of these arbitrary changes may result in a mutant that is syntactically different but is semantically equivalent to the original program under test: such mutants are called equivalent mutants. Since program equivalence is undecidable in general, equivalent mutants pose a serious challenge to mutation testing. Given an unkilled mutant, it is not possible to automatically decide whether the cause is the weakness of test cases or the equivalence of the mutant. Recently machine learning has been adopted to train binary classification models for mutant equivalence. However, training such classification models requires a pool of equivalent mutants, the labelling for which involves a significant amount of human investigation. In this paper, we introduce two techniques that can be used to augment the equivalent mutant benchmarks. First, we propose a symbolic execution-based validation of mutant equivalence, instead of manual classification. Second, we introduce a synthesis technique for equivalent mutants: for a subset of mutation operators, the technique identifies potential mutation locations that are guaranteed to produce equivalent mutants. We compare these two techniques to MutantBench, a manually labelled equivalent mutant benchmark. For the 19 programs studied, MutantBench contains 462 equivalent mutants, whereas our technique is capable of generating 1,725 equivalent mutants automatically, of which 1,349 are new and unique. Also, our technique can generate 8,735 equivalent Higher Order Mutants. We further show that the majority of our generated equivalent mutants are not easily identifiable by TCE, a compiler equivalence based equivalent mutant detection technique, and that our augmentation can lead to more accurate equivalent mutant classification models.

뮤테이션 테스팅은 프로그램에 대한 작고 임의적인 어휘 변화(뮤턴트)를 테스트 스위트가 밝힐 수 있는지(혹은, 죽일 수 있는지) 확인함으로써 테스트 스위트의 실제 결함 탐지 능력을 확인하는 것을 목표로 한다. 이러한 임의의 변화들 중 일부는 구문적으로는 다르지만 의미적으로는 테스트 중인 원래 프로그램과 동일한 뮤턴트를 초래할 수 있다: 이런 뮤턴트를 동등 뮤턴트라고 한다. 임의의 프로그램 동등성은 결정 불가능한 문제이기 때문에, 동등 뮤턴트는 뮤테이션 테스팅의 심각한 문제이다. 죽지 않은 뮤턴트가 주어졌을 때, 그 원인이 테스트 스위트의 약점인지 뮤턴트의 동등성인지 자동으로 결정할 수 없다. 최근 뮤턴트 동등성에 대한 이진 분류 모델을 훈련시키기 위해 기계 학습이 채택되었다. 그러나 그러한 분류 모델을 훈련시키려면 훈련 데이터가 필요하고, 라벨링을 위해서는 상당한 양의 인간 노동이 수반된다. 본 논문에서는 동등 뮤턴트 벤치마크를 보강하는 데 사용할 수 있는 두 가지 기술을 소개한다. 첫째, 본 논문은 인간의 수동 분류 대신 기호 실행 기반 뮤턴트 동등성 검증을 제안한다. 둘째, 본 논문은 동등 뮤턴트 합성 기술을 소개한다. 일부 뮤테이션 연산자에 대해, 이 기술은 동등 뮤턴트를 생성하도록 보장되는 잠재적 뮤테이션 위치를 식별한다. 본 연구에서는 위 두 가지 기술을 수동으로 레이블링된 동등 뮤턴트 벤치마크인 MutantBench와 비교한다. 연구된 19개 프로그램의 경우 MutantBench는 462개의 동등 뮤턴트를 포함하고 있는 반면 제안된 기술은 1,725개의 동등 뮤턴트를 자동으로 생성할 수 있으며 그 중 1,349개는 기존에 존재하지 않는 동등 뮤턴트다. 또한 제안된 기술은 8,735개의 고차 동등 뮤턴트를 생성할 수 있다. 마지막으로 본 논문은 실험을 통해 보강한 동등 뮤턴트가 Trivial Compiler Equivalence (TCE)로 쉽게 검출이 가능하지 않으며, 더 정확한 동등 뮤턴트 분류 모델 훈련에 도움이 됨을 보여준다.

서지기타정보

서지기타정보
청구기호 {MCS 22054
형태사항 iv, 29 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 정승준
지도교수의 영문표기 : Shin Yoo
지도교수의 한글표기 : 유신
학위논문 학위논문(석사) - 한국과학기술원 : 전산학부,
서지주기 References : p. 25-27
주제 Mutation Testing
Equivalent Mutant
Symbolic Execution
Machine Learning
뮤테이션 테스팅
동등 뮤턴트
기호 실행
기계 학습
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서