Enhanced retrieval of source code
First Claim
Patent Images
1. A computer-implemented method, the method comprising:
- maintaining, using one or more processors, an index that indexes source code files, the index including, for each source code file, a respective popularity score, a file name of the source code file, and data describing one or more tags associated with the source code file, wherein the data describing each tag comprises a tag name, a tag definition, a description of the source code file, and one or more code lines associated with the tag;
determining the respective popularity score stored in the index for each source code file based on a quantity of references to each source code file in source code of other source code files included in the index;
receiving a search query that includes a source code tag and data specifying a programming language;
identifying, using the index, search results that satisfy the search query, each search result referencing a respective source code file;
ranking the identified search results based on respective popularity scores of the referenced source code files, wherein search results that reference source code files that are not associated with the specified programming language are ranked lower than other search results; and
providing the ranked search results in response to the search query.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer program products are provided for indexing tags in source code. Implementations provide an enhanced retrieval of source code, in which a score for each of a plurality of files is derived based on a quantity of references to each file in source code of the remaining plurality of files. A query is received identifying a source code tag. Matching files of the plurality of files that satisfy the query are identified, a ranking of the matching files is generated based on the derived scores, and the ranking is provided.
35 Citations
9 Claims
-
1. A computer-implemented method, the method comprising:
-
maintaining, using one or more processors, an index that indexes source code files, the index including, for each source code file, a respective popularity score, a file name of the source code file, and data describing one or more tags associated with the source code file, wherein the data describing each tag comprises a tag name, a tag definition, a description of the source code file, and one or more code lines associated with the tag; determining the respective popularity score stored in the index for each source code file based on a quantity of references to each source code file in source code of other source code files included in the index; receiving a search query that includes a source code tag and data specifying a programming language; identifying, using the index, search results that satisfy the search query, each search result referencing a respective source code file; ranking the identified search results based on respective popularity scores of the referenced source code files, wherein search results that reference source code files that are not associated with the specified programming language are ranked lower than other search results; and providing the ranked search results in response to the search query. - View Dependent Claims (2, 3)
-
-
4. A non-transitory computer storage medium encoded with instructions that when executed by one or more computers cause the one or more computers to perform operations comprising:
-
maintaining an index that indexes source code files, the index including, for each source code file, a respective popularity score, a file name of the source code file, and data describing one or more tags associated with the source code file, wherein the data describing tag comprises a tag name, a tag definition, a description of the source code file, and one or more code lines associated with the tag; determining the respective popularity score stored in the index for each source code file based on a quantity of references to each source code file in source code of other source code files included in the index; receiving a search query that includes a source code tag and data specifying a programming language; identifying, using the index, search results that satisfy the search query, each search result referencing a respective source code file; ranking the identified search results based on respective popularity scores of the referenced source code files, wherein search results that reference source code files that are not associated with the specified programming language are ranked lower than other search results; and providing the ranked search results in response to the search query. - View Dependent Claims (5, 6)
-
-
7. A system comprising:
-
one or more computers and one or more non-transitory storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising; maintaining an index that indexes source code files, the index including, for each source code file, a respective popularity score, a file name of the source code file, and one or more tags included in the source code file, data describing tags associated with the source code file, and wherein the data describing tag comprises a tag name, a tag definition, a description of the file, and one or more code lines associated with the tag; determining the respective popularity score stored in the index for each source code file based on a quantity of references to each source code file in source code of other source code files included in the index; receiving a search query that includes a source code tag and data specifying a programming language; identifying, using the index, search results that satisfy the search query, each search result referencing a respective source code file; ranking the identified search results based on respective popularity scores of the referenced source code files, wherein search results that reference source code files that are not associated with the specified programming language are ranked lower than other search results; and providing the ranked search results in response to the search query. - View Dependent Claims (8, 9)
-
Specification