講演名 2021-01-26
ランダムプログラム生成によるCコンパイラのVRP最適化の性能テスト
村上 大喜(関西学院大), 石浦 菜岐佐(関西学院大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 本稿では C コンパイラの VRP 最適化が意図通りに行われているかどうかを検査するランダムテスト手法を提案する. VRP 最適化はコンパイル時に値が決定できる部分式を定数に置き換える最適化の一種であるが, 変換の条件が複雑であり不具合が生じやすい. 本手法は, VRP 最適化が適用できる算術式を含むプログラムと, そのプログラムに VRP 最適化を適用して得られるプログラムを自動生成し, それらをコンパイルして得られるアセンブリコードを比較することによって最適化の不足を検出する. 算術式の生成は VRP 最適化の解析とは逆方向に値の区間 (value range) を伝播させることにより行うが, この際に, 演算子と値の範囲を適切に選択することによって, 必ず VRP 最適化が適用できる式を生成する. 提案手法に基づくテストシステムを C コンパイラのランダムテストシステム Orange4 に追加実装して実験を行った結果, GCC の現時点での最新版 10.2.0 を含む複数のバージョンにおいて VRP 最適化の機会の見逃しを検出することができた.
抄録(英) This paper proposes an automated method to test if C compilers properly perform VRP optimization. The VRP optimization is a sophisticated variant of constant folding that replaces subexpressions into constants at compile time, whose complex precondition may induce mis-optimization or under-optimization. The proposed method attempts to detect under-optimization by generating a pair of C programs, where VRP optimization is applicable to one program and VRP optimization is applied to the other program at source code level, and comparing the compiled assembly codes. The arithmetic expressions with VRP optimization opportunities are generated by propagating value ranges in the opposite direction to that in range analysis in the optimization and by appropriately choosing operators and operands. A test system has been implemented on top of a random test system Orange4, which detected under-optimization in the latest version 10.2.0 of GCC.
キーワード(和) コンパイラ / ランダムテスト / 最適化
キーワード(英) compiler / random testing / optimization
資料番号 VLD2020-66,CPSY2020-49,RECONF2020-85
発行日 2021-01-18 (VLD, CPSY, RECONF)

研究会情報
研究会 CPSY / RECONF / VLD / IPSJ-ARC / IPSJ-SLDM
開催期間 2021/1/25(から2日開催)
開催地(和) オンライン開催
開催地(英) Online
テーマ(和) FPGA 応用および一般
テーマ(英) FPGA Applications, etc.
委員長氏名(和) 入江 英嗣(東大) / 柴田 裕一郎(長崎大) / 福田 大輔(富士通研) / 井上 弘士(九大) / 中村 祐一(NEC)
委員長氏名(英) Hidetsugu Irie(Univ. of Tokyo) / Yuichiro Shibata(Nagasaki Univ.) / Daisuke Fukuda(Fujitsu Labs.) / Hiroshi Inoue(Kyushu Univ.) / Yuichi Nakamura(NEC)
副委員長氏名(和) 鯉渕 道紘(NII) / 中島 耕太(富士通研) / 佐野 健太郎(理研) / 山口 佳樹(筑波大) / 小林 和淑(京都工繊大)
副委員長氏名(英) Michihiro Koibuchi(NII) / Kota Nakajima(Fujitsu Lab.) / Kentaro Sano(RIKEN) / Yoshiki Yamaguchi(Tsukuba Univ.) / Kazutoshi Kobayashi(Kyoto Inst. of Tech.)
幹事氏名(和) 高前田 伸也(北大) / 津邑 公暁(名工大) / 三好 健文(イーツリーズ・ジャパン) / 小林 悠記(NEC) / 桜井 祐市(日立) / 兼本 大輔(大阪大学) / 今村 智(富士通研) / 塩谷 亮太(名大) / 谷本 輝夫(九大) / 新田 高庸(NTT) / 瀬戸 謙修(東京都市大) / 密山 幸男(高知工科大) / 君家 一紀(三菱電機) / 廣本 正之(富士通研)
幹事氏名(英) Shinya Takameda(Hokkaido Univ.) / Tomoaki Tsumura(Nagoya Inst. of Tech.) / Takefumi Miyoshi(e-trees.Japan) / Yuuki Kobayashi(NEC) / Yuichi Sakurai(Hitachi) / Daisuke Kanemoto(Osaka Univ.) / Satoshi Imamura(Fujitsu lab.) / Ryota Shioya(Nagoya Univ.) / Teruo Tanimoto(Kyushu Univ.) / Koyo Nitta(NTT) / Kenshu Seto(Tokyo City Univ.) / Yukio Mitsuyama(Kochi Univ. of Tech.) / Kazuki Oya(Mitsubishi Electric) / Masayuki Hiromoto(Fujistu Lab.)
幹事補佐氏名(和) 小川 周吾(日立) / 有間 英志(東大) / 中原 啓貴(東工大) / 竹村 幸尚(インテル) / 西元 琢真(日立)
幹事補佐氏名(英) Shugo Ogawa(Hitachi) / Eiji Arima(Univ. of Tokyo) / Hiroki Nakahara(Tokyo Inst. of Tech.) / Yukitaka Takemura(INTEL) / Takuma Nishimoto(Hitachi)

講演論文情報詳細
申込み研究会 Technical Committee on Computer Systems / Technical Committee on Reconfigurable Systems / Technical Committee on VLSI Design Technologies / Special Interest Group on System Architecture / Special Interest Group on System and LSI Design Methodology
本文の言語 JPN
タイトル(和) ランダムプログラム生成によるCコンパイラのVRP最適化の性能テスト
サブタイトル(和)
タイトル(英) Performance Testing of VRP Optimization of C Compilers by Random Program Generation
サブタイトル(和)
キーワード(1)(和/英) コンパイラ / compiler
キーワード(2)(和/英) ランダムテスト / random testing
キーワード(3)(和/英) 最適化 / optimization
第 1 著者 氏名(和/英) 村上 大喜 / Daiki Murakami
第 1 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
第 2 著者 氏名(和/英) 石浦 菜岐佐 / Nagisa Ishiura
第 2 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
発表年月日 2021-01-26
資料番号 VLD2020-66,CPSY2020-49,RECONF2020-85
巻番号(vol) vol.120
号番号(no) VLD-337,CPSY-338,RECONF-339
ページ範囲 pp.154-159(VLD), pp.154-159(CPSY), pp.154-159(RECONF),
ページ数 6
発行日 2021-01-18 (VLD, CPSY, RECONF)