9. A program generation system, comprising: a processor that is adapted to execute stored instructions; and a system memory, the system memory comprising code configured to: detect a plurality of steps for performing a task and actual input data for the task; detect an example relating to each of the plurality of steps, wherein the example comprises input data and corresponding output data relating to the step; for each example, determine a plurality of rules that transform the input data to the corresponding output data based on cues comprising textual features within the input data and cues comprising textual features within the corresponding output data; for each example, rank the plurality of rules according to a probability that each rule explains a transformation from the input data to the corresponding output data; for each example, specify a rule to be used for performing a step represented by the example based on the ranking of the plurality of rules; and generate a program for performing the task based on the specified rules.
11. The program generation system of claim 9 , wherein the cues comprise textual features.