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...
Main Authors: | , |
---|---|
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 |