Open Source Fuzzing Tools

Since we are interested in the fuzzing aspects, and to study generating various malformed files, we will make some distinctions first:
A file is some sort of input for an application.
Configuration file (could be in formats such as XML, INI)
Data file (e.g., GIF, AVI, EML)
We assume there must be an automated process to "generate" ("save") that file, as it was generated by some application.
Following the same logic, we deduce there must be an automated process to "load" the file.
The file format could be binary or textual this would become relevant in the way we treat data inside it.
Our agenda is to provide a process to generate a large number of potentially malicious files, and have each separately tested with the application. This process would be divided to:
File generation/creation.
File load (by an external application, which we would like to test).
Next, we need to understand the difference between network protocol fuzzers and file fuzzers:
Generating the tests.
How do we research/analyze files so our test will be built properly?
How do we build the files?
Once a list of test cases is generated, how should we approach running the actual tests?
How do we automate the process?
How do we detect problems?
When discussing network fuzzers, we looked at ways to build the actual test cases. It only makes sense that when you want to fuzz some sort of file specification, the first step would be to analyze the...