Intelligent Software Testing with Multiple Learning Classifiers

碩士 === 國立臺灣大學 === 電機工程學研究所 === 99 === Testing is an essential process of software development. Along with the progress of scientific and technological development of hardware, software systems become larger and larger. It is time consuming to do software testing with manpower traditionally. Using ma...

Full description

Bibliographic Details
Main Authors: Jhe-Jhang Jhan, 詹哲彰
Other Authors: Farn Wang
Format: Others
Language:en_US
Published: 2011
Online Access:http://ndltd.ncl.edu.tw/handle/68486235920677379339
Description
Summary:碩士 === 國立臺灣大學 === 電機工程學研究所 === 99 === Testing is an essential process of software development. Along with the progress of scientific and technological development of hardware, software systems become larger and larger. It is time consuming to do software testing with manpower traditionally. Using machine learning in place of labor efforts is getting more and more attractive. In this thesis, we present a multiple-classifier structure of software testing with machine learning algorithms including support vector machine (SVM), neural network (NN) and L*. The structure is composed of three phases. In the first phase, the structure uses some functions which can insert into user programs to collect useful information as our input data during program executions. Those input data, of course, could also be provided by users. In the second phase, we separate the input data into training data and testing data. The training data is used for building models and the testing data is for testing the models we build. The last phase is that we combine the results of models to generate a better result by using combinatorial functions. We investigate how to use machine learning techniques to automatically construct test oracles for programs without reliance on explicit specifications, and experiment with two open-source benchmarks to compare the accuracy of different learning algorithms and the accuracy after using combinatorial functions in the end.