GraphicsFuzz is a company that offers testing solutions for
Our test framework automatically exposes bugs in graphics drivers in a simple form that supports debugging.
Latest test results
The GraphicsFuzz Android benchmark
Try our Android benchmark
Our web app showcases a range of graphics driver issues in phones, tablets, smart TVs and other Android devices. How does your device score?
See the results that users are posting on Twitter by searching for #GraphicsFuzz.
ShaderTest GLES contains 3000 shaders crafted to stress-test OpenGL ES drivers. Check out our latest test results!
- Find drivers bugs: crashes, errors, miscompilations
- Reduce bugs: our intelligent reducer creates minimal reproducion test cases
- dEQP integration: run ShaderTest within the official Khronos CTS
WebGL, OpenGL, Vulkan...
We can provide bespoke products to test drivers for various graphics APIs, including WebGL, OpenGL, and Vulkan.
The GraphicsFuzz technology has been publicly credited for detecting several vulnerabilities:
- CVE-2017-2424: Apple (iOS-Webkit), information disclosure
- CVE-2017-6259: Nvidia, denial of service
- Information stealing between Chrome tabs on Samsung S6 (received Google Chrome bug bounty: $2,000)
Blog and articles
Our series of blog posts describes our testing approach and illustrates results on all major GPU vendors. Start the series with the intro, or jump directly to a post:
GraphicsFuzz started as an academic research project by the Multicore Programming Group at Imperial College London. Check out our article published at the OOPSLA 2017 conference.
GraphicsFuzz testing framework
The GraphicsFuzz testing framework automatically exposes bugs in graphics drivers in a simple form that supports debugging.
Our key technology enables detection of bugs that lead to an incorrect image being rendered, often the symptom of a shader miscompilation. Rigorously testing for such bugs without our technology is extremely challenging, and so is typically not done. Thus, these bugs are released into production where they will eventually be found by end users and developers, leading to damaged reputation and, in some cases, severe security bugs.
Even after finding bugs using our technology, the process of fixing these bugs would normally be extremely time-consuming, requiring a huge number of developer-hours. Our intelligent reducer tool analyses the bugs and creates simplified bug reports that dramatically decrease the time needed to understand and fix the underlying bugs.
Our reducer is intelligent in two different ways:
- Our reducer is able to simplify inputs that trigger miscompilation by utilising information embedded in the input by our GraphicsFuzz framework.
- Our reducer is able to understand the semantics of the shader language, allowing for faster and more precise simplification than that which could be offered by any general-purpose reducer.