Intelligent test oracles based on SVM for non-terminating systems

碩士 === 國立臺灣大學 === 電機工程學研究所 === 99 === A test oracle is a mechanism that decides whether an SUT (software under test) fails or passes a test case. Modern software IPs (intellectual properties) usually have a long life cycle and are subject to ever-changing requirements and operating environments. Esp...

Full description

Bibliographic Details
Main Authors: Li-Wei Yao, 姚力瑋
Other Authors: 王凡
Format: Others
Language:en_US
Published: 2011
Online Access:http://ndltd.ncl.edu.tw/handle/60397525239185211055
id ndltd-TW-099NTU05442025
record_format oai_dc
spelling ndltd-TW-099NTU054420252015-10-16T04:02:50Z http://ndltd.ncl.edu.tw/handle/60397525239185211055 Intelligent test oracles based on SVM for non-terminating systems 基於SVM技術之非終止系統之智慧型測試判別器 Li-Wei Yao 姚力瑋 碩士 國立臺灣大學 電機工程學研究所 99 A test oracle is a mechanism that decides whether an SUT (software under test) fails or passes a test case. Modern software IPs (intellectual properties) usually have a long life cycle and are subject to ever-changing requirements and operating environments. Especially, programs like operating systems, embedded systems, servers, etc. may never terminate and their test oracles need to monitor execution traces of unbounded lengths in order to issue correct test verdicts. We investigate how to use machine learning techniques to automatically construct test oracles for such non-terminating programs without reliance on explicit specifications. Firstly, we present a library, called InTOL (Intelligent Test Oracle Library), for the convenient and flexible collection of test traces. We can flexibly use either user guidance or program assertions to collect verdicts to test traces. Such verdicts are used as supervisory signals to the supervised learning algorithm (SLA) for a test oracle. Secondly, we present several sets of feature variables for the temporal relation among events in test traces of unbounded lengths. Then we present procedures that convert test traces into feature vectors, train an SLA with the feature vectors and their verdicts, and use the trained SLA as a test oracle. The approach is plausible since program traces are usually much easier to collect than formal specifications to construct. We report the implementation of InTOL on top of SVM (support vector machine). We experiment with two open-source benchmark SUTs from the internet to check the performance of our techniques. Our experiment data shows that high-accuracy test verdicts can be achieved with our test oracles for the benchmark SUTs. 王凡 2011 學位論文 ; thesis 39 en_US
collection NDLTD
language en_US
format Others
sources NDLTD
description 碩士 === 國立臺灣大學 === 電機工程學研究所 === 99 === A test oracle is a mechanism that decides whether an SUT (software under test) fails or passes a test case. Modern software IPs (intellectual properties) usually have a long life cycle and are subject to ever-changing requirements and operating environments. Especially, programs like operating systems, embedded systems, servers, etc. may never terminate and their test oracles need to monitor execution traces of unbounded lengths in order to issue correct test verdicts. We investigate how to use machine learning techniques to automatically construct test oracles for such non-terminating programs without reliance on explicit specifications. Firstly, we present a library, called InTOL (Intelligent Test Oracle Library), for the convenient and flexible collection of test traces. We can flexibly use either user guidance or program assertions to collect verdicts to test traces. Such verdicts are used as supervisory signals to the supervised learning algorithm (SLA) for a test oracle. Secondly, we present several sets of feature variables for the temporal relation among events in test traces of unbounded lengths. Then we present procedures that convert test traces into feature vectors, train an SLA with the feature vectors and their verdicts, and use the trained SLA as a test oracle. The approach is plausible since program traces are usually much easier to collect than formal specifications to construct. We report the implementation of InTOL on top of SVM (support vector machine). We experiment with two open-source benchmark SUTs from the internet to check the performance of our techniques. Our experiment data shows that high-accuracy test verdicts can be achieved with our test oracles for the benchmark SUTs.
author2 王凡
author_facet 王凡
Li-Wei Yao
姚力瑋
author Li-Wei Yao
姚力瑋
spellingShingle Li-Wei Yao
姚力瑋
Intelligent test oracles based on SVM for non-terminating systems
author_sort Li-Wei Yao
title Intelligent test oracles based on SVM for non-terminating systems
title_short Intelligent test oracles based on SVM for non-terminating systems
title_full Intelligent test oracles based on SVM for non-terminating systems
title_fullStr Intelligent test oracles based on SVM for non-terminating systems
title_full_unstemmed Intelligent test oracles based on SVM for non-terminating systems
title_sort intelligent test oracles based on svm for non-terminating systems
publishDate 2011
url http://ndltd.ncl.edu.tw/handle/60397525239185211055
work_keys_str_mv AT liweiyao intelligenttestoraclesbasedonsvmfornonterminatingsystems
AT yáolìwěi intelligenttestoraclesbasedonsvmfornonterminatingsystems
AT liweiyao jīyúsvmjìshùzhīfēizhōngzhǐxìtǒngzhīzhìhuìxíngcèshìpànbiéqì
AT yáolìwěi jīyúsvmjìshùzhīfēizhōngzhǐxìtǒngzhīzhìhuìxíngcèshìpànbiéqì
_version_ 1718091472550494208