Item type |
SIG Technical Reports(1) |
公開日 |
2018-01-11 |
タイトル |
|
|
タイトル |
LLVMバックエンドの最適化性能テストのミュータント生成 |
タイトル |
|
|
言語 |
en |
|
タイトル |
Mutant Generation of Performance Tests for LLVM Back-Ends |
言語 |
|
|
言語 |
jpn |
キーワード |
|
|
主題Scheme |
Other |
|
主題 |
設計・検証技術 |
資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_18gh |
|
資源タイプ |
technical report |
著者所属 |
|
|
|
関西学院大学理工学部 |
著者所属 |
|
|
|
関西学院大学理工学部 |
著者所属 |
|
|
|
ルネサスエレクトロニクス株式会社 |
著者所属 |
|
|
|
ルネサスエレクトロニクス株式会社 |
著者所属(英) |
|
|
|
en |
|
|
Kwansei Gakuin University |
著者所属(英) |
|
|
|
en |
|
|
Kwansei Gakuin University |
著者所属(英) |
|
|
|
en |
|
|
Renesas Electronics Corporation |
著者所属(英) |
|
|
|
en |
|
|
Renesas Electronics Corporation |
著者名 |
田中, 健司
石浦, 菜岐佐
西村, 啓成
福井, 昭也
|
著者名(英) |
Kenji, Tanaka
Nagisa, Ishiura
Masanari, Nishimura
Akiya, Fukui
|
論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
本稿では,既存のテストプログラムから自動生成した機能等価なミュータントにより,コンパイラ基盤 LLVM のバックエンドの最適化性能をテストする手法を提案する.LLVM のバックエンドはコード生成のための変換に加えて,ターゲット依存の最適化や各種ピープホール最適化を行うため,生成されているコードの正誤だけでなく,意図通りの最適化が行われているかのテスト (性能テスト) が必要になる.最適化の性能テストは,主としてコンパイラ開発者が手動で作成したテストプログラムによって行われるため,テストプログラムのバリエーションが限られてしまう.本稿の手法では,開発者が特定の最適化機能を対象に作成したテストプログラムからミュータントを自動生成することによって,バックエンドの性能テストを強化する.本手法のミューテーション操作は元プログラムの実行結果を変化させないものに限定するため,意図通りの最適化ができているかどうかの判定はアセンブリコードの機械的な比較により行える.提案手法に基づくツールを Perl 5 を用いて実装しテストを行った結果,LLVM 6.0.0 の x86_64 用バックエンドにおいて,バックエンドの性能向上の参考になると考えられるテストケースを 2 件検出した. |
論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
This article presents a method of testing optimization capability of LLVM back-ends by generating functionally equivalent test mutants from existing test programs. Since the LLVM back-ends perform various target dependent and peephole optimization as well as transformations for code generation, it is necessary to test if optimization is properly done as designed to enhance performance, not to mention if generated codes are correct. Test programs for the performance test are usually developed manually by compiler designers, which do not always provide enough variation to cover corner cases. The method in this article attempts to augment test cases by generating mutants from existing test programs. The mutation in our method is designed not to change the functionality of the original test programs, so that insufficient optimization is detected by mechanical comparison of assembly codes. In a preliminary experiment on the LLVM 6.0.0 back-end for x86_64, a tool based on the proposed method has found two interesting cases which might contribute toward performance improvement of the back-end. |
書誌レコードID |
|
|
収録物識別子タイプ |
NCID |
|
収録物識別子 |
AN10096105 |
書誌情報 |
研究報告システム・アーキテクチャ(ARC)
巻 2018-ARC-229,
号 29,
p. 1-6,
発行日 2018-01-11
|
ISSN |
|
|
収録物識別子タイプ |
ISSN |
|
収録物識別子 |
2188-8574 |
Notice |
|
|
|
SIG Technical Reports are nonrefereed and hence may later appear in any journals, conferences, symposia, etc. |
出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |