IP Library Granted Patent US 9,201,632
Granted Patent B2
US 9,201,632 · App. 14/477,664 · Granted Dec 1, 2015

Systems and methods for incremental software development

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,201,632
App. No.
14/477,664
Granted
Dec 1, 2015
Kind
B2
Abstract

Methods and systems for facilitating incremental software development are disclosed. For example, a method can include receiving a plurality of binary software libraries sufficient for building a software project. A request from a user to modify source code for at least one of the plurality of binary libraries is received. In response to receiving the request, the source code for the at least one of the plurality of binary libraries is retrieved. The source code for the at least one of the plurality of binary libraries is presented to the user. Modified source code for the at least one of the plurality of binary libraries is received. The modified source code is compiled to produce compiled modified code. A revised version of the software project is built using the compiled modified code and the plurality of binary libraries.

Claims (61)

1. A method, comprising:

receiving, from a development environment, a modification of source code for a first library of a plurality of binary libraries;

identifying, by a processor, a second library of the plurality of libraries based on dependency metadata of the second library that indicates a dependency of the second library on the modified source code, the dependency metadata of the second library including a hash value to verify the identity of the second library, source code for the second library being inaccessible to the development environment;

determining, based on the identification of the second library, that the modified source code necessitates a modification to the second library;

in response to the determination, providing access to the source code for the second library to the development environment; and

causing the development environment to present the source code for the second library.

2. The method of claim 1 , further comprising:

retrieving dependency information identifying the plurality of binary libraries from among a second plurality of binary libraries comprising the plurality of binary libraries; and

identifying the plurality of libraries based on the dependency information.

3. The method of claim 1 , further comprising:

receiving a request to retrieve binary libraries associated with a code version identifier; and

identifying the plurality of binary libraries based on the code version identifier.

4. The method of claim 1 , further comprising:

receiving, via the development environment, a request to modify the source code for the first library; and

in response to the receiving of the request, retrieving the source code for the first library.

5. The method of claim 1 , wherein the plurality of binary libraries is sufficient for building a software project, the method further comprising:

receiving the plurality of binary libraries without receiving source code for the plurality of binary libraries.

6. The method of claim 1 , further comprising:

in response to the determination, providing, by the development environment, a notification that the received modification necessitates the modification to the second library.

7. The method of claim 1 , further comprising:

compiling the modified source code to produce compiled source code;

building a revised version of a software project using the compiled modified code and the plurality of binary libraries;

testing the revised version of the software project; and

based on results of the testing, updating dependency data for the software project.

8. A system comprising at least one processor and a plurality of modules providing instructions to be executed by the at least one processor, the modules comprising:

a development environment to:

identify a modification of source code for a first library of a plurality of binary libraries, the modification made in a development environment;

identify a second library of the plurality of libraries based on dependency metadata of the second library that indicates a dependency of the second library on the modified source code, the dependency metadata of the second library including a hash value to verify the identity of the second library, source code for the second library being inaccessible to the development environment;

determine, based on the identification of the second library by the at least one processor, that the modified source code necessitates a modification to the second library;

in response to the determination, providing access to the source code for the second library to the development environment; and

cause the development environment to present the source code for the second library.

9. The system of claim 8 , wherein the development environment is further to:

retrieve dependency information identifying the plurality of binary libraries from among a second plurality of binary libraries comprising the plurality of binary libraries; and

identify the plurality of libraries based on the dependency information.

10. The system of claim 8 , wherein the development environment is further to:

receive a request to modify the source code for the first library; and

in response to the receiving of the request, retrieving the source code for the first library.

11. The system of claim 8 , wherein the plurality of binary libraries is sufficient for building a software project, and wherein the development environment is further to:

receive the plurality of binary libraries without receiving source code for the plurality of binary libraries.

12. The system of claim 8 , wherein the development environment is further to:

in response to the determination, provide a notification that the received modification necessitates the modification to the second library.

13. The system of claim 8 , wherein the development environment is further to:

compile the modified source code to produce compiled source code;

build a revised version of a software project using the compiled modified code and the plurality of binary libraries;

test the revised version of the software project; and

based on results of the test, update dependency data for the software project.

14. A non-transitory machine-readable storage medium having instructions encoded thereon which, when executed by at least one processor, cause the at least one processor to perform operations comprising:

detecting, in a development environment, a modification of source code for a first library of a set of binary libraries;

identifying a second library of the plurality of libraries based on dependency metadata of the second library that indicates a dependency of the second library on the modified source code, the dependency metadata of the second library including a hash value to verify the identity of the second library, source code for the second library being inaccessible to the development environment;

determining, based on the identification of the second library, that the modified source code necessitates a modification to the second library;

in response to the determination, providing access to the source code for the second library to the development environment; and

causing the development environment to present the source code for the second library.

15. The non-transitory machine-readable storage medium of claim 14 , wherein the operations further comprise:

retrieving dependency information identifying the plurality of binary libraries from among a second plurality of binary libraries comprising the plurality of binary libraries; and

identifying the plurality of libraries based on the dependency information.

16. The non-transitory machine-readable storage medium of claim 14 , wherein the operations further comprise:

receiving a request, via the development environment, to modify the source code for the first library; and

in response to the receiving of the request, retrieving the source code for the first library.

17. The non-transitory machine-readable storage medium of claim 14 , wherein the plurality of binary libraries is sufficient for building a software project, and wherein the operations further comprise receiving the plurality of binary libraries without receiving source code for the plurality of binary libraries.

18. The non-transitory machine-readable storage medium of claim 14 , wherein the operations further comprise:

in response to the determination, providing, by the development environment, a notification that the received modification necessitates the modification to the second library.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: EBAY INC.
To: PAYPAL, INC.
Reel/Frame 036171/0221 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2014
From: SOMANI, MAHESH K.; RETHINAKALEESWARAN, KUMAR; SAHA, DEBASHIS; DODD, DAVID WILLIAM; MATHEW, SURESH
To: EBAY INC.
Reel/Frame 033672/0428 →