ようこそ ゲスト さん
ログイン
入力補助
English
カテゴリ
インデックスツリー
ランキング
アクセスランキング
ダウンロードランキング
その他
法政大学
法政大学図書館
インデックスツリー
資料タイプ別
学位論文
博士論文
スポーツ健康学研究科
法学研究科
政治学研究科
人文科学研究科
経済学研究科
社会学研究科
経営学研究科
国際文化研究科
人間社会研究科
情報科学研究科
デザイン工学研究科
理工学研究科
理工学研究科生命機能学専攻
工学研究科
政策創造研究科
公共政策研究科
国際日本学インスティテュート
政策科学研究科 (旧)
このアイテムのアクセス数:
82
件
(
2025-01-15
22:43 集計
)
Permalink : https://doi.org/10.15002/00025230
Permalink : https://hdl.handle.net/10114/00025230
閲覧可能ファイル
ファイル
フォーマット
サイズ
閲覧回数
説明
21_thesis_wangrong
pdf
63.8 MB
54
博士論文全文
21_point_wangrong
pdf
296 KB
64
論文および審査の要旨
論文情報
ファイル出力
アイテムタイプ
学位論文
タイトル
Researches on Automatic Techniques for Specification-Based Testing and Fault Localization
著者
著者名
WANG, Rong
著者名
王, 榕
言語
eng
DOI
https://doi.org/10.15002/00025230
開始ページ
1
終了ページ
143
発行年
2022-03-24
著者版フラグ
Not Applicable (or Unknown)
学位授与番号
32675甲第547号
学位授与年月日
2022-03-24
学位名
博士(理学)
学位授与機関
機関名
法政大学 (Hosei University)
内容記述
情報科学研究科情報科学専攻 (総合理工学インスティテュート) ; 主査 教授 馬建華, 副査 教授 細部博史, 副査 教授 佐藤裕二, 副査 広島大学教授 劉少英
抄録
The existing specification-based techniques (SBT) has difficulty in generating an appropriate test suite without the knowledge of code structure to trigger different kinds of unintended behaviours hidden in programs. Symbolic execution, a powerful technique for automating software testing, instead takes advantage of internal code design to detect many types of errors like out of memory and assertion violations. However, it can encounter severe path explosion problem during the exhausted test data generation. Besides, by only using assertions, it may ignore some faulty paths due to not going deep into checking the functional correctness of a path. To address these problems, this research proposes a specification-based incremental testing method with symbolic execution, called SIT-SE, to provide a much more rigorous way to automatically check the functional correctness of all the discovered program paths within limited time. In this method, we introduce theorems instead of assertions for checking path correctness, and describe a Branch Sequence Coverage (BSC) algorithm together with checking levels for guiding a moderate path exploration. The proposed method carefully treats the relationship between a path condition and the specification in a theorem to reduce the monotonous path exploration, whereas traditional symbolic testing methods use assertions that are not sufficient to judge the correctness of a path during the long tedious path exploration. Moreover, we present a strategy of fault localization called TRIACFL with the support of the SIT-SE to give useful hints to pinpoint the faults in a small set of statements. To enrich our methodology of testing used in practice, we also describe a test data generation method that integrates formal specification with a genetic algorithm as supplementary to the SIT-SE for dealing with exceptional cases where some code is not available to testers. We conduct two experiments with the proposed methods, and the results demonstrate that these methods together facilitate an effective automatic bug detection. There are three main contributions in our work. Firstly, we propose a method, SIT-SE, to provide a systematic way to automatically verify the correctness of all the representative program paths by integrating symbolic execution and formal specification. Secondly, we present a fault localization method with the SIT-SE, namely TRIACFL, to provide useful clues for the locations of real faults within a small scale of statements in programs. Thirdly, a test data generation method using the formal specification and a genetic algorithm (GA), is proposed to cope with the situations where the SIT-SE is not applicable.
資源タイプ
Thesis
インデックス
資料タイプ別
 > 
学位論文
 > 
博士論文
 > 
情報科学研究科
109 情報科学部・情報科学研究科
 > 
学位論文
 > 
博士論文
ホームへ戻る