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

2016 年度 実績報告書

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

研究課題

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

研究代表者

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

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

本年度は, Cコンパイラのランダムテストとテストスイート開発に関して, 次の研究成果を挙げた.
1. テストプログラムの等価変換に基づいてCコンパイラのランダムテストを行う手法の強化を行った. 具体的には, 代入文の右辺の式中で, 同一変数を複数回参照することや, 代入が行われた変数を参照することを可能にした. 併せて, 処理アルゴリズムの見直しを行いプログラム生成の高速化を図った. これによってエラー検出能力を向上させることができた.
2. Cコンパイラの最適化機会逸失のテストを行う一手法として, 異なるコンパイラが生成するアセンブリコードの比較による方法を提案していたが, その比較法の改良を行った. 具体的には, アセンブリコードの不一致部分だけを抽出して比較するとともに, 各命令に実行時間に応じた重みを付けた比較を行う. これによって, 課題になっていた誤判定や見逃しを大幅に削減することができた.
3. コンパイラのランダムテストシステムOrange3をJavaの処理系のテストに拡張した. これによってJavaのコンパイラのみならず, JavaやAndroidの仮想機械のテストも行えるようになった. 本手法によりAndroidのdxコンパイラの不具合を検出した.
なお, 本研究で開発したツールおよびテストスイートは次で公開している: Orange3 http://github.com/ishiura-compiler/Orange3, Orange4 http://github.com/ishiura-compiler/Orange4, CF3 http://github.com/ishiura-compiler/CF3/

備考

本研究で開発したテストシステムにより, 以下の不具合を検出し, 開発者に報告した.
GCC (http://gcc.gnu.org/bugzilla/show_bug.cgi) bug 71521, 71563, 71608, 71631, 77980, 78305
LLVM (http://llvm.org/bugs/show_bug.cgi) bug 26407, 28504, 30375

  • 研究成果

    (10件)

すべて 2017 2016 その他

すべて 雑誌論文 (1件) (うち査読あり 1件) 学会発表 (6件) (うち国際学会 3件) 備考 (3件)

  • [雑誌論文] CF3: Test Suite for Arithmetic Optimization of C Compilers (letter)2017

    • 著者名/発表者名
      Y. Hibino, H. Ikeo, and N. Ishiura
    • 雑誌名

      IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences (July, 2017, to appear)

      巻: E100-A ページ: 印刷中

    • 査読あり
  • [学会発表] Random Testing of C Compilers Based on Test Program Generation by Equivalence Transformation2016

    • 著者名/発表者名
      K. Nakamura and N. Ishiura
    • 学会等名
      Asia and Pacific Conference on Circuits and Systems (APCCAS 2016)
    • 発表場所
      Ramada Plaza Hotel (大韓民国 済州市)
    • 年月日
      2016-10-27
    • 国際学会
  • [学会発表] Detecting Missed Arithmetic Optimization in C Compilers by Differential Random Testing (short paper)2016

    • 著者名/発表者名
      M. Iwatsuji, A. Hashimoto, and N. Ishiura
    • 学会等名
      Workshop on Synthesis And System Integration of Mixed Information Technologies (SASIMI 2016)
    • 発表場所
      京都リサーチパーク (京都府 京都市)
    • 年月日
      2016-10-24
    • 国際学会
  • [学会発表] Random Testing Back-end of Compiler Infrastructure LLVM (short paper)2016

    • 著者名/発表者名
      K. Tanaka, N. Ishiura, M. Nishimura, and A. Fukui
    • 学会等名
      Workshop on Synthesis And System Integration of Mixed Information Technologies (SASIMI 2016)
    • 発表場所
      京都リサーチパーク (京都府 京都市)
    • 年月日
      2016-10-24
    • 国際学会
  • [学会発表] 等価変換に基づくCコンパイラのランダムテストにおける変数の複数回参照の導入2016

    • 著者名/発表者名
      高倉正悟, 石浦菜岐佐
    • 学会等名
      電子情報通信学会ソサイエティ大会
    • 発表場所
      北海道大学 (北海道 札幌市)
    • 年月日
      2016-09-21
  • [学会発表] コンパイラのランダムテストシステムOrange3の拡張によるJava処理系のテスト2016

    • 著者名/発表者名
      清水遼太朗, 池尾弘史, 石浦菜岐佐
    • 学会等名
      電子情報通信学会ソサイエティ大会
    • 発表場所
      北海道大学 (北海道 札幌市)
    • 年月日
      2016-09-21
  • [学会発表] Cコンパイラの最適化のリグレッションテストのためのアセンブリコード比較法2016

    • 著者名/発表者名
      北浦幸太, 岩辻光功, 石浦菜岐佐
    • 学会等名
      電子情報通信学会ソサイエティ大会
    • 発表場所
      北海道大学 (北海道 札幌市)
    • 年月日
      2016-09-21
  • [備考] Orange3

    • URL

      http://ist.ksc.kwansei.ac.jp/~ishiura/pub/orange3/index.html

  • [備考] Orange4

    • URL

      http://ist.ksc.kwansei.ac.jp/~ishiura/pub/orange4/index.html

  • [備考] CF3

    • URL

      http://ist.ksc.kwansei.ac.jp/~ishiura/pub/CF3/index.html

URL: 

公開日: 2018-01-16  

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

Powered by NII kakenhi