Random testing of compilers based on precise computation of expected values and symbolic execution of generated codes
Project/Area Number |
25330073
|
Research Category |
Grant-in-Aid for Scientific Research (C)
|
Allocation Type | Multi-year Fund |
Section | 一般 |
Research Field |
Computer system
|
Research Institution | Kwansei Gakuin University |
Principal Investigator |
|
Project Period (FY) |
2013-04-01 – 2017-03-31
|
Project Status |
Completed (Fiscal Year 2016)
|
Budget Amount *help |
¥4,940,000 (Direct Cost: ¥3,800,000、Indirect Cost: ¥1,140,000)
Fiscal Year 2015: ¥1,560,000 (Direct Cost: ¥1,200,000、Indirect Cost: ¥360,000)
Fiscal Year 2014: ¥1,560,000 (Direct Cost: ¥1,200,000、Indirect Cost: ¥360,000)
Fiscal Year 2013: ¥1,820,000 (Direct Cost: ¥1,400,000、Indirect Cost: ¥420,000)
|
Keywords | コンパイラ / ランダムテスト / テストスイート / 等価変換 / 不具合検出 / 最適化機会抽出 / Orange4 / CF3 / 最適化機会検出 / 期待値計算 / Orange3 / Cコンパイラ / 算術最適化 / アセンブリの記号実行 / 二分決定グラフ |
Outline of Final Research Achievements |
This project has conducted researches on new methods for random testing of C compilers. Three challenges in compiler random testing are 1) how to tell the valid outputs of randomly generated programs, 2) how to avoid generating programs with undefined behavior, and 3) how to minimize the error programs to help developers to track down the bugs. We have developed two strategies to overcome these difficulties. One is to compute expected behavior during test program generation and to avoid generating undefined behavior, the other is to generate random programs by equivalence program transformations from trivial seed programs whose behavior is well known. We have also developed methods to detect insufficient optimization by random programs, methods to test LLVM and Java compilers and their back-ends, and a test suite dedicated to test arithmetic optimization of C compilers.
|
Report
(5 results)
Research Products
(21 results)