IP Library › Granted Patent US 11,907,238
Granted Patent B2
US 11,907,238 · App. 16/549,697 · Granted Feb 20, 2024

Metadata-based software artifact search

Inventor: Martin Steinhauser (Mannheim, DE)
Assignee: SAP SE
G06F16/248G06F8/24G06F16/2455
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,907,238
App. No.
16/549,697
Granted
Feb 20, 2024
Kind
B2
Abstract

Software feature metadata objects and software artifact search, identification, and tracking is provided herein. A software artifact can have an associated software feature metadata object. A software feature metadata object can include metadata describing or defining at least in part the software artifact. The software feature metadata object can include one or more defined queries for identifying the software artifact in applications or programming code. The software feature metadata object can include one or more identifiers for composite software artifacts which integrate the software artifact corresponding to the software feature metadata object. The software feature metadata object can be accessed to obtain metadata about the corresponding software artifact for tracking usage, integration, or other activities, which can be provided for reporting or analysis. The software feature metadata object can include a multiplicity of metadata, such as identification queries, for multiple application sources where the software artifact may be integrated.

Claims (59)

1. A method, implemented by one or more computing devices comprising at least one hardware processor and one or more tangible memories coupled to the at least one hardware processor, of identifying programming code, the method comprising:

receiving a user-provided search query for a programming feature, wherein the search query comprises a description of the programming feature;

executing the search query against a collection of feature definitions in a feature library of programming features, wherein the collection of feature definitions comprises feature metadata objects respectively mapping programming features to software artifacts via feature queries respectively stored in the feature metadata objects;

responsive to finding a feature metadata object that satisfies the search query, outputting a feature query and a feature query type stored in the feature metadata object, wherein the feature query comprises one or more search criteria for identifying software artifacts having the programming feature, wherein the feature query type at least in part identifies how to execute the feature query; and

executing the feature query against an application library to identify one or more applications having the programming feature based on the one or more search criteria and the feature query type.

2. The method of claim 1 , further comprising:

retrieving the identified one or more applications having the programming feature.

3. The method of claim 1 , further comprising:

receiving an updated feature query in response to outputting the feature query; and

wherein the executing comprises executing the updated feature query against the application library.

4. The method of claim 1 , further comprising:

displaying the one or more applications having the programming feature.

5. The method of claim 1 , further comprising:

generating a report comprising the one or more applications having the programming feature.

6. The method of claim 1 , wherein the outputting further comprises outputting a feature source at least in part identifying a programming feature location of a software artifact for the programming feature.

7. The method of claim 6 , further comprising:

retrieving a source code of the programming feature from the programming feature location based at least in part on the feature source.

8. One or more non-transitory computer-readable storage media storing computer-executable instructions that, when executed, cause a computing system to perform a method of searching code segments, the method comprising:

receiving a programming feature request comprising one or more programming feature criteria;

searching a feature library for available programming features meeting the one or more programming feature criteria;

responsive to the searching, receiving a set of available programming features from the feature library;

displaying the set of available programming features from the feature library;

receiving a selection of a target programming feature from the set of available programming features;

obtaining a feature query stored in a feature metadata object of the target programming feature, wherein the feature query comprises one or more search criteria for identifying applications having the target programming feature;

obtaining a feature query type via the feature metadata object of the target programming feature, wherein the feature query type at least in part identifies how to execute the feature query;

executing the feature query against an application library to identify one or more applications having the target programming feature, wherein executing the feature query is based on the one or more search criteria and the feature query type; and

displaying results of the executed feature query.

9. The one or more non-transitory computer-readable storage media of claim 8 , the method further comprising:

displaying the feature query obtained via the feature metadata object;

receiving an updated feature query; and

wherein the executing comprises executing the updated feature query.

10. The one or more non-transitory computer-readable storage media of claim 8 , the method further comprising:

obtaining a feature query target location via the feature metadata object of the target programming feature; and

wherein executing the feature query is at least in part based on the feature query target location.

11. The one or more non-transitory computer-readable storage media of claim 8 , the method further comprising:

obtaining a feature implementation object via the feature metadata object of the target programming feature, wherein the feature implementation object identifies a composite programming feature incorporating the target programming feature;

accessing an additional feature metadata object for the identified composite programming feature based on the feature implementation object;

obtaining an additional feature query via the additional feature metadata object of the composite programming feature; and

executing the additional feature query against the application library in addition to the feature query.

12. The one or more non-transitory computer-readable storage media of claim 8 , the method further comprising:

obtaining a feature keyword via the feature metadata object of the target programming feature; and

executing a keyword search against the application library using the feature keyword.

13. The one or more non-transitory computer-readable storage media of claim 8 , wherein executing the feature query comprises searching metadata of one or more applications in the application library based at least in part on the one or more search criteria in the feature query.

14. The one or more non-transitory computer-readable storage media of claim 8 , wherein the results include a count of the one or more applications having the target programming feature.

15. The one or more non-transitory computer-readable storage media of claim 8 , the method further comprising:

generating a report based at least in part on the results detailing usage of the target programming feature.

16. A system of application feature identification, the system comprising:

one or more memories;

one or more processing units coupled to the one or more memories; and

one or more computer-readable storage media storing instructions that, when loaded into the one or more memories, cause the one or more processing units to perform software artifact discovery operations comprising:

receiving a request for available features of a feature library comprising one or more feature metadata objects respectively defining one or more available features;

responsive to receiving the request, providing one or more feature identifiers of the available features of the feature library;

receiving a selection of a target feature of the one or more available features, wherein the selection comprises a target feature identifier selected from the one or more feature identifiers;

accessing a target feature metadata object in the feature library based on the target feature identifier from the received selection, wherein the target feature metadata object represents a software artifact encapsulating the target feature;

retrieving a feature query from the target feature metadata object, wherein the feature query comprises one or more search criteria for identifying programming code sources having the software artifact encapsulating the target feature defined in the target feature metadata object;

obtaining a feature query type via the target feature metadata object, wherein the feature query type at least in part identifies how to execute the feature query;

executing the feature query based on the one or more search criteria and the feature query type against a programming code library having programming code sources;

receiving results based on the executed search, wherein the results comprise programming code source identifiers identifying programming code sources having the software artifact encapsulating the target feature identified in the target feature metadata object; and

providing the programming code source identifiers of the results of the executed search.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 23, 2019
From: STEINHAUSER, MARTIN
To: SAP SE
Reel/Frame 050153/0590 →
Continuity (1)
Related Publication 20210056100A1 · Feb 25, 2021
Cited By (1)
US 12,468,784