• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2014 年度 実施状況報告書

正確な期待値計算および生成コードの記号実行に基づくコンパイラのランダムテスト

研究課題

研究課題/領域番号 25330073
研究機関関西学院大学

研究代表者

石浦 菜岐佐  関西学院大学, 理工学部, 教授 (60193265)

研究期間 (年度) 2013-04-01 – 2017-03-31
キーワードコンパイラ / ランダムテスト / テストスイート / 期待値計算 / 不具合検出 / 最適化機会検出 / Orange3 / CF3
研究実績の概要

本年度は,期待値計算に基づくCコンパイラのランダムテスト,およびCコンパイラのテストスイートの開発に関する研究を行った.
1.期待値計算に基づくランダムテストに関しては次の成果を挙げた.(1) これまでに開発してきたランダムテストシステムOrange3をGitHubに公開し,内外のコンパイラ開発者が無償で利用できるようにした.(2) 生成できるテストの範囲を拡張し,if文やfor文のコンパイルの処理をテスト可能とした.これにより,LLVMの最新版で不具合を検出することができた.(3) Cコンパイラのコンパイル結果が正しいかどうかだけでなく,意図通りの最適化が行われているかどうかをテストする手法を開発した.これにより,GCCおよびLLVMの最新版で最適化機会の逸失を検出することができた.(4) 新しいプログラム生成手法として,未定義動作を含まない状態を維持しながら式の規模を大きくしていく手法を開発した.なお,(2)(3)により検出した不具合および最適化機会逸失は開発者に報告している.
2.Cコンパイラのテストスイートに関しては,Cコンパイラの算術最適化のテストを効率的に行うためのテストスイートCF3を開発した.CF3は演算数3の可能式のパターン10,985通りに対して100パターンの変数の型と値の組み合わせをテストするものであり,中程度の完成度のコンパイラに対してはOrange3よりも効率的に不具合の検出することができる.本テストスイートは研究室のWWWで一般に公開している.

現在までの達成度 (区分)
現在までの達成度 (区分)

2: おおむね順調に進展している

理由

コンパイラのランダムテストに関しては,生成できるテストの範囲を計画度通りに拡張しており,さらにこれを進める目処もつけることができている.しかし,記号実行に基づくテスト手法は,結果が得られないことが判明してきた.一方で,開発したシステムをGitHubに公開するという著しい成果を挙げるとともに,最適化の機会逸失を検出する方法など,当初の想定以上の成果を挙げることができている.
コンパイラのテストスイートに関しては,testgen2の拡張はできていないが,算術最適化を対象にtestgen2よりも強力なテストスイートCF3を開発し,また,これを公開することができた.

今後の研究の推進方策

(今後の推進方策)
ランダムテストおよびテストスイートの不具合検出能力を高めるために,現在種々のパラメータが不具合検出に及ぼす影響を分析している.また,これまでの方法では限界があった拡張を実現するために,新しい要素技術を開発しているところである.次年度はこれらの結果を踏まえて,新たなテストシステムの開発,およびテストスイートの改良を行う計画である.

次年度使用額が生じた理由

現存するテストスイートtestgen2の分析と拡張を行うために謝金が発生する予定であったが,自動生成可能なテストスイートCF3の開発が進展したため,次年度使用額が生じた.

次年度使用額の使用計画

テストスイートtestgen2およびCF3の分析作業を進めるとともに,ランダムテストにより生成されるプログラムの分析やコード整理の進捗に使用する計画である.

  • 研究成果

    (4件)

すべて 2015 2014

すべて 雑誌論文 (1件) (うち査読あり 1件、 オープンアクセス 1件) 学会発表 (3件)

  • [雑誌論文] Reinforcing Random Testing of Arithmetic Optimization of C Compilers by Scaling up Size and Number of Expressions2014

    • 著者名/発表者名
      E. Nagai, A. Hashimoto, and N. Ishiura
    • 雑誌名

      IPSJ Transactions on System LSI Design Methodology

      巻: 7 ページ: 91-100

    • DOI

      10.2197/ipsjtsldm.7.91

    • 査読あり / オープンアクセス
  • [学会発表] Introducing Loop Statements in Random Testing of C Compilers Based on Expected Value Calculation (short paper)2015

    • 著者名/発表者名
      K. Nakamura and N. Ishiura
    • 学会等名
      Workshop on Synthesis And System Integration of Mixed Information Technologies (SASIMI 2015)
    • 発表場所
      宜蘭(台湾)
    • 年月日
      2015-03-17
  • [学会発表] ランダムテストによるCコンパイラの算術最適化機会の検出2015

    • 著者名/発表者名
      橋本淳史, 石浦菜岐佐
    • 学会等名
      電子情報通信学会VLSI設計技術研究会
    • 発表場所
      慶應義塾大学 (神奈川県・横浜市)
    • 年月日
      2015-01-30
  • [学会発表] Cコンパイラの算術最適化を対象としたテストスイートCF32015

    • 著者名/発表者名
      日比野佑亮, 石浦菜岐佐
    • 学会等名
      電子情報通信学会VLSI設計技術研究会
    • 発表場所
      慶應義塾大学 (神奈川県・横浜市)
    • 年月日
      2015-01-29

URL: 

公開日: 2016-05-27  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi