Resolving Unspecified Software Features by Directed Random Testing

碩士 === 國立交通大學 === 資訊科學與工程研究所 === 96 === Testing is one of the most important phases of software quality assurance, for the process of software construction cannot guarantee the absence of bugs. Dynamic and static analysis tools are maturely developed in recent years. In 2005, the concept of concolic...

Full description

Bibliographic Details
Main Authors: Li-Wen Hsu, 許立文
Other Authors: Shih-Kun Huang
Format: Others
Language:en_US
Published: 2007
Online Access:http://ndltd.ncl.edu.tw/handle/58010718080438180981
id ndltd-TW-096NCTU5394006
record_format oai_dc
spelling ndltd-TW-096NCTU53940062015-10-13T13:59:36Z http://ndltd.ncl.edu.tw/handle/58010718080438180981 Resolving Unspecified Software Features by Directed Random Testing 以導引式隨機測試方法探索軟體未規範實作功能 Li-Wen Hsu 許立文 碩士 國立交通大學 資訊科學與工程研究所 96 Testing is one of the most important phases of software quality assurance, for the process of software construction cannot guarantee the absence of bugs. Dynamic and static analysis tools are maturely developed in recent years. In 2005, the concept of concolic (combined word of concrete and symbolic) testing was proposed, which combines static and dynamic program analysis methods. In this thesis, we implement ALERT, a concolic testing framework and an Unspecified Software Feature (USF) Checker based on ALERT. By using automatic theorem prover library for satisfiability modulo theories, we can analyze and determine the inputs to direct program's execution along particular paths. With this mechanism, we can control the values in stack section. It can also be used to manipulate the values of uninitialized variables and to trigger specific behavior of the program. We present a two-phase testing algorithm in this thesis. In the first phase, we use dynamic analysis tool to retrieve real run-time information. In the second phase, we analyze the program by using concolic testing method with the data collected in the first phase. The result generated by the prover will be the input for the next testing run. This testing process iterates until a fault is found or all the program execution paths are enumerated. We use this tool to resolve unspecified program features caused by uninitialized variables. It successfully extracts the program behavior which cannot be found with traditional program analysis methods. The method in this thesis resolves the information lost problem caused by source code instrumentation in the process of testing and improves the accuracy of the test. Shih-Kun Huang 黃世昆 2007 學位論文 ; thesis 41 en_US
collection NDLTD
language en_US
format Others
sources NDLTD
description 碩士 === 國立交通大學 === 資訊科學與工程研究所 === 96 === Testing is one of the most important phases of software quality assurance, for the process of software construction cannot guarantee the absence of bugs. Dynamic and static analysis tools are maturely developed in recent years. In 2005, the concept of concolic (combined word of concrete and symbolic) testing was proposed, which combines static and dynamic program analysis methods. In this thesis, we implement ALERT, a concolic testing framework and an Unspecified Software Feature (USF) Checker based on ALERT. By using automatic theorem prover library for satisfiability modulo theories, we can analyze and determine the inputs to direct program's execution along particular paths. With this mechanism, we can control the values in stack section. It can also be used to manipulate the values of uninitialized variables and to trigger specific behavior of the program. We present a two-phase testing algorithm in this thesis. In the first phase, we use dynamic analysis tool to retrieve real run-time information. In the second phase, we analyze the program by using concolic testing method with the data collected in the first phase. The result generated by the prover will be the input for the next testing run. This testing process iterates until a fault is found or all the program execution paths are enumerated. We use this tool to resolve unspecified program features caused by uninitialized variables. It successfully extracts the program behavior which cannot be found with traditional program analysis methods. The method in this thesis resolves the information lost problem caused by source code instrumentation in the process of testing and improves the accuracy of the test.
author2 Shih-Kun Huang
author_facet Shih-Kun Huang
Li-Wen Hsu
許立文
author Li-Wen Hsu
許立文
spellingShingle Li-Wen Hsu
許立文
Resolving Unspecified Software Features by Directed Random Testing
author_sort Li-Wen Hsu
title Resolving Unspecified Software Features by Directed Random Testing
title_short Resolving Unspecified Software Features by Directed Random Testing
title_full Resolving Unspecified Software Features by Directed Random Testing
title_fullStr Resolving Unspecified Software Features by Directed Random Testing
title_full_unstemmed Resolving Unspecified Software Features by Directed Random Testing
title_sort resolving unspecified software features by directed random testing
publishDate 2007
url http://ndltd.ncl.edu.tw/handle/58010718080438180981
work_keys_str_mv AT liwenhsu resolvingunspecifiedsoftwarefeaturesbydirectedrandomtesting
AT xǔlìwén resolvingunspecifiedsoftwarefeaturesbydirectedrandomtesting
AT liwenhsu yǐdǎoyǐnshìsuíjīcèshìfāngfǎtànsuǒruǎntǐwèiguīfànshízuògōngnéng
AT xǔlìwén yǐdǎoyǐnshìsuíjīcèshìfāngfǎtànsuǒruǎntǐwèiguīfànshízuògōngnéng
_version_ 1717747130095894528