1. An apparatus for developing failure prediction software for a storage system, comprising: an editor configured to assist a user in generating a failure prediction algorithm comprising fuzzy logic rules, the failure prediction algorithm stored in a human-readable format; a code generator configured to generate machine-readable code from the stored failure prediction algorithm; a test module configured to test the machine-readable code with sample data to produce a result; and a revision module configured to allow revisions of the failure prediction algorithm such that the result corresponds to an expected result.