diff options
author | mperes <mperes@web> | 2014-09-10 02:20:56 -0700 |
---|---|---|
committer | xorg <iki-xorg@freedesktop.org> | 2014-09-10 02:20:56 -0700 |
commit | 4437abfceccd5c8a9df8309dbd8fa15ddbb963c7 (patch) | |
tree | 90b50ce33eb8c9b56e8894021726cb986245c437 /Events/XDC2014/Program.mdwn | |
parent | 59cf1e2c8aae5d8ab90b86a3a0d796ab06d8a8aa (diff) |
Add Ian's proposal
Diffstat (limited to 'Events/XDC2014/Program.mdwn')
-rw-r--r-- | Events/XDC2014/Program.mdwn | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Events/XDC2014/Program.mdwn b/Events/XDC2014/Program.mdwn index e2832c92..e08afa44 100644 --- a/Events/XDC2014/Program.mdwn +++ b/Events/XDC2014/Program.mdwn @@ -228,3 +228,37 @@ multi-accelerators approach aims to distribute the workload among the devices and to overlap data transfer and code execution in order to reduce the latency. Author: Samuel Pitoiset + +### Randomized Testing + +Testing all of the corner cases of a complex piece of software is hard. +It's really, really hard. The problem can be thought of from a search +perspective: somewhere in the space of possible inputs, the software +under test may produce incorrect results. As a tester, the goal is to +find those inputs. For many pieces of software the space of possible +inputs is uncountably infinite. Traditional search techniques fail in +these scenarios. + +All is not lost, however. There are many examples in algorithm research +where judicious application of randomization to exceptionally difficult +problems can either solve the problem correctly in probabilistic finite +time or solve the problem in finite time with probabilistic correctness. + +Numerous aspects of an OpenGL shading language compiler have uncountably +infinite possible inputs. Specifically, the possible set of uniform +blocks is uncountably infinite. Each possible uniform block has a +single, valid memory layout. Many GLSL compiler implementations produce +incorrect layouts for some uniform blocks. These factors make this an +ideal "search" problem for a randomized technique. + +I would like to present: + + - Background of randomized techniques. + - The problem of uniform blocks, and why it's so hard to get right. + - The randomized test generator that has been implemented. + - Sampling of the bugs that it has already found. + - Ways to extend the current test generator. + - Additional areas that would be good candidates for a similar testing +method. + +Author: Ian Romanick |