講演名 2011-01-17
プログラム併合によるコンパイラのリグレッションテストの高速化(コンパイラと設計,FPGA応用及び一般)
森本 和志, 石浦 菜岐佐, 内山 裕貴, 引地 信之,
PDFダウンロードページ PDFダウンロードページへ
抄録(和) 本稿では,テストスイート中のテストプログラムの併合により,コンパイラのリグレッションテストを高速化する手法を提案する.コンパイラのテストスイートは膨大な数のテストプログラムから構成されるため,これらのコンパイルと実行には長大な計算時間を要する.特に,コンパイラの開発段階では,コンパイラの修正とリグレッションテストを繰り返し行うため,テストの高速化は非常に重要な課題となる.これに対し本稿では,複数のテストプログラムを併合することによって,できる限り元のプログラムの意図を維持したままテストの実行時間を短縮する手法を提案する.プログラムの併合に際しては,グローバル変数,関数,およびtypedefの識別子の衝突の他,ヘッダファイルの処理,分割コンパイルへの対応等が問題となるが,これらを解決する.本手法をtestgenテストスイートに適用し,約9,000本のテストプログラムを117本に併合した結果,テスト実行時間を2.53GHzのCore i5(メモリ 2GB)上のWindows Cygwinで約1/44.2, Linux(Ubuntu)で約1/7.7に削減することができた.
抄録(英) This article presents a method of accelerating regression test of compilers by merging programs in test suites. Testing of compilers needs a large amount of computation time, since test suites of compilers usually consist of a huge number of test programs. Especially, in the early stages of compiler development, acceleration of test is an important issue, for bug fixes and regression test are alternately repeated for many times. The proposed method attempts to merge test programs in the test suites into longer programs so as to reduce the time for file open/close. During the merging, conflicts among the names of global variables, functions, and "typedef" declarations, as well as header file inclusion and separate compilation, are carefully handled so that the semantics of the original programs are maintained. In an experiment where about 9,000 test programs in testgen test suite were merged into 117 programs, computation time was reduced into 1/44.2 on Windows Cygwin and into 1/7.7 on Linux (Ubuntu) on 2.53GHz Core i5 with 2GB memory.
キーワード(和) C言語 / コンパイラ / テストスイート / gcc / プログラム併合 / testgen
キーワード(英) C language / compiler / test suite / gcc / program merging / testgen
資料番号 VLD2010-94,CPSY2010-49,RECONF2010-63
発行日

研究会情報
研究会 VLD
開催期間 2011/1/10(から1日開催)
開催地(和)
開催地(英)
テーマ(和)
テーマ(英)
委員長氏名(和)
委員長氏名(英)
副委員長氏名(和)
副委員長氏名(英)
幹事氏名(和)
幹事氏名(英)
幹事補佐氏名(和)
幹事補佐氏名(英)

講演論文情報詳細
申込み研究会 VLSI Design Technologies (VLD)
本文の言語 JPN
タイトル(和) プログラム併合によるコンパイラのリグレッションテストの高速化(コンパイラと設計,FPGA応用及び一般)
サブタイトル(和)
タイトル(英) Acceleration of Regression Test of Compilers by Program Merging
サブタイトル(和)
キーワード(1)(和/英) C言語 / C language
キーワード(2)(和/英) コンパイラ / compiler
キーワード(3)(和/英) テストスイート / test suite
キーワード(4)(和/英) gcc / gcc
キーワード(5)(和/英) プログラム併合 / program merging
キーワード(6)(和/英) testgen / testgen
第 1 著者 氏名(和/英) 森本 和志 / Kazushi MORIMOTO
第 1 著者 所属(和/英) 関西学院大学理工学部
Kwansei Gakuin University
第 2 著者 氏名(和/英) 石浦 菜岐佐 / Nagisa ISHIURA
第 2 著者 所属(和/英) 関西学院大学理工学部
Kwansei Gakuin University
第 3 著者 氏名(和/英) 内山 裕貴 / Yuki UCHIYAMA
第 3 著者 所属(和/英) 株式会社ケイ・オプティコム
K-Opticom Corporation
第 4 著者 氏名(和/英) 引地 信之 / Nobuyuki HIKICHI
第 4 著者 所属(和/英) 株式会社SRA
Software Research Associates, Inc.
発表年月日 2011-01-17
資料番号 VLD2010-94,CPSY2010-49,RECONF2010-63
巻番号(vol) vol.110
号番号(no) 360
ページ範囲 pp.-
ページ数 5
発行日