서지주요정보
Combining weak and strong mutation for Non-Interpretive java mutation system = 강/약 뮤테이션의 결합을 이용한 자바 프로그램 대상의 비해석 방식 뮤테이션 시스템
서명 / 저자 Combining weak and strong mutation for Non-Interpretive java mutation system = 강/약 뮤테이션의 결합을 이용한 자바 프로그램 대상의 비해석 방식 뮤테이션 시스템 / Sang-Woon Kim.
발행사항 [대전 : 한국과학기술원, 2011].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8022988

소장위치/청구기호

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

DCS 11026

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Mutation testing is a fault-based testing technique that measures the effectiveness of test cases and assists in developing new test cases. In spite of that it is a powerful testing method, its computationally expensive cost leads to design efficient and systematic mutation testing approaches with mutation systems. Mutation systems can be classified into interpretive mutation systems and non-interpretive mutation systems, but recently developed mutation systems are non-interpretive. Although those non-interpretive mutation systems are much faster than interpretive mutation systems, their costs are still expensive. Weak mutation is the well-known cost reduction method of mutation testing which determines testing results from the intermediate states of the program. It is designed to interpretive mutation systems so that it is not directly applicable to non-interpretive mutation systems. We present a combined weak and strong mutation for non-interpretive Java mutation systems in order to address the problem and take advantage of the efficiency of weak mutation. Based on metamutant in Mutant Schemata Generation technique, we define "serialmutant" to conduct weak mutation against all mutants in an execution. Only weakly killed mutants are reported as strong mutation candidates. Then we conduct strong mutation only for those reported mutants. The approach dynamically filters mutants that are not reached or weakly lived. Then, another approach based on the combined approach is also presented. It executes fewer mutants but retains almost the same degree of effectiveness. During the weak mutation in the combined approach, it dynamically groups weakly killed mutants that are doubtlessly expected to produce the same result for a test case, and then only one mutant from each group is fully executed against the test case. We also describe our implementation based on a previous Java mutation tool, MuJava. Experiments were performed on a well-known Java program, Triangle, and a simple open source library for regular expression. Considering mutant execution time, our approach reduces the mutation cost by more than three times compared to the previous approach because the number of mutants to be executed with strong mutation was reduced by only running weakly killed mutants. The results show our approach improves the mutation cost in a non-interpretive mutation system. In addition, our approach can be combined with existing cost reduction approaches.

뮤테이션 시험은 오류 기반의 시험 기법으로 사전 생성된 시험 사례의 품질을 평가하기 위한 목적으로 제안되었으나, 평가에 따라 새로운 시험 사례를 생성하는데도 이용된다. 시험 사례를 효과적으로 평가하는 뮤테이션 시험 기법은 시험을 수행하는 비용이 효과 대비 매우 크다는 단점이 있다. 이를 해결하기 위해 뮤테이션 도구를 통해 체계적이고 효율적으로 시험할 수 있는 연구방법들이 제안되었다. 해석 방식과 비해석 방식의 뮤테이션 시스템 중 시험 프로그램을 해석의 무거운 비용으로 해석 방식의 수행 비용은 다분히 많은 비용을 야기한다. 그러나 자바와 같은 복잡한 프로그램의 경우, 비해석 방식의 뮤테이션 시스템 조차도 수행 비용이 부담이 될 수 밖에 없다. 해석 방식의 뮤테이션 시스템에서 사용되던 약한 뮤테이션 기법은 수행 중인 프로그램의 내부상태를 이용해 시험 결과를 결정하여 효율적 시험기법으로 잘 알려져 있다. 본 논문은 약한 뮤테이션의 장점을 이용하고, 비해석 시스템에서 사용되는 강한 뮤테이션을 조합하여 뮤턴트 수행 효율을 극대화하는 조합 기법을 제안한다. MSG기법의 메타뮤턴트를 기반하는 시리얼뮤턴트를 정의하고 이를 통해 한번의 수행으로 전체 뮤턴트 약한 뮤테이션 결과를 획득한다. 약한 뮤테이션을 통해 제거 대상의 뮤턴트만 추출하고, 추출된 뮤턴트에 대해서만 재차 강한 뮤테이션으로 시험한다. 전체 뮤턴트 중 시험 사례에 의해 수행 가능하고, 약한 뮤테이션으로 제거 가능한 뮤턴트만이 강한 뮤테이션의 수행대상으로 줄어들기 때문에 불필요한 수행 비용을 줄일 수 있다. 또한, 약한 뮤테이션과 강한 뮤테이션을 조합하는 선행 연구에 이어 뮤테이션 시험의 효과의 감소를 최소화하면서 시험 대상 뮤턴트의 수를 줄이는 기법을 추가 제안한다. 추가 기법은 선행 연구의 약한 뮤테이션 도중 시험 사례에 대해 동일한 결과를 야기하는 뮤턴트들을 지속적으로 무리로 구성한다. 시험 사례의 수행이 완료될 때까지 무리들은 동적으로 분할된다. 최종 같은 무리로 구분된 뮤턴트들은 해당 시험 사례에 한해 동치 뮤턴트로 간주하며, 오직 한 뮤턴트를 강한 뮤테이션을 적용하고, 나머지 뮤턴트들은 대표 뮤턴트의 결과로 대체하여 중복 수행 비용을 줄일 수 있다. 본 연구에서 제안한 기법들은 기존 개발된 자바 대상의 뮤테이션 시스템인 MuJava를 기반한 뮤테이션 시스템으로 구현되었다. 구현된 시스템을 이용해서 소프트웨어 시험에서 자주 사용되는 삼각형 예제 및 비교적 단순한 오픈 소스 라이브러리에 대해 뮤테이션 시험을 적용해보았다. 뮤테이션 시험은 기존 시스템의 약 25\% 수준의 시간만 소요됐다. 또한 예제를 통해 강한 뮤테이션을 적용해야 하는 대상을 감소시켜, 수행 비용이 감소 할 수 있음을 보였다. 또한 제안된 기법이 다양한 비용 감소 기법들의 조합이 성공적으로 가능함을 있음을 보였다.

서지기타정보

서지기타정보
청구기호 {DCS 11026
형태사항 v, 61 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 김상운
지도교수의 영문표기 : Yong-Rae Kwon
지도교수의 한글표기 : 권용래
학위논문 학위논문(박사) - 한국과학기술원 : 전산학과,
서지주기 References : p.57-61
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서