18. 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, and wherein at least one of the one or more domain concept names is indicated as prohibited; processing the query, wherein the processing comprises: expanding the query to include one or more query terms with relationships to the one or more queried domain concept names based on an ontology, wherein at least one of the one or more query terms is indicated as prohibited at least based on at least one of the relationships to the one or more queried domain concept names, the at least one of the relationships being with the at least one of the one or more domain concept names indicated as prohibited; assigning a weight to at least one of the one or more query terms based on the relationship between the at least one of the one or more query terms and the related one or more queried domain concept names based on the ontology; if two domain concept names of the one or more queried domain concept names are indicated as both prohibited and required due to the expansion, the domain concept name with the greater weight is favored; if the two domain concept names have equal weights, the domain concept name indicated as prohibited is favored; and 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.
18. 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, and wherein at least one of the one or more domain concept names is indicated as prohibited; processing the query, wherein the processing comprises: expanding the query to include one or more query terms with relationships to the one or more queried domain concept names based on an ontology, wherein at least one of the one or more query terms is indicated as prohibited at least based on at least one of the relationships to the one or more queried domain concept names, the at least one of the relationships being with the at least one of the one or more domain concept names indicated as prohibited; assigning a weight to at least one of the one or more query terms based on the relationship between the at least one of the one or more query terms and the related one or more queried domain concept names based on the ontology; if two domain concept names of the one or more queried domain concept names are indicated as both prohibited and required due to the expansion, the domain concept name with the greater weight is favored; if the two domain concept names have equal weights, the domain concept name indicated as prohibited is favored; and 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. 19. The method of claim 18 wherein: source code elements appearing in the source code are mapped to respective domain concepts of the one or more queried domain concepts; and a plurality of source code semantic descriptors describe operations performed on source code elements in terms of the one or more queried domain concepts; and the finding comprises finding, in the code semantic descriptors, occurrences of the one or more operations performed on the respective domain concepts.