Enhancing Compiler Testing with Real-World Code Injection

IAR Systems is looking for university students to explore the application of cutting-edge research in compiler testing and improve the robustness of our C/C++ compilers used in embedded systems.

In the research paper “Boosting Compiler Testing by Injecting Real-World Code”, the authors demonstrate the significant advantages of using real-world code to stress-test compilers. The study suggests that injecting real-world, production-level code into testing processes can reveal compiler bugs that might go unnoticed by traditional testing methods. This research introduced a tool called CReal, designed to automate the injection of complex code samples for enhanced testing.

As part of this thesis work, your task will be to evaluate whether the CReal tool, developed during this research, can be successfully applied to IAR’s C and C++ compilers—specifically for Arm and RISC-V architectures. Your work will help determine if using real-world code can uncover bugs that traditional testing methods have missed, ultimately contributing to the overall improvement of our compilers' reliability and performance.

You will work closely with our engineering team, conducting experiments, analyzing results, and providing insights that could directly impact how we approach compiler testing at IAR.

To succeed in this role, you should study computer science (or similar), and be curious and passionate about improving software tools. An interest in compilers, embedded systems, or debugging is a plus.

The internship can be adopted to either bachelor or master level and will be based at our office in central Uppsala.

About IAR

Joining IAR means becoming part of a global, fast-growing company that is at the forefront of embedded systems technology. We are a diverse, open-minded team that values new ideas and celebrates achievements. At IAR, you will work alongside some of the brightest minds in the industry, tackling challenging problems with excitement and energy.

Application

Apply today by submitting your CV and a brief introduction about yourself.

We look forward to your application!

 

References

  • Boosting Compiler Testing by Injecting Real-World Code – https://dl.acm.org/doi/10.1145/3656386
  • PLDI24 Presentation on Boosting Compiler Testing by Injecting Real-World Code – https://www.youtube.com/watch?v=wGGb3WcXgks
  • CReal – https://github.com/UniCodeSphere/Creal