Abstract

The correctness of the compiler is a necessary requirement for the correct operation of the software compiled by it. Therefore, the most important stage in the development of the compiler is verification. Recent widespread of multi-core processors and graphics core integrated to CPU emphasized the problem of the transition from single-threaded to multi-threaded computing and re-usage of graphics core for general purpose heterogeneous parallel computations in particular. In this paper, we are presenting an approach to automate test creation for the verification of the compiler with OpenMP support, based on a generator that uses grammars to generate syntactically correct executable tests.

Highlights

  • High-level programming languages are the main development tool for software

  • The correctness of the compiler is a necessary requirement for the correct operation of the software compiled by it

  • Recent widespread of multi-core processors and graphics core integrated to CPU emphasized the problem of the transition from single-threaded to multi-threaded computing and re-usage of graphics core for general purpose heterogeneous parallel computations in particular

Read more

Summary

Introduction

High-level programming languages are the main development tool for software. The task of translating the source code of programs into a representation executable on a computer system is solved by the compiler. Recent widespread of multi-core processors and graphics core integrated to CPU emphasized the problem of the transition from single-threaded to multi-threaded computing and re-usage of graphics core for general purpose heterogeneous parallel computations in particular To support these trends from the software side there are open standards for parallel computing: OpenMP, OpenCL, Cilk Plus, and others that are supported by major mainstream compilers. Parametric context-free grammars have proven themselves as a good formalism for constructing generators of semantically correct and compiler-specific tests with deterministic behaviour. They were distinguished by the clarity of the description of generated test programs, as well as the flexibility and convenience in working with their context. It is an open question about the possibility of using an already existing generator of singlethreaded tests based on parametric context-free grammars, for generating tests for multi-threaded extensions of the C language, like OpenMP

The problem of compiler testing
Related works
Main idea
A brief formal description of the parametric context-free grammar
Generator infrastructure
OpenMP grammar rules
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call