Cコンパイラの算術最適化のランダムテストにおけ る式生成の強化
著者 永井 絵里子
URL http://hdl.handle.net/10236/11230
2012年度 修士論文要旨
Cコンパイラの算術最適化のランダムテストにおける式生成の強化
関西学院大学大学院理工学研究科 情報科学専攻 石浦研究室 永井 絵里子
本論文では, C コンパイラの算術最適化を対象とするランダムテストにおける不具合検出能力の向 上を目的として,式生成を強化する手法を提案する. コンパイラのランダムテストは,コンパイラのテ ストのうち開発者が予期しない不具合を発見するために, ランダムに生成したプログラムにより行う テストである. 我々の研究室では算術式を対象としたランダムテストを提案し, x86用GCC-4.4.1等 のコンパイラで不具合を検出してきた. しかし, GCC-4.5以降の新しいコンパイラでは不具合を検出 できていなかった. これの原因として生成する算術式が短い, 1つのプログラムに 1つの算術式のみ の生成しか行っていない等が挙げられる. 本手法では, 従来手法よりも長い算術式の生成, かつ複数の 算術式を 1つのプログラムに生成することにより, 式生成を強化する. 長い算術式の生成は, 従来の 未定義・処理系定義動作の回避方法を見直し, 式の期待値計算の過程でこれらの動作を検出すると式 を修正することにより回避するという方法による. 複数式の生成は,複数の代入文を生成し, 各式の計 算結果をそれぞれの期待値と比較することにより複数の算術式のテストの同時実行を可能にし, 不具 合検出能力の強化を図る. 本手法に基づくランダムテストシステムPerl5.10.1で実装した結果, GCC
4.5.4 (i686-pc-linux)など従来手法では検出できていなかったコンパイラで不具合を検出することが
できた. また 最新のコンパイラであるGCC 4.7.2 (x86 64-apple-darwin10)でも不具合を3件検出す ることができた.