Patent ID: 8776042
Filing Date: 2014-07-08
Classification: G06F

Abstract:
1. A computer-implemented method for providing an updated version of a previously-released software program comprising: receiving an indication of a fault in a software program previously released into a production environment of an external entity from an end-user of the faulty software program, the indication comprising a description of the fault; confirming, by a facilitator, that the previously-released software program exhibits the described fault; distributing the faulty previously-released software program and the description of the fault received from an end-user of the faulty software program to members of a distributed community of programmers for resolution of the described fault; specifying a reward for resolving the described fault; receiving a plurality of updated versions of the faulty previously-released software program from a subset of the members of the distributed community of programmers in response to the distribution of the previously-released software program, each updated version intended to resolve the described fault; receiving one or more test cases that cause the software program to fail from each programmer submitting an updated version of the previously-released software program, the one or more test cases having been developed by the respective programmer; aggregating the received test cases into a test case pool; applying a subset of the test case pool against one or more of the received updated versions such that test cases developed by different submitting programmers are used to test each of the one or more received updated versions, the different submitting programmers including the programmer that submitted the updated version under test; testing, by at least one reviewer, at least one of the received updated versions to ensure that the described fault is resolved by the at least one received updated version; selecting a preferred updated software program from the received updated versions of the faulty previously-released software program; providing the reward to the programmer that submitted the preferred updated software program; and distributing the preferred updated software program to the external entity.