View : 905 Download: 0

소프트웨어 메모리 결함 탐지율의 효율적인 측정을 위한 뮤테이션 테스트 선택방안 적용사례

Title
소프트웨어 메모리 결함 탐지율의 효율적인 측정을 위한 뮤테이션 테스트 선택방안 적용사례
Other Titles
A Case on the Selection Method of Mutation Test for Effective Measurement on a Software Memory Fault Detection Rate
Authors
박민경
Issue Date
2019
Department/Major
대학원 컴퓨터공학과
Publisher
이화여자대학교 대학원
Degree
Master
Advisors
최병주
Abstract
소프트웨어의 활용이 다양해지고 복잡해짐에 따라 소프트웨어 품질에 대한 신뢰성 검증이 중요시 되고 있다. 특히 소프트웨어는 산업용 전자기기, 가전제품, 자동차, 의료 도구, 무기체계에 이르기까지 일상생활에 밀접해있어 소프트웨어의 신뢰성 검증에 대한 중요성은 점점 더 커지고 있다. 결함이 발생한다면, 최악의 경우 인명피해로 넘어설 수 있기 때문이다. 뮤테이션 테스팅은 결함 기반 테스팅 기법 중 하나로 프로그램의 신뢰성을 검증하는데 사용된다. 뮤테이션 테스팅의 정의는 의도적으로 프로그램의 소스코드를 변형시켜 뮤턴트를 생성하고, 뮤턴트와 원본 프로그램에 동일한 입력값을 넣고 수행하였을 때, 서로 다를 결과를 출력시키는 입력값을 테스트케이스로 선정하는 기법이다. 이러한 과정을 통해 프로그램 내에 존재할 수 있는 결함을 찾고, 수정을 통해 프로그램의 신뢰성을 높일 수 있다. 뮤테이션 테스팅은 결함 발생의 여러 가지 요소에 대해 꼼꼼히 실험할 수 있다는 장점이 있지만, 그에 비해 생성된 수많은 테스트케이스를 수행하는데 드는 비용과 시간이 많이 든다는 단점이 있다. 이런 단점에 대해 테스트케이스 전체를 수행하지 않고 조건 등을 부여하여 일부 테스트 세트만을 통해 신뢰성을 검증하는 뮤테이션 선택 방안에 대한 연구가 이루어져왔다. 본 논문의 목적은 소프트웨어 결함을 메모리 결함으로 한정하여 뮤테이션 테스팅 진행 시, 네 가지 선택 방안을 적용한 것에 대한 결함 탐지율 결과와 뮤테이션 선택 방안의 효율성을 확인하는 것이다. 랜덤, 머신러닝, One-op, minimal 선택 방안 중 높은 결함 탐지율과 효율성을 보인 선택 방안은 머신러닝을 이용한 선택 방안이다.;As the use of software becomes more diverse and complex, reliability verification of its quality becomes crucial. In particular, software gets increasingly important in verifying the reliability of software because it is closely connected to everyday life, ranging from industrial electronic devices, home appliances, cars, medical tools and weapons systems. This is because if a defect occurs, it can make loss of lives at the worst. Mutation testing is one of the error-based testing techniques used to verify the reliability of a program. The definition of this testing is a technique that deliberately transforms the source code of a program to generate a mutant, and selects the input value that outputs different results as a test case, when performed with the same input values in the Mutant and the original program. This process can help identify possible defects within a program and improve the reliability of the program through modifications. The benefit of Mutation testing is that it can be thoroughly tested on the various elements of a fault occurrence, but there are side effects that cost a lot of money and time in carrying out numerous generated test cases. There has been a study on how to select the mutation that verifies reliability through only a few test cases by assigning conditions rather than performing the entire test case. The purpose of this paper is to limit software flaws to memory defects and to verify the fault detection rate results which are applied to four choice methods and the effectiveness of the mutation selection method in the process of speech testing. The option, which showed the highest defect detection rate among random, machine-learning, one-op and minimal options, is a choice using machine learning.
Fulltext
Show the fulltext
Appears in Collections:
일반대학원 > 컴퓨터공학과 > Theses_Master
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

BROWSE