IP Library Granted Patent US 8,875,093
Granted Patent B2
US 8,875,093 · App. 13/495,267 · Granted Oct 28, 2014

Instantiating a coding competition to develop a program module in a networked computing environment

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 8,875,093
App. No.
13/495,267
Granted
Oct 28, 2014
Kind
B2
Abstract

Embodiments of the present invention relate to the instantiation of a coding competition to address problems in program modules. In a typical embodiment, a first annotation will be detected in a program code file having a set of program modules. The first annotation generally indicates a need for a functionality associated with at least one program module of the set of program modules. Responsive to a lack of an existing library comprising the solution, an indication to instantiate a coding competition among a set of developers will be received to provide the solution. In response to the indication, a second annotation will be inserted into the program code file. The coding competition may then be instantiated to identify a set of developer libraries having a potential to provide the solution. Based on the coding competition, the solution may then be identified and implemented.

Claims (50)

1. A computer-implemented method for instantiating a coding competition to develop a program module in a networked computing environment, comprising:

inserting, by a user, a first annotation at a library invocation point in a program code file having a set of program modules, wherein the first annotation comprises actionable syntactic metadata to search for a needed functionality associated with at least one program module of the set of program modules;

invoking the first annotation to thereby initiate a search of one or more repositories;

performing the search of the one or more repositories, in order to determine and find an existing library comprising the functionality;

receiving, responsive to a lack of the existing library comprising the functionality, an indication that the library does not exist and to instantiate a coding competition among a set of developers to provide the functionality;

inserting a second annotation into the program code file, the second annotation comprising a set of attributes of the coding competition;

instantiating the coding competition based on the set of attributes, checking whether the coding competition is complete, and upon completion, obtaining a set of developer libraries having a potential to provide the functionality; and

identifying a developer library from the set of developer libraries that best meets the set of attributes.

2. The computer-implemented method of claim 1 , further comprising identifying the functionality from the developer library.

3. The computer-implemented method of claim 2 , further comprising implementing the functionality to address the need for the functionality.

4. The computer-implemented method of claim 1 , the set of attributes comprising at least one of the following: a title, a description, a start date, an end date, a contact, and a reward associated with the coding competition.

5. The computer-implemented method of claim 4 , further comprising providing the reward to at least one developer associated with the developer library.

6. The computer-implemented method of claim 1 , the computer-implemented method being implemented via an integrated development environment (IDE).

7. The computer-implemented method of claim 1 , further comprising searching, in at least one computer storage device, for an existing library that comprises the functionality.

8. A system for instantiating a coding competition to develop a program module 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:

insert, by a user, a first annotation at a library invocation point in a program code file having a set of program modules, wherein the first annotation comprises actionable syntactic metadata to search for a needed functionality associated with at least one program module of the set of program modules;

invoke the first annotation to thereby initiate a search of one or more repositories;

perform the search of the one or more repositories, in order to find an existing library comprising the functionality

receive, responsive to a lack of the existing library comprising the functionality, a request to instantiate the coding competition among a set of developers to provide the functionality;

insert a second annotation into the program code file, the second annotation comprising a set of attributes of the coding competition;

instantiate the coding competition based on the set of attributes, check whether the coding competition is complete, and upon completion, obtain a set of developer libraries having a potential to provide the functionality; and

identify a developer library from the set of developer libraries that best meets the set of attributes.

9. The system of claim 8 , the memory medium further comprising instructions for causing the system to identify the functionality from the developer library.

10. The system of claim 9 , the memory medium further comprising instructions for causing the system to implement the functionality to address the need for the functionality.

11. The system of claim 8 , the set of attributes comprising at least one of the following: a title, a description, a start date, an end date, a contact, and a reward associated with the coding competition.

12. The system of claim 11 , the memory medium further comprising instructions for causing the system to provide the reward to at least one developer associated with the developer library.

13. The system of claim 8 , the system being implemented via an integrated development environment ODE).

14. The system of claim 8 the memory medium further comprising instructions for causing the system to search, in at least one computer storage device, for an existing library that comprises the functionality.

15. A computer program product for instantiating a coding competition to develop a program module in a networked computing environment, the computer program product comprising a computer readable storage device, and program instructions stored on the computer readable storage device, to:

insert, by a user, a first annotation at a library invocation point in a program code file having a set of program modules, wherein the first annotation comprises actionable syntactic metadata to search for a needed functionality associated with at least one program module of the set of program modules;

invoke the first annotation to thereby initiate a search of one or more repositories;

perform the search of the one or more repositories, in order to find an existing library comprising the functionality

receive, responsive to a lack of the existing library comprising the functionality, a request to instantiate the coding competition among a set of developers to provide the functionality;

insert a second annotation into the program code file, the second annotation comprising a set of attributes of the coding competition;

instantiate the coding competition based on the set of attributes, check whether the coding competition is complete, and upon completion, obtain a set of developer libraries having a potential to provide the functionality; and

identify a developer library from the set of developer libraries that best meets the set of attributes.

16. The computer program product of claim 15 , the computer readable storage device further comprising instructions to identify the functionality from the developer library.

17. The computer program product of claim 16 , the computer readable storage device further comprising instructions to implement the functionality to address the need for the functionality.

18. The computer program product of claim 15 , the set of attributes comprising at least one of the following: a title, a description, a start date, an end date, a contact, and a reward associated with the coding competition.

19. The computer program product of claim 18 , the computer readable storage device further comprising instructions to provide the reward to at least one developer associated with the developer library.

20. The computer program product of claim 15 , the computer program product being implemented via an integrated development environment (IDE).

21. The computer program product of claim 15 , the computer readable storage device further comprising instructions to search, in at least one computer storage device, for an existing library that comprises the functionality.

22. A method for deploying a computer system for instantiating a coding competition to develop a program module in a networked computing environment, the method comprising:

the computer system inserting, by a user, a first annotation at a library invocation point in a program code file having a set of program modules, wherein the first annotation comprises actionable syntactic metadata to search for a needed functionality associated with at least one program module of the set of program modules;

the computer system invoking the first annotation to thereby initiate a search of one or more repositories;

the computer system performing the search of the one or more repositories, in order to find an existing library comprising the functionality

the computer system receiving, responsive to a lack of the existing library comprising the functionality, a request to instantiate the coding competition among a set of developers to provide the functionality;

the computer system inserting a second annotation into the program code file, the second annotation comprising a set of attributes of the coding competition;

the computer system instantiating the coding competition based on the set of attributes, checking whether the coding competition is complete, and upon completion, obtaining a set of developer libraries having a potential to provide the functionality; and

the computer system identifying a developer library from the set of developer libraries that best meets the set of attributes.

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 Jun 14, 2012
From: BALASUBRAMANIAN, SWAMINATHAN; HAMILTON, RICK A., II; O'CONNELL, BRIAN M.; WALKER, KEITH R.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028375/0828 →