Integrating search with application analysis
AssigneeMicrosoft Technology Liscensing, LLC
InventorsScott M. Louvau, Michael C. Fanning, Christopher M. Faucon
Life of this patent
Estimating the term…
Abstract
Aspects of the subject matter described herein relate to searching. In aspects, a software package may be received and transformed into searchable data. Static and dynamic analysis may be performed on code and data included in the software package. A data structure is created that may index the code, metadata, indexable resources, and analysis artifacts associated with the software package. The data structure may be used to satisfy queries and the transformed data and analysis artifacts may be made available for viewing.
Claims18
A method implemented at least in part by a computer, the method comprising:
- receiving a search query that includes a search term;
- searching for the search term in an indexed data structure that includes searchable terms obtained from code of a software package and searchable terms obtained from analysis data that was generated by analyzing the code of the software package, the analysis data including at least one of static analysis data generated without execution of the code of the software package or dynamic analysis data generated by execution of the code of the software package, wherein the indexed data structure associates the searchable terms with locations of the searchable terms in the code of the software package and in the analysis data;
- and
- providing a result set that includes an indication of where the search term is located in a code element of the software package and an indication of where the search term is located in a portion of the at least one of the static analysis data or the dynamic analysis data that was generated by analyzing the code element of the software package.
A computer system comprising:
- at least one processor structured to execute computer-executable instructions;
- and memory storing computer-executable instructions, that when executed by the at least one processor, cause the computer system to perform actions comprising:
- generating analysis data by performing at least one of a static analysis task or a dynamic analysis task to analyze code of a software package;
- receiving a search query that includes a search term;
- searching for the search term in an indexed data structure that includes searchable terms obtained from the code of the software package and searchable terms obtained from analysis data that was generated by said performing at least one of the static analysis task or the dynamic analysis task to analyze the code of the software package, wherein the indexed data structure associates the searchable terms with locations of the searchable terms in the code of the software package and in the analysis data;
- and
- providing a result set that includes an indication of where the search term is located in a code element of the software package and an indication of where the search term is located in a portion of the analysis data that was generated by said performing at least one of the static analysis task and the dynamic analysis task to analyze the code element of the software package.
A computer storage medium storing computer-executable instructions that, when executed, cause a computer system to perform actions comprising:
- generating analysis data by performing at least one of a static analysis task or a dynamic analysis task to analyze code of a software package;
- receiving a search query that includes a search term;
- searching for the search term in an indexed data structure that includes searchable terms obtained from the code of the software package and searchable terms obtained from the analysis data that was generated by said performing at least one of the static analysis task or the dynamic analysis task to analyze the code of the software package, wherein the indexed data structure associates the searchable terms with locations of the searchable terms in the code of the software package and in the analysis data;
- and
- providing a result set that includes an indication of where the search term is located in a code element of the software package and an indication of where the search term is located in a portion of the analysis data that was generated by said performing at least one of the static analysis task and the dynamic analysis task to analyze the code element of the software package.
Dependencies are inferred from the claim text.