Please use this identifier to cite or link to this item: http://rportal.lib.ntnu.edu.tw:80/handle/20.500.12235/106846
Title: 對於非決定性並行軟體的語句覆蓋測試
Statement Coverage Testing for Non-deterministic Concurrent Software
Authors: 黃冠寰
Gwan-Hwan Hwang
林劭彥
Shao-Yan Lin
Keywords: 並行程式
符號執行
可達性測試
語句覆蓋
current program
symbolic execution
Reachability Testing
statement coverage
Issue Date: 2010
Abstract: 不論是軟體專案、工程專案或是其他許許多多的應用程式,在完成之前總是需要大大小小的測試來驗證其可靠性。以軟體來說單元測試、功能測試接著是整合測試等等。但是測試所花費的成本十分的高,不管是人力成本或是其他相關的軟硬體成本都不少。而statement coverage通常被要求是軟體測試中的一項指標。 在並行程式中的statement coverage需要考慮數隻程式同時執行的情況,如何得知有哪些statement無法執行到是因為什麼條件,便需要利用symbolic execution。再來同一組輸入執行多次可能有不同的結果,要如何將所有的可能的interleaving都一一找到,這邊介紹了三種方法Concolic Testing、Model checking與Reachability Testing並加以介紹與比較。 此篇研究主要在於發展一種測試的方法,來達到statement coverage。以現有的Reachability Testing為基礎,加上symbolic execution來達成statement coverage。提出一套演算法利用Statement Mapping Table來和SYN-sequence結合,來探討程式中未能執行到的statement是否可透過更改輸入,來讓它被執行到。最後告知使用者程式是否有存在dead code無法執行到或是可以在一個或數個輸入之下順利達成statement coverage。
No matter what the software project, engineering projects or other applications is, we need a lot of different tests to verify the reliability before completion.In software testing, we need unit testing first, and then function testing. Finally, we need to integration testing. But the cost of testing is extremely high, regardless of human cost, or other related costs. And Statement Coverage is usually a criterion of software testing.Statement coverage in concurrent software needs to consider the different application execution simultaneously. To know which statement cannot be performed and with what condition, we need to use symbolic execution. Because the same input might causes different results, we should find out all the possible interleaving. In this paper, we introduce and compare Concolic Testing, Model checking and Reachability Testing.The purpose in this paper is to develop a testing method to achieve the Statement Coverage.In addition to achieve Statement Coverage, we combine existing Reachability Testing and symbolic execution together . We propose an algorithm which uses the Statement Mapping Table with the SYN-sequence to discuss whether the non-reach statement can be executed by changing the input. Last but not the less, we would tell the user whether the program exists dead code cannot be performed or can enter in one or several inputs to reach Statement coverage.
URI: http://etds.lib.ntnu.edu.tw/cgi-bin/gs32/gsweb.cgi?o=dstdcdr&s=%22http://etds.lib.ntnu.edu.tw/cgi-bin/gs32/gsweb.cgi?o=dstdcdr&s=id=%22GN0698470300%22.&%22.id.&
http://rportal.lib.ntnu.edu.tw:80/handle/20.500.12235/106846
Other Identifiers: GN0698470300
Appears in Collections:學位論文

Files in This Item:
There are no files associated with this item.


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.