US2019196934A1PendingUtilityA1
Bug localization using version history
Assignee: PURDUE RESEARCH FOUNDATIONPriority: Nov 27, 2012Filed: Oct 23, 2018Published: Jun 27, 2019
Est. expiryNov 27, 2032(~6.4 yrs left)· nominal 20-yr term from priority
G06F 11/362G06F 8/71
47
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A method of searching a corpus including a plurality of files includes automatically determining, using a processor, a historical ranking for each file using respective changeset information. Search term(s) of a query are received. A textual ranking is determined for each file using the search term(s) and contents of that file. The historical and textual rankings are combined to provide a result ranking. A data processing system includes a storage system storing the corpus including the plurality of files, a processor configured to determine the result rankings, and a user interface system configured to receive query results from the processor and present them to a user.
Claims
exact text as granted — not AI-modified1 . A method of searching a corpus including a plurality of files, comprising automatically performing the following steps using a processor:
determining a respective historical ranking for each file using respective changeset information of that file; receiving a query including one or more search term(s); determining a respective textual ranking for each file using the search term(s) and contents of that file; and determining a respective result ranking of each file using the respective historical ranking and the respective textual ranking of that file.
2 . The method according to claim 1 , further including producing a list of a selected number of the files having the highest respective result rankings.
3 . The method according to claim 1 , further including automatically preparing an index of the contents of the files using the processor, the step of determining the respective textual ranking including retrieving from the index respective term frequency(ies) for one or more of the search term(s) in the respective file, and combining the retrieved respective term frequency(ies).
4 . The method according to claim 3 , further including receiving a second corpus including a second plurality of files and repeating the preparing, determining-historical-ranking, receiving, determining-textual-ranking, and determining-result-ranking steps using the second plurality of files.
5 . The method according to claim 3 , the step of preparing an index including automatically tokenizing the contents of each file according to a type of the file.
6 . The method according to claim 1 , the step of determining the respective historical ranking including computing a ranking weight for each file using a duration between a selected reference time and a last-modification time of the file.
7 . The method according to claim 1 , the step of determining the respective historical ranking including normalizing the determined historical ranking with respect to the plurality of files in the corpus.
8 . The method according to claim 1 , wherein the changeset information includes a plurality of changeset records, each changeset record including respective contents and a respective list of files corresponding to that changeset record, the step of determining the respective historical ranking further including automatically: a) determining a respective ranking contribution for each file and each changeset record; and b) combining the respective ranking contributions for the changeset records corresponding to each file to provide the historical ranking for that file.
9 . The method according to claim 8 , the step of determining the ranking contribution further including automatically determining a type of each changeset record using the contents of that changeset record and determining the respective ranking contribution based on the determined type.
10 . The method according to claim 9 , the step of determining the respective ranking contribution including computing a ranking weight for each changeset record using a duration between a selected reference time and a commit time of the changeset record.
11 . The method according to claim 1 , wherein the query includes a bug report.
12 . A data processing system, comprising:
a) a storage system storing a corpus including a plurality of files; b) a processor configured to automatically:
i) determine a respective historical ranking for each file in the storage system using respective changeset information of that file;
ii) receive a query including one or more search term(s);
iii) determine a respective textual ranking for each file using the search term(s) and contents of that file;
iv) determine a respective result ranking of each file using the respective historical ranking and the respective textual ranking of that file; and
v) select one or more of the file(s) as query results using the determined result ranking(s) of the file(s); and
c) a user interface system configured to receive query results from the processor and present them to a user.
13 . The system according to claim 12 , the processor further configured to prepare an index of the contents of the files, store the prepared index on the storage system, and determine the respective textual ranking by retrieving from the stored index respective term frequency(ies) for one or more of the search term(s) in the respective file, and then combining the retrieved respective term frequency(ies).
14 . The system according to claim 13 , wherein the storage system further stores a second corpus including a second plurality of files and the processor is further configured to prepare an index of the second plurality of files, determine historical rankings of the second plurality of files, receive a second query, determine textual rankings of the second plurality of files with respect to the second query, and determine result rankings of the second plurality of files.
15 . The system according to claim 12 , the processor configured to determine the respective historical ranking by computing a ranking weight for each file using a duration between a selected reference time and a last-modification time of the file.
16 . The system according to claim 12 , the processor configured to determine the respective historical ranking by normalizing the determined historical ranking with respect to the plurality of files in the corpus.
17 . The system according to claim 12 , wherein the changeset information includes a plurality of changeset records, each changeset record including respective contents and a respective list of files corresponding to that changeset record, and the processor is configured to determine the respective historical ranking by determining a respective ranking contribution for each file and each changeset record; and combining the respective ranking contributions for the changeset records corresponding to each file.
18 . The system according to claim 17 , the processor configured to determine the ranking contribution by determining a type of each changeset record using the contents of that changeset record and determining the respective ranking contribution based on the determined type.
19 . The system according to claim 18 , the processor configured to determine the respective ranking contribution by computing a ranking weight for each changeset record using a duration between a selected reference time and a commit time of the changeset record.
20 . The system according to claim 12 , wherein the query includes a bug report.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.