9009682

Enhanced Unit Test Framework

PublishedApril 14, 2015
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
21 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method performed by one or more computers, the method comprising: identifying a plurality of units of a software application, each of the plurality of units comprising source code; parsing each of the plurality of units to identify one or more annotations that are inserted into the source code of the respective unit, the one or more annotations specifying one or more parameters for executing a unit test for the respective unit; generating a dependency graph for the plurality of units of the software application from dependencies specified in the identified annotations of each unit of the plurality of units of the software application, the dependency graph specifying dependencies between the units of the plurality of units, wherein a specified dependency between a first unit and a second unit of the plurality of units is such that the second unit depends on the first unit, the first and second units comprising one or more executable instructions; determining an initial execution order for the plurality of units from the dependencies specified by the dependency graph; receiving user input indicating an update to the initial execution order to provide an updated execution order for the plurality of units; based on the user input, generating an additional annotation that indicates that the dependency between the first unit and the second unit is altered such that the first unit depends on the second unit, the first unit calling the second unit; inserting the additional annotation into the source code of the first unit; and executing, based on the one or more parameters of the one or more annotations, unit tests for the units according to the execution order, executing a unit test of the second unit before the first unit.

2

2. The method of claim 1 , wherein parsing each of the plurality of units to identify the one or more annotations comprises identifying a particular annotation specifying that the first unit depends on the second unit.

3

3. The method of claim 2 , wherein the particular annotation identifies a user-defined dependency.

4

4. The method of claim 1 , further comprising determining that a third unit and a fourth unit of the plurality of units should not be tested in parallel, and wherein the initial execution order specifies that the third unit and the fourth unit should not be tested in parallel.

5

5. The method of claim 4 , wherein parsing each of the plurality of units to identify the one or more annotations further comprises identifying another annotation specifying that the third unit and the fourth unit should not be tested in parallel.

6

6. The method of claim 4 , wherein parsing each of the plurality of units to identify the one or more annotations further comprises identifying another annotation specifying that the third unit is incomplete, and wherein executing unit tests for the units comprises not executing a unit test for the third unit.

7

7. The method of claim 1 , wherein executing unit tests comprises determining a unit testing error for a third unit and determining, using the dependency graph, not to execute unit tests for any units depending on the third unit.

8

8. The method of claim 1 , wherein executing unit tests comprises determining a unit testing error for a third unit and determining, using the dependency graph, not to execute unit tests for any units specified by a further annotation as depending on the third unit having a degree of dependency greater than a threshold.

9

9. The method of claim 1 , displaying a visual representation of the dependency graph.

10

10. The method of claim 9 , further comprising receiving user input to modify the dependency graph; modifying the dependency graph according to the user input, resulting in a modified dependency graph; and writing a further annotation to source code according to the modified dependency graph.

11

11. A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations comprising: identifying a plurality of units of a software application, each of the plurality of units comprising source code; parsing each of the plurality of units to identify one or more annotations that are inserted into the source code of the respective unit, the one or more annotations specifying one or more parameters for executing a unit test for the respective unit; generating a dependency graph for the plurality of units of the software application from dependencies specified in the identified annotations of each unit of the plurality of units of the software application, the dependency graph specifying dependencies between the units of the plurality of units, wherein a specified dependency between a first unit and a second unit of the plurality of units is such that the second unit depends on the first unit, the first and second units comprising one or more executable instructions; determining an initial execution order for the plurality of units from the dependencies specified by the dependency graph; receiving user input indicating an update to the initial execution order to provide an updated execution order for the plurality of units; based on the user input, generating an additional annotation that indicates that the dependency between the first unit and the second unit is altered such that the first unit depends on the second unit, the first unit calling the second unit; inserting the additional annotation into the source code of the first unit; and executing, based on the one or more parameters of the one or more annotations, unit tests for the units according to the execution order, executing a unit test of the second unit before the first unit.

12

12. The computer-readable storage medium of claim 11 , wherein parsing each of the plurality of units to identify the one or more annotations comprises identifying a particular annotation specifying that the first unit depends on the second unit.

13

13. The computer-readable storage medium of claim 12 , wherein the particular annotation identifies a user-defined dependency.

14

14. The computer-readable storage medium of claim 11 , further comprising determining that a third unit and a fourth unit of the plurality of units should not be tested in parallel, and wherein the initial execution order specifies that the third unit and the fourth unit should not be tested in parallel.

15

15. The computer-readable storage medium of claim 14 , wherein parsing each of the plurality of units to identify the one or more annotations further comprises identifying another annotation specifying that the third unit and the fourth unit should not be tested in parallel.

16

16. The computer-readable storage medium of claim 14 , wherein parsing each of the plurality of units to identify the one or more annotations further comprises identifying another annotation specifying that the third unit is incomplete, and wherein executing unit tests for the units comprises not executing a unit test for the third unit.

17

17. The computer-readable storage medium of claim 11 , wherein executing unit tests comprises determining a unit testing error for a third unit and determining, using the dependency graph, not to execute unit tests for any units depending on the third unit.

18

18. The computer-readable storage medium of claim 11 , wherein executing unit tests comprises determining a unit testing error for a third unit and determining, using the dependency graph, not to execute unit tests for any units specified by a further annotation as depending on the third unit having a degree of dependency greater than a threshold.

19

19. The computer-readable storage medium of claim 11 , displaying a visual representation of the dependency graph.

20

20. The computer-readable storage medium of claim 19 , further comprising receiving user input to modify the dependency graph; modifying the dependency graph according to the user input, resulting in a modified dependency graph; and writing a further annotation to source code according to the modified dependency graph.

21

21. A system comprising one or more computers configured to perform operations comprising: identifying a plurality of units of a software application, each of the plurality of units comprising source code; parsing each of the plurality of units to identify one or more annotations that are inserted into the source code of the respective unit, the one or more annotations specifying one or more parameters for executing a unit test for the respective unit; generating a dependency graph for the plurality of units of the software application from dependencies specified in the identified annotations of each unit of the plurality of units of the software application, the dependency graph specifying dependencies between the units of the plurality of units, wherein a specified dependency between a first unit and a second unit of the plurality of units is such that the second unit depends on the first unit, the first and second units comprising one or more executable instructions; determining an initial execution order for the plurality of units from the dependencies specified by the dependency graph; receiving user input indicating an update to the initial execution order to provide an updated execution order for the plurality of units; based on the user input, generating an additional annotation that indicates that the dependency between the first unit and the second unit is altered such that the first unit depends on the second unit, the first unit calling the second unit; inserting the additional annotation into the source code of the first unit; and executing, based on the one or more parameters of the one or more annotations, unit tests for the units according to the execution order, executing a unit test of the second unit before the first unit.

Patent Metadata

Filing Date

Unknown

Publication Date

April 14, 2015

Inventors

Efstratios Tsantilis
Klaus Steinbach

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “ENHANCED UNIT TEST FRAMEWORK” (9009682). https://patentable.app/patents/9009682

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.