IP Library Granted Patent US 9,946,537
Granted Patent B2
US 9,946,537 · App. 15/147,930 · Granted Apr 17, 2018

Integrated development environment-based repository searching in a networked computing environment

Inventors: Swaminathan Balasubramanian (Troy, MI); Rick A. Hamilton, II (Charlottesville, VA); Brian M. O'Connell (Research Triangle Park, NC); Keith R. Walker (Austin, TX)
Assignee: International Business Machines Corporation
G06F8/73G06F8/71G06F17/3053G06F17/30525G06F17/30554G06F17/30864G06F17/30867
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 9,946,537
App. No.
15/147,930
Granted
Apr 17, 2018
Kind
B2
Abstract

Embodiments of the present invention provide an approach for integrated development environment (IDE)-based repository searching (e.g., for library elements such as classes and/or functions) in a networked computing environment. In a typical embodiment, a first program code file is received from a first integrated development environment (IDE). The first program file may be associated with a set of attributes as stored in an annotation, header, or the like. Regardless, the first program file may be parsed and indexed into a repository based on the set of attributes. A search request may then be received from a second IDE. Based on the search request and the set of attributes, a matching program code file may then be identified as stored in the repository. Once identified, the matching program code file may be transmitted/communicated to the second IDE to fulfill the search request.

Claims (68)

1. A computer-implemented method for repository searching in a networked computing environment, comprising:

receiving, from a user, a ranking of a set of repositories within a first integrated development environment (IDE) into an order in which the set of repositories are to be searched, wherein the set of repositories comprises at least one repository accessible from an internet, and at least one repository which is unavailable over the internet;

parsing and indexing a first program code file, received from the first IDE, into a repository based on a set of attributes of the first program code file;

receiving a search request from a second IDE;

determining whether the repository supports expectation processing, wherein expectation processing includes receiving a supplied input identified in an annotation and verifying that an output of an associated method matches a corresponding annotation;

when a determination is made that the repository supports expectation processing,

sending, by the second IDE, annotations to a first repository of the ranked set of repositories, and

performing by the repository, expectation processing according to input of the search request,

determining whether there is another repository to be searched in the ranked set of repositories;

identifying a matching program code file stored in the repository based on the expectation processing; and

when the expectation processing is performed by the repository, transmitting the matching program code file to the second IDE to fulfill the search request.

2. The computer-implemented method of claim 1 , the set of attributes being expressed in an annotation associated with the first program code file.

3. The computer-implemented method of claim 1 , the set of attributes comprising a number and a parameter type associated with:

a class and a method associated with the first program code file, and

a comment associated with the class and the method.

4. The computer-implemented method of claim 1 , further comprising:

when a determination is made that the repository does not support expectation processing,

downloading, by the second IDE, non-expectation annotation matches from the repository, and

performing, by the second IDE, expectation processing according to the input of the search request.

5. The computer-implemented method of claim 1 , the search request comprising at least one of the following: an input, an expected return or an annotation.

6. The computer-implemented method of claim 1 , the search request comprising a second program code file received from the second IDE.

7. The computer-implemented method of claim 1 , the networked computing environment comprising a cloud computing environment.

8. The computer-implemented method of claim 1 , wherein a solution service provider provides a computer infrastructure operable to perform the method for one or more consumers.

9. A system for repository searching in a networked computing environment, comprising:

a memory medium comprising instructions;

a bus coupled to the memory medium; and

a processor coupled to the bus that when executing the instructions causes the system to:

receive, from a user, a rank of a set of repositories within a first integrated development environment (IDE) into an order in which the set of repositories are to be searched, wherein the set of repositories comprises at least one repository accessible from an internet, and at least one repository which is unavailable over the internet;

parse and index a first program code file, received from the first IDE, into a repository based on a set of attributes of the first program code file;

receive a search request from a second IDE;

determine whether the repository supports expectation processing, wherein expectation processing includes receiving a supplied input identified in an annotation and verifying that an output of an associated method matches a corresponding annotation;

when a determination is made that the repository supports expectation processing,

send, by the second IDE, annotations to a first repository of the ranked set of repositories, and

perform, by the repository, expectation processing according to input of the search request,

determine whether there is another repository to be searched in the ranked set of repositories;

identify a matching program code file stored in the repository based on the expectation processing; and

when the expectation processing is performed by the repository, transmitting the matching program code file to the second IDE to fulfill the search request.

10. The system of claim 9 , the set of attributes being expressed in an annotation associated with the first program code file.

11. The system of claim 9 , the set of attributes comprising:

a number and a parameter type associated with a class and a method associated with the first program code file, and

a comment associated with the class and the method.

12. The system of claim 9 , further comprising:

when a determination is made that the repository does not support expectation processing,

download, by the second IDE, non-expectation annotation matches from the repository, and

perform, by the second IDE, expectation processing according to the input of the search request.

13. The system of claim 12 , the search request comprising a second program code file received from the second IDE.

14. The system of claim 9 , the networked computing environment comprising a cloud computing environment.

15. A computer program product for repository searching in a networked computing environment, the computer program product comprising a computer readable storage media, and program instructions stored on the computer readable storage media, to:

receive, from a user, a rank of a set of repositories within a first integrated development environment (IDE) into an order in which the set of repositories are to be searched, wherein the set of repositories comprises at least one repository accessible from an internet, and at least one repository which is unavailable over the internet;

parse and index a first program code file, received from the first IDE, into a repository based on a set of attributes of the first program code file;

receive a search request from a second IDE;

determine whether the repository supports expectation processing, wherein expectation processing includes receiving a supplied input identified in an annotation and verifying that an output of an associated method matches a corresponding annotation;

when a determination is made that the repository supports expectation processing,

send, by the second IDE, annotations to a first repository of the ranked set of repositories, and

perform, by the repository, expectation processing according to input of the search request,

determine whether there is another repository to be searched in the ranked set of repositories;

identify a matching program code file stored in the repository based on the expectation processing; and

when the expectation processing is performed by the repository, transmitting the matching program code file to the second IDE to fulfill the search request.

16. The computer program product of claim 15 , the set of attributes being expressed in an annotation associated with the first program code file.

17. The computer program product of claim 15 , the set of attributes comprising:

a number and a parameter type associated with a class and a method associated with the first program code file, and

a comment associated with the class and the method.

18. The computer program product of claim 15 , further comprising:

when a determination is made that the repository does not support expectation processing,

download, by the second IDE, non-expectation annotation matches from the repository, and

perform, by the second IDE, expectation processing according to the input of the search request.

19. The computer program product of claim 18 , the search request comprising a second program code file received from the second IDE.

20. The computer program product of claim 15 , the networked computing environment comprising a cloud computing environment.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 057885/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: BALASUBRAMANIAN, SWAMINATHAN; HAMILTON, RICK A., II; O'CONNELL, BRIAN M.; WALKER, KEITH R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 038483/0139 →
Continuity (3)
Continuation 14705305 · May 6, 2015
Continuation 13495253 · Jun 13, 2012
Related Publication 20160253174A1 · Sep 1, 2016