PROGRAM BOOSTING INCLUDING USING CROWDSOURCING FOR CORRECTNESS
First Claim
1. In a computing environment, a method, comprising, obtaining candidate programs related to a programming task, synthesizing the candidate programs by combining initial programs, generating results from synthesized programs by using training data as input, providing information corresponding to the results to a crowd to obtain feedback, determining fitness measures comprising a fitness measure for each program based upon on the training set and the feedback, and selecting a most fit program based upon the fitness measure.
3 Assignments
0 Petitions
Accused Products
Abstract
The subject disclosure is directed towards crowd-based approach to boosting the correctness of a computer program. Results from candidate programs obtained from a first crowd and which may be blended with one another into synthesized programs are sent to a second crowd for evaluation. Based upon the results, a training set evolves and programs are filtered based upon fitness. The process of blending and fitness evaluation with an evolved training set may be iteratively repeated to find a most fit program.
12 Citations
20 Claims
- 1. In a computing environment, a method, comprising, obtaining candidate programs related to a programming task, synthesizing the candidate programs by combining initial programs, generating results from synthesized programs by using training data as input, providing information corresponding to the results to a crowd to obtain feedback, determining fitness measures comprising a fitness measure for each program based upon on the training set and the feedback, and selecting a most fit program based upon the fitness measure.
-
15. In a computing environment, a system comprising;
-
memory configured with a program selection mechanism; at least one processor coupled to the memory to execute the program selection mechanism, and the program selection mechanism configured to; a) obtain initial candidate programs received from a first crowd source; b) generate results from the candidate programs, or from blended programs synthesized from the candidate programs, or both; c) provide information corresponding to the results to a second crowd source; d) process feedback from the second crowd into evaluation data; e) determine fitness data for each of the programs based at least in part on the evaluation data; and f) output at least one selected program based upon the fitness data. - View Dependent Claims (16)
-
-
17. One or more machine-readable storage media or logic having machine-executable instructions, which when executed perform steps, comprising:
-
a) blending a set of programs into synthesized programs; b) generating results from the synthesized programs using training data in a current state; c) providing information corresponding to the results to a second crowd source; d) processing feedback from the second source crowd to evolve the training data into a new current state; e) determining fitness data for each of the synthesized programs, and associating each program with its fitness data; f) filtering the programs based on each program'"'"'s associated fitness data to obtain a new set of programs; g) returning to step a) until the fitness data associated with a program achieves a desired fitness level or another stopping criterion is met; and h) selecting a selected program based upon the fitness data associated with that program. - View Dependent Claims (18, 19, 20)
-
Specification