Fse ase2011 f07 testing
Download
1 / 8

FSE/ASE2011 勉強会 F07:Testing - PowerPoint PPT Presentation


  • 70 Views
  • Uploaded on

FSE/ASE2011 勉強会 F07:Testing. 紹介者 早稲田大学 鷲崎研究室 青井 翔平. Strong Higher Order Mutation-Based Test Data Generation. Mark Harman Yue Jia Willian B . Lengdon. 前提知識. Mutation-Based Test とは? オリジナルのプログラムをバグがでるよう に ミュータントを生成して、テストの十分性を評価する手法 既存の テストデータ生成 手法 Dynamic Symbolic Execution 動的な記号的実行

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' FSE/ASE2011 勉強会 F07:Testing' - pilar


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Fse ase2011 f07 testing

FSE/ASE2011勉強会F07:Testing

紹介者

早稲田大学 鷲崎研究室

青井 翔平


Strong higher order mutation based test data generation

Strong Higher Order Mutation-Based Test Data Generation

Mark Harman

YueJia

Willian B . Lengdon


前提知識

  • Mutation-Based Testとは?

    • オリジナルのプログラムをバグがでるようにミュータントを生成して、テストの十分性を評価する手法

    • 既存のテストデータ生成手法

      • Dynamic Symbolic Execution

        • 動的な記号的実行

      • Search Based Software Testing

        • メタヒューリスティクスな手法を用いたテスト技法

    • 問題

      • 複数の改変を加えたミューテーションを扱った研究がない

      • Propagationを意識していない

Original

バグ

Mutant

テスト実行


目的と貢献

  • 目的

    • 複数の改変を加えたミューテーションに対応したテストデータの生成

    • Propagationを意識したテストの生成

  • 貢献

    • 単純なミュータント、複雑なミュータント両方を利用したテストデータ自動生成で幅広い大小様々なプログラムで実行

    • 既存の手法との比較実験を行った結果、ミュータントへのテストデータ網羅率で上回った。


本論文での定義

  • Infection

    • あるテストを実行したときに、元のプログラムとミュータントプログラムで状態がかわること

  • Propagation

    • 変わった状態が出力として顕在化すること

  • Weakly Kill(既存手法)

    • Infectionのみを満たすテスト

  • Strongly Kill

    • Propagationまでを満たすテスト

  • First Order Mutant(既存手法)

    • ひとつのシンプルなシンタックス変更などで作成したミュータント

  • Higher Order Mutant

    • 複数のFirst Order Mutantのバグを結合したもの

出力

網羅率

影響

既存

提案

Mutant1

Mutant2

Higher Mutant

バグ2

バグ1


Higher order mutant
Higher Order Mutant

  • 定義:以上のfirst Order Mutant で構成されている

    • Case:1全ての構成しているfirst Order Mutantを横断するパスがある場合

      • 各first Order Mutantのパスを結合する

    • Case2: Case1が存在しない

      • ただのfirst Order Mutantとして扱う

Mutant1

State1

Mutant2

State1

State2

Mutant2

Mutant1


提案手法

ミュータント

プログラム

オリジナルプログラム

Weakly Kill

DSE

既存手法と同様の網羅率測定

プログラムを書き換えないまま様々な動的な記号的実行によるテストの入力の生成

Strongly Kill

SBST

影響のあるPropagationを一つにまとめる

差異の判定

Out hill climbing algorythmを用いたテストの入力の生成


評価実験と結果

・実システムを構築して、17のプログラムで評価実験を行う。

全ての結果の平均のみの表示

RQ1:提案手法のfirst order Mutant

への性能

RQ2:提案手法のHigher order Mutant

への性能


ad