SEMANTIC-BASED QUERY TECHNIQUES FOR SOURCE CODE
First Claim
1. A method comprising:
- receiving a query for software source code, wherein the query comprises one or more queried domain concept names;
processing the query, wherein the processing comprises finding where, within the software source code, one or more source code element names mapped to the one or more queried domain concept names appear; and
displaying results of the query.
2 Assignments
0 Petitions
Accused Products
Abstract
A powerful set of features can assist software developers in searching source code. Source code can be queried to find occurrences of source code elements mapped to domain concepts appearing in an ontology. Queries can specify a search for occurrences of particular operations performed on domain concepts within the source code. Query expansion can be used to locate related domain concepts as indicated in the ontology. Query keyword weighting can be used to emphasize one domain concept over another. Tools can be provided to create the ontology and associate the ontology with the elements appearing in the source code. Results can include user interface features assisting in navigation to a location within the source code associated with the query results.
133 Citations
24 Claims
-
1. A method comprising:
-
receiving a query for software source code, wherein the query comprises one or more queried domain concept names;
processing the query, wherein the processing comprises finding where, within the software source code, one or more source code element names mapped to the one or more queried domain concept names appear; and
displaying results of the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A computer-implemented method of searching software source code, the method comprising:
-
receiving a query for the software source code, wherein the query comprises one or more domain concepts;
processing the query against the software source code; and
providing results of the processing;
wherein the results indicate a description of one or more operations performed in the software source code on one or more source code elements mapped to respective domain concepts of the query. - View Dependent Claims (15, 16)
-
-
17. A computer-implemented method of searching software source code, the method comprising:
-
receiving a query for the software source code, wherein the query comprises one or more queried domain concept names and one or more respective operations for the domain concept names, wherein one or more respective source code element names appearing in the software source code are mapped to the one or more queried domain concept names;
processing the query, wherein the processing comprises finding where, within the software source code, there are occurrences of the source code element names that are mapped to the one or more queried domain concept names in which the one or more respective operations are performed on the one or more source code element names; and
providing results of processing the query. - View Dependent Claims (18)
-
-
19. One or more computer-readable media having encoded thereon a data structure comprising:
-
a description of operations performed, within a unit of source code, on respective source code elements mapped to domain concept names, wherein the description uses respective domain concept names in place of names of the source code elements;
a link to a location within the source code indicating where, within the source code, the source code unit within which the operations are performed appears. - View Dependent Claims (20, 21, 22)
-
-
23. A query processing system comprising:
-
means for receiving a query for software source code, wherein the query comprises one or more queried domain concept names;
means for processing the query, wherein the means for processing is configured to find where, within the software source code, one or more source code element names mapped to the one or more queried domain concept names appear; and
means for displaying results of the query.
-
-
24. A method comprising:
-
generating a plurality of code semantic descriptors from source code, wherein the code semantic descriptors indicate operations performed in the source code on source code elements in the source code that are mapped to respective domain concepts stored in an ontology, wherein the code semantic descriptors indicate the operations performed on the source code elements in the source code in terms of the respective domain concepts to which the source code elements are mapped, wherein the code semantic descriptors indicate operations performed in respective methods of the source code;
wherein the ontology is a domain-specific ontology tailored to a problem domain within which an application of which the source code is a part falls;
receiving a query, wherein the query specifies one or more domain concepts and respective operations performable on the domain concepts;
processing the query against the plurality of code semantic descriptors, the processing identifying which methods in the source code contain occurrences of the domain concepts specified in the query in which the respective operations are performed on the domain concepts specified in the query; and
displaying results of the query, wherein the results comprise an indication of which methods in the source code contain occurrences of the domain concepts specified in the query in which the respective operations are performed on the domain concepts specified in the query.
-
Specification