Sulley is a fuzzer development and fuzz testing framework consisting of multiple extensible components. Sulley (IMHO) exceeds the capabilities of most previously published fuzzing technologies, commercial and public domain. The goal of the framework is to simplify not only data representation but to
... [More] simplify data transmission and target monitoring as well. Sulley is affectionately named after the creature from Monsters Inc., because, well, he is fuzzy.
Modern day fuzzers are, for the most part, solely focus on data generation. Sulley not only has impressive data generation but has taken this a step further and includes many other important aspects a modern fuzzer should provide. Sulley watches the network and methodically maintains records. Sulley instruments and monitors the health of the target, capable of reverting to a known good state using multiple methods. Sulley detects, tracks and categorizes detected faults. Sulley can fuzz in parallel, significantly increasing test speed. Sulley can automatically determine what unique sequence of test cases trigger faults. Sulley does all this, and more, automatically and without attendance. [Less]
Having a full test suite with good coverage for your large application is an essential tool for maintaining code reliability and programmer sanity, but despite this, many projects still neglect this important aspect of software development. In pondering this programming paradox, I came to
... [More] understand two fundamental axioms of software development:
1. Software developers are pompous *******s who truly believe their code is simply too elegant and efficient to necessitate testing, despite half a century of testament to the contrary and a bulging bug list.
2. Writing unit tests is simply not much fun.
Unfortunately, no software tool will ever be capable of bending the average software developer's ridiculously inflated ego, but a tool that can provide a comprehensive test suite without requiring the writing of a single test ... well, at least it's a Turing-computable problem.
Terot began life as a project to teach myself the intricacies of Java generics & reflection, but somehow grew into a project that taught me generics and reflection, AND was available for free on Google Code. The basic premise is that by injecting essentially random data into your methods and recording the results, you can identify behavioral changes in your application's logic and predict future problems before they occur. To this end, The Goal of the project is to develop a tool that provides the most generally useful test analysis as possible, while requiring a hard limit of half an hour to set up on a project of arbitrary size. [Less]
Bendy Bus is a system to mock up parts of D-Bus server–client systems in order to test the other parts.
It allows fuzz and unit testing of D-Bus clients by simulating the corresponding D-Bus servers. Simulations are written in a simple FSM-based language.