Correctness Testing of Loop Optimizations in C and C++ Compilers
| Authors |
|
|---|---|
| Publication date | 07-2018 |
| Event | 11th Seminar on Advanced Techniques & Tools for Software Evolution |
| Number of pages | 6 |
| Organisations |
|
| Abstract |
Test coverage is often measured by the number of source lines of code that is executed by tests. However, compilers can apply transformations to the code to optimize the performance or size of a program. These transformations can remove parts of the original code, but they can also add new code by creating specialized copies and additional conditional branches. This means that while at source code level it seems as if all code would be tested, it is quite possible that the actually executed machine code is only partially tested. This project investigates how confidence in the correctness of a compiler's optimizations can be improved. To this end we create a suite of programs that explicitly trigger compiler optimizations and test their correctness with coverage on machine code level. Once confidence into the correctness of the compiler has been established, it becomes sufficient to test application software with high source code coverage only.
|
| Document type | Paper |
| Language | English |
| Published at | http://sattose.wdfiles.com/local--files/2018:schedule/SATToSE_2018_paper_13.pdf |
| Other links | http://sattose.org/2018 |
| Downloads |
SATToSE_2018
(Final published version)
|
| Permalink to this page | |