서지주요정보
Automatic test oracle generation based on variable centrality analysis = 변수 중심성 분석을 통한 테스트 오라클 생성 자동화
서명 / 저자 Automatic test oracle generation based on variable centrality analysis = 변수 중심성 분석을 통한 테스트 오라클 생성 자동화 / Pablo Loyola.
저자명 Loyola, Pablo ; Loyola, Pablo
발행사항 [대전 : 한국과학기술원, 2013].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8025676

소장위치/청구기호

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

MWST 13009

SMS전송

도서상태

이용가능

대출가능

반납예정일

초록정보

Nowadays, software has increased its complexity as it became essential part of our everyday life. While its pervasiveness and criticality grows as it has been incorporated in many fields, the task of ensuring that its behavior follows certain quality standards represents a crucial goal. Testing represents one of the most used tools to verify and validate the functionality of the software. The complexity of the software has increased the need for automated software testing. Most of the work has focused on the automation of test input data. The automation of the test oracles has not been explored exhaustively. Both elements are equally relevant in the testing process. While test input data allows to explore all possible states, oracles allow to visualize the faulty behaviour. In this work, it is proposed a novel technique to support the automatic generation of test oracles. The main idea is to rank program variables based on the observed interaction during program execution. To obtain a quantitative metric, the concept of network centrality is used. The only input that is required is the set of test input data. From this, the proposed approach performs the analysis during execution and recommends a set of assertions. The proposed approach was evaluated in an empirical study against a random oracle generation process and a mutation analysis based oracle generation process using a set of case examples from the critical systems domain. The results showed that the proposed approach performs better that the random based and the mutation based alternatives with increments in the effectiveness up to 25\% and 11\% respectively when using betweenness centrality and eigenvector centrality. The use of closeness centrality and degree centrality did not show significant improvement. The main contribution of this work is the generation of a new feasible alternative to support the automation of oracle generation that does not rely on the use of exhaustive techniques such as mutation analysis which allows to avoid scalability issues. As future work, it is proposed to work on the generation of an ad-hoc metric for a software context and also study the impact of the coverage strategy used to generate the input data. Finally, it is proposed to perform an empirical study to compare the proposed approach with a human based generation process.

최근 소프트웨어는 우리 생활의 필수적인 요소가 됨으로써 그 복잡성이 증가하고 있다. 소프트웨어가 많은 분야에서 사용되고 있기 때문에 소프트웨어의 파장성과 중요성이 커지고 있고 소프트웨어가 확실한 품질 기준을 따라 동작하도록 하는 것이 중요한 목표이다. 테스팅은 소프트웨어의 기능성을 검증학고 확인하기 위해 가장 많이 사용되는 방법 중 하나이다. 소프트웨어의 복잡성은 자동화된 소프트웨어 테스팅을 더욱 필요로 한다. 대부분의 연구들은 테스트 입력 데이터의 자동생성에 초점을 맞췄다. 테스트 오라클(test oracle)에 대한 자동생성은 자세히 다루어지지 않았다. 두 요소 모두 테스팅 과정에서 동등하게 관련이 있다. 테스트 입력데이타가 모든 가능한 상태를 탐색하는 것을 가능하게 해주는 반면, 테스트 오라클은 소프트웨어의 결함을 드러나게 해준다. 본 연구에서는 테스트 오라클 생성 자동화를 도와주는 새로운 기술을 제안한다. 핵심 아이디어는 프로그램 실행 중 관찰되는 변수들의 상호작용을 기반으로 변수들에 순위를 매기는 것이다. 정량적인 측정을 위해 네트워크 중심성 개념이 사용되었다. 우리가 제안하는 방법은 테스트 입력 데이터셋만을 필요로 하며 실행 중 분석을 통해 어설션(assertion)셋을 추천한다. 우리가 제안하는 방법은 실증적인 연구로 평가되었으며 크리티컬 시스템 분야에서 사용하는 프로그램들을 대상으로 랜덤 오라클 생성 프로세스와 뮤테이션(mutation) 분석기반의 오라클 생성 기법들과 비교하였다. 실험결과는 사이 중앙성과 고유벡터 중앙성을 이용하였을 때 본 접근방법이 랜덤기반 그리고 뮤테이션 기반 접근방법보다 각각 25\%, 11\% 뛰어남을 보였다. 본 연구의 주요 기여는 확장성 문제가 있는 뮤테이션 분석과 같은 무거운 방법에 의존하지 않고도 테스트 오라클 생성을 자동화하는 새로운 대체 방법을 제안한 점이다. 향후 연구로 소프트웨어 컨택스트를 위한 적절한 측정지표의 생성에 대한 연구와 입력데이터를 생성하기 위한 커버리지(coverage) 전략의 효과에 대한 연구를 제안한다. 마지막으로 사람 기반의 생성방법과 본 접근방법과의 실증적인 비교연구도 제안한다.

서지기타정보

서지기타정보
청구기호 {MWST 13009
형태사항 v, 28 p. : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : Pablo Loyola
지도교수의 영문표기 : In-Young Ko
지도교수의 한글표기 : 고인영
공동지도교수의 영문표기 : Gregg Rothermel
공동지도교수의 한글표기 : 그레그 로더멜
학위논문 학위논문(석사) - 한국과학기술원 : 웹사이언스공학전공,
서지주기 References : p. 25-26
주제 Software Testing
Data Flow Analysis
Network Centrality
소프트웨어 테스팅
데이터 흐름 기반 분석
네트워크 중심성
QR CODE qr code