Generating Program Fragments Using Keywords and Context Information
First Claim
1. A method, performed by one or more computing devices, for creating a program, comprising:
- receiving one or more keywords from a user who wishes to generate a program fragment as part of a program being created, to thereby provide keyword information;
identifying a context in which the user is generating the program fragment, to provide context information;
generating a set of candidate program fragments based on at least the keyword information and the context information;
ranking the candidate program fragments based on ranking information, to provide a set of ranked program fragments; and
presenting an output presentation to the user based on the set of ranked program fragments,said receiving, identifying, generating, ranking, and presenting, being performed by said one or more computing devices.
3 Assignments
0 Petitions
Accused Products
Abstract
A program development framework (PDF) is described herein which allows a user to produce a program in piecemeal fashion by successively specifying program fragments. The PDF creates a new program fragment by receiving keyword information from the user that describes a new program fragment, and then identifies context information that pertains to a programmatic context in which the new program fragment appears within the overall program being created. The PDF then generates a set of candidate program fragments that satisfy the keyword information and the context information, and ranks those candidate program fragments based on ranking information. At least part of the ranking information may be based on statistical information that is produced by analyzing a corpus of previous programs produced by one or more users. The PDF then provides the ranked program fragments to the user using various user-friendly presentation strategies.
37 Citations
20 Claims
-
1. A method, performed by one or more computing devices, for creating a program, comprising:
-
receiving one or more keywords from a user who wishes to generate a program fragment as part of a program being created, to thereby provide keyword information; identifying a context in which the user is generating the program fragment, to provide context information; generating a set of candidate program fragments based on at least the keyword information and the context information; ranking the candidate program fragments based on ranking information, to provide a set of ranked program fragments; and presenting an output presentation to the user based on the set of ranked program fragments, said receiving, identifying, generating, ranking, and presenting, being performed by said one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A computer readable storage medium for storing computer readable instructions, the computer readable instructions providing a program creation system when executed by one or more processing devices, the computer readable instructions comprising:
-
logic configured to receive one or more keywords from a user who wishes to generate a program fragment as part of a program being created, to thereby provide keyword information; logic configured to identify a context in which the user is generating the program fragment, to provide context information, the context information specifying one or more of; at least one global variable which affects the program fragment, said at least one global variable having been previously defined in the program being created; at least one local variable which affects the program fragment, said at least one local variable having been previously defined in the program being created;
orat least one function which affects the program fragment, said at least one function having been previously defined in the program being created; logic configured to generate a set of candidate program fragments based on at least the keyword information and the context information; logic configured to rank the candidate program fragments based on ranking information, to provide a set of ranked program fragments; and logic configured to present an output presentation to the user based on the set of ranked program fragments. - View Dependent Claims (17)
-
-
18. A program creation system, implemented using one or more computing devices, comprising:
-
an interface module configured to receive one or more keywords from a user who wishes to generate a program fragment as part of a program being created, to thereby provide keyword information; a context analysis module configured to identify a context in which the user is generating the program fragment, to provide context information; a candidate program identification module configured to generate a set of candidate program fragments based on at least the keyword information and the context information; and a ranking module configured to rank the candidate program fragments based on ranking information, to provide a set of ranked program fragments, wherein the ranking information is based, at least in part, on statistical information that is produced by analyzing a corpus of programs created by one or more users, each program in the corpus being composed of one or more program elements, and wherein the statistical information includes frequency information and interrelation information, the frequency information identifying, for at least one program element, a frequency at which said at least one program element appears within the corpus of programs, and the interrelation information identifying, for at least two program elements, a prevalence of a relationship among said at least two program elements within the corpus of programs, the interface presentation module being configured to present an output presentation to the user based on the set of ranked program fragments. - View Dependent Claims (19, 20)
-
Specification