講演名 2020-01-22
等価ミュータント生成によるCコンパイラのテストバリエーションの増強
前田 紘輝(関西学院大), 石浦 菜岐佐(関西学院大),
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 本稿では, C コンパイラの自動テストにおいて, 等価ミュータント生成によりテストのバリエーションを増強する手法を提案する. 言語の文法に基づいてテストプログラムを生成する生成ベースの手法に比べ, 既存のプログラムの一部を変異させることによって新たなテストプログラムを生成する変異ベースの手法は, 変異元となるプログラムを適切に選択することによって, その不具合検出能力を向上させたり, 特定機能のテストを重点的に行える等の利点がある. しかし, 既存の変異ベース手法では, テストプログラムが未定義動作を引き起こすのを回避するために, 適用される変異操作が限定され, 生成できるテストのバリエーションが限られるという課題がある. 本稿では, 変異元プログラム中の全ての変数の型と値の情報を把握することによって, 既存の手法では行われていないテストプログラムの変異を提案する. 変数の修飾子・データ型の変異, 変数・配列・構造体・共用体の相互置き換え, および制御文による文のブロック化を, 変異元プログラム中の変数の持つ値が変化しないように行うことによって等価ミュータントを生成する. 本手法に基づくテストシステムを実装し, 過去のコンパイラのエラープログラムを変異元プログラムとして実験を行ったところ. GCC-5.5.0 LLVM/Clang-3.5.2 において従来の変異手法では検出できない不具合を検出した.
抄録(英) This article proposes a method of increasing variation of test programs in automatic testing of C compilers by means of equivalent mutant generation. A mutation-based method, where test programs are generated by mutating existing test programs, has different merits from a grammar-based generation method, especially when seed test programs are properly chosen. One of the challenges for the mutation-based method is that applicable mutations have been limited because the mutations must not induce undefined behavior in test programs. This article introduces new types of mutations by bookkeeping the values of all the variables in seed test programs. Our new mutations generate equivalent test programs from a seed program in a sense that all the variable updates are done with the same values both in the seed and mutated programs. The mutations are based on 1) replacement of types and modifiers of variables, 2) interchange among scalar variables, array elements, and struct members, and 3) nesting statements with conditional and loop constructs. A test system based on the proposed method has detected bugs in GCC-5.5.0 and LLVM/Clang-3.5.2 by test programs which can not be generated by existing methods.
キーワード(和) コンパイラ / 自動テスト / 等価ミュータント
キーワード(英) compiler / automatic testing / equivalent mutant
資料番号 VLD2019-61,CPSY2019-59,RECONF2019-51
発行日 2020-01-15 (VLD, CPSY, RECONF)

研究会情報
研究会 IPSJ-SLDM / RECONF / VLD / CPSY / IPSJ-ARC
開催期間 2020/1/22(から3日開催)
開催地(和) 慶応義塾大学 日吉キャンパス 来往舎
開催地(英) Raiosha, Hiyoshi Campus, Keio University
テーマ(和) FPGA応用および一般
テーマ(英) FPGA Applications, etc.
委員長氏名(和) 田宮 豊(富士通研) / 柴田 裕一郎(長崎大) / 戸川 望(早大) / 入江 英嗣(東大) / 井上 弘士(九大)
委員長氏名(英) Yutaka Tamiya(Fujitsu Lab.) / Yuichiro Shibata(Nagasaki Univ.) / Nozomu Togawa(Waseda Univ.) / Hidetsugu Irie(Univ. of Tokyo) / Hiroshi Inoue(Kyushu Univ.)
副委員長氏名(和) / 佐野 健太郎(理研) / 山口 佳樹(筑波大) / 福田 大輔(富士通研) / 鯉渕 道紘(NII) / 中島 耕太(富士通研)
副委員長氏名(英) / Kentaro Sano(RIKEN) / Yoshiki Yamaguchi(Tsukuba Univ.) / Daisuke Fukuda(Fujitsu Labs.) / Michihiro Koibuchi(NII) / Kota Nakajima(Fujitsu Lab.)
幹事氏名(和) 土谷 亮(滋賀県大) / 岩崎 裕江(NTT) / 佐々木 通(三菱電機) / 谷川 一哉(広島市大) / 三好 健文(イーツリーズ・ジャパン) / 小平 行秀(会津大) / 桜井 祐市(日立) / 津邑 公暁(名工大) / 高前田 伸也(北大) / 近藤 正章(東大) / 塩谷 亮太(名大) / 田中 美帆(富士通研) / 長谷川 揚平(東芝メモリ)
幹事氏名(英) Akira Tsuchiya(Univ. Shiga Prefecture) / Hiroe Iwasaki(NTT) / Toru Sasaki(Mitsubishi Electric) / Kazuya Tanigawa(Hiroshima City Univ.) / Takefumi Miyoshi(e-trees.Japan) / Yukihide Kohira(Univ. of Aizu) / Yuichi Sakurai(Hitachi) / Tomoaki Tsumura(Nagoya Inst. of Tech.) / Shinya Takameda(Hokkaido Univ.) / Masaaki Kondo(Univ. of Tokyo) / Ryota Shioya(Nagoya Univ.) / Miho Tanaka(Fujitsu Labs.) / Yohei Hasegawa(Toshiba Memory)
幹事補佐氏名(和) / 小林 悠記(NEC) / 中原 啓貴(東工大) / 池田 一樹(日立) / 有間 英志(東大) / 小川 周吾(日立)
幹事補佐氏名(英) / Yuuki Kobayashi(NEC) / Hiroki Nakahara(Tokyo Inst. of Tech.) / Kazuki Ikeda(Hitachi) / Eiji Arima(Univ. of Tokyo) / Shugo Ogawa(Hitachi)

講演論文情報詳細
申込み研究会 Special Interest Group on System and LSI Design Methodology / Technical Committee on Reconfigurable Systems / Technical Committee on VLSI Design Technologies / Technical Committee on Computer Systems / Special Interest Group on System Architecture
本文の言語 JPN
タイトル(和) 等価ミュータント生成によるCコンパイラのテストバリエーションの増強
サブタイトル(和)
タイトル(英) Increasing Test Variation for C Compilers by Equivalent Mutant Generation
サブタイトル(和)
キーワード(1)(和/英) コンパイラ / compiler
キーワード(2)(和/英) 自動テスト / automatic testing
キーワード(3)(和/英) 等価ミュータント / equivalent mutant
第 1 著者 氏名(和/英) 前田 紘輝 / Hiroki Maeda
第 1 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
第 2 著者 氏名(和/英) 石浦 菜岐佐 / Nagisa ishiura
第 2 著者 所属(和/英) 関西学院大学(略称:関西学院大)
Kwansei Gakuin University(略称:Kwansei Gakuin Univ.)
発表年月日 2020-01-22
資料番号 VLD2019-61,CPSY2019-59,RECONF2019-51
巻番号(vol) vol.119
号番号(no) VLD-371,CPSY-372,RECONF-373
ページ範囲 pp.43-48(VLD), pp.43-48(CPSY), pp.43-48(RECONF),
ページ数 6
発行日 2020-01-15 (VLD, CPSY, RECONF)