US 12,248,779 B1
Toggle persist with runtime view optimization
Zhenpeng Li, San Ramon, CA (US); Dustin Chesterman, Fremont, CA (US); Samuel Kheng, San Jose, CA (US); and Sachin Morajkar, San Carlos, CA (US)
Assigned to Workday, Inc., Pleasanton, CA (US)
Filed by Workday, Inc., Pleasanton, CA (US)
Filed on Aug. 18, 2022, as Appl. No. 17/890,752.
Int. Cl. G06F 8/71 (2018.01)
CPC G06F 8/71 (2013.01) 20 Claims
OG exemplary drawing
 
1. A method, comprising:
deploying a first version of a software application to a computing device in a production environment, wherein the first version of the software application includes a first plurality of code paths and corresponding toggle states;
storing in a toggle state data structure the corresponding toggle states associated with all of the first plurality of code paths;
generating an updated version of the software application, wherein the updated version of the software application includes a second plurality of code paths and corresponding toggle states, wherein at least one code path associated with the updated version of the software application was not included in the first plurality of code paths;
debugging the updated version of the software application in part by:
analyzing the corresponding toggle states associated with the second plurality of code paths;
identifying a first toggle state associated with a first code path that has changed between the first version of the software application and the updated version of the software application, and at least one code path associated with the updated version of the software application that was not included in the first plurality of code paths, wherein a changed state of changed toggle states comprises a state of a toggle of a plurality of toggles that has changed between the updated version of the software application and a previous version of the software application, and wherein the changed state has a corresponding time frame and a corresponding sequence number; and
logging the corresponding toggle states associated with the second plurality of code paths in part by updating the toggle state data structure to include a new entry for the at least one code path associated with the updated version of the software application that was not included in the first plurality of code paths, a new entry for the first toggle state associated with the first code path that has changed between the first version of the software application and the updated version of the software application, and modifying a previous entry associated with the first toggle state associated with the first code path that has changed between the first version of the software application and the updated version of the software application to indicate a version of the software application that the first code path was executed; and
updating the first version of the software application by deploying the updated version of the software application to the computing device in the production environment.