IP Library › Granted Patent US 11,822,468
Granted Patent B2
US 11,822,468 · App. 16/422,631 · Granted Nov 21, 2023

Executable code branch annotations for objective branch verification

Inventors: Augustus Tertzakian (Kirkland, WA); Rajesh Gururaj (Redmond, WA); Sergii Liashenko (Edmonds, WA)
Assignee: Microsoft Technology Licensing, LLC
G06F11/3692G06F11/3612G06F11/3636G06F11/3688
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,822,468
App. No.
16/422,631
Granted
Nov 21, 2023
Kind
B2
Abstract

A method for objective code branch verification executes code branch annotations to assess developer-specified pass conditions for each code branch that are indicative of whether or not the code branch is functioning as originally intended by the author of the code. The method includes maintaining and dynamically updating both a counter value and a pass indicator status in association with each of multiple annotated code branches defined within a code body during execution of the code body. The counter value for each annotated code branch represents a number of times the annotated code branch has executed within a current run-time environment, and the pass indicator status indicates satisfaction or non-satisfaction of a pass condition identified within the code branch that is determined based on the counter value for the associated code branch.

Claims (42)

1. A system comprising:

a code branch tracking module stored in memory that:

maintains a counter value in association with each of multiple code branches defined within a code body during execution of the code body, the counter value for each one of the code branches representing a number of times the code branch has executed within a current run-time environment; and

dynamically updates and maintains a pass indicator status for each of the code branches during execution of the code body responsive to execution of an annotation included in the code branch, the pass indicator status indicating satisfaction or non-satisfaction of a pass condition identified within the code branch that is based on the associated counter value for the code branch, the annotation within each of the code branches identifying:

a pass evaluation macro; and

a threshold value for the code branch that is provided as an input to the pass evaluation macro of the code branch, wherein at least two code branches have threshold values different from each other, the pass evaluation macro being executed upon execution of the code branch to evaluate the pass condition based on a comparison between the threshold value and the counter value.

2. The system of claim 1 , wherein the pass condition for a select branch of the code branches is satisfied by execution of the select branch and the pass indicator status for the select branch indicates a fail status when the code branch has not executed.

3. The system of claim 1 , wherein the pass condition is a metric selected by a developer usable to verify that an associated code branch has executed in accord with an original intent of the developer.

4. The system of claim 1 , wherein the annotation of each of the multiple code branches identifies a condition for triggering execution of the code branch.

5. The system of claim 1 , wherein the code branch tracking module is further configured to:

re-assess satisfaction of the pass condition for a select branch of the code branches responsive to incrementing the counter value for the select branch; and

update the pass indicator status for the select branch based on the re-assessment.

6. The system of claim 1 , further comprising:

a reader tool stored in memory that:

queries the code branch tracking module with a request for information pertaining to execution of the code body, the requested information including the pass indicator status for one or more of the multiple code branches; and

presents the requested information on a display of a computing device.

7. The system of claim 1 , wherein the pass evaluation macro is executable to assess whether the count value for the code branch matches a developer-selected threshold count value.

8. A method comprising:

maintaining a counter value in association with each of multiple code branches defined within a code body during execution of the code body, the counter value for each ones of the code branches representing a number of times the code branch has executed within a current run-time environment; and

dynamically updating and maintaining a pass indicator status for each of the code branches during execution of the code body responsive to execution of an annotation included in the code branch, the pass indicator status indicating satisfaction or non-satisfaction of a pass condition identified within the code branch that is based on the associated counter value for the code branch, the annotation within each of the code branches identifying:

a pass evaluation macro; and

a threshold value for the code branch that is provided as an input to the pass evaluation macro of the code branch, wherein a code branch developer is able to assign different threshold values for each of the multiple code branches, the pass evaluation macro being executed upon execution of the code branch to evaluate the pass condition based on a comparison between the threshold value and the counter value.

9. The method of claim 8 , wherein the pass condition identified by each code branch is a metric selected by a developer usable to verify that the code branch has executed in accord with an original intent of the developer.

10. The method of claim 8 , wherein the annotation includes a branch name identifying a condition sufficient to trigger execution of the code branch.

11. The method of claim 8 , wherein the annotation includes human-readable text indicating the pass condition.

12. The method of claim 8 further comprising:

re-assessing satisfaction of the pass condition for a select branch of the code branches responsive to incrementing the counter value for the select code branch; and

updating the pass indicator status for the select code branch based on the re-assessment.

13. The method of claim 8 , further comprising:

requesting information pertaining to execution of the code body, the requested information including the pass indicator status for one or more of the multiple code branches; and

presenting the requested information on a display of a computing device.

14. The method of claim 8 , wherein the pass evaluation macro is executable to assess whether the count value for the code branch matches a developer-selected threshold count value.

15. A system comprising:

a code body stored in memory and executable by a processor, the code body including a code branch having an annotation that identifies a pass condition usable to verify whether execution of the code branch is consistent with original intent of a developer that drafted the code branch, the annotation including:

a pass evaluation macro; and

a threshold value for the code branch that is provided as an input to the pass evaluation macro of the code branch, wherein the threshold value for one or more of the multiple code branches is selected by a developer to be different from each other and to ascertain that the one or more code branches are working properly, the pass evaluation macro being executed upon execution of the code branch to evaluate the pass condition based on a comparison between the threshold value and a determined number of times that the code branch has executed within a current run-time environment prior to the evaluation.

16. The system of claim 15 , further comprising:

a code branch tracking module stored in memory that dynamically updates and maintains a pass indicator status for each of the code branches during execution of the code body, the pass indicator status indicating satisfaction or non-satisfaction of the pass condition identified by the annotation of each code branch.

17. The system of claim 16 , further comprising:

a reader tool stored in memory that:

queries the code branch tracking module with a request for information pertaining to execution of the code body, the requested information including the pass indicator status for the code branch; and

presents the requested information on a display of a computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2019
From: TERTZAKIAN, AUGUSTUS; GURURAJ, RAJESH; LIASHENKO, SERGII
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 049580/0115 →
Continuity (1)
Related Publication 20200371906A1 · Nov 26, 2020