Legal claims defining the scope of protection, as filed with the USPTO.
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.
2. The method of claim 1, wherein analyzing the corresponding toggle states associated with the second plurality of code includes selecting a first toggle of the toggles.
3. The method of claim 2, wherein analyzing the corresponding toggle states associated with the second plurality of code paths includes determining whether the selected toggle is a new toggle.
4. The method of claim 3, wherein the selected toggle is the new toggle based on whether the toggle state data structure includes an entry for the selected toggle.
5. The method of claim 3, wherein in response to determining that the selected toggle is the new toggle, updating the toggle state data structure to include an entry corresponding to the selected toggle.
6. The method of claim 3, wherein in response to determining that the selected toggle is the new toggle, determining a current state of the selected toggle.
7. The method of claim 6, further comprising determining whether the current state of the selected toggle is different than a stored state associated with the selected toggle.
8. The method of claim 7, further comprising updating an entry corresponding to the selected toggle in response to determining that the current state of the selected toggle is not different than the stored state associated with the selected toggle.
9. The method of claim 7, wherein the toggle state data structure is updated to include the new entry corresponding to the changed state in response to determining that the current state of the selected toggle is different than the stored state associated with the selected toggle.
10. The method of claim 1, further comprising logging one or more states associated with one or more new toggles associated with the second plurality of code paths.
11. The method of claim 1, further comprising updating stored entries corresponding to unchanged toggles associated with the updated version of the software application.
12. The method of claim 1, further comprising receiving a request to determine the states of the toggles associated with the updated version of the software application.
13. The method of claim 12, further comprising identifying the toggles associated with the updated version of the software application based on timeframes associated with the toggles.
14. The method of claim 13, further comprising: determining corresponding states of the identified toggles associated with the updated version of the software application; and providing a result of the determined states.
15. The method of claim 1, further comprising receiving a request to determine one or more differences between the updated version of the software application and a second version of the software application.
16. The method of claim 15, further comprising identifying toggles associated with the updated version of the software application and toggles associated with the second version of the software application.
17. The method of claim 16, further comprising determining corresponding states of the identified toggles associated with the updated version of the software application and corresponding states of the identified toggles associated with the second version of the software application.
18. The method of claim 17, further comprising: determining one or more differences between the determined corresponding states of the identified toggles associated with the updated version of the software application and the determined corresponding states of the identified toggles associated with the second version of the software application; and providing a result of the one or more determined differences.
19. A system, comprising: a processor configured to: deploy 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; store in a toggle state data structure the corresponding toggle states associated with all of the first plurality of code paths; generate 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; debug the updated version of the software application in part by: analyze 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 log 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 update the first version of the software application by deploying the updated version of the software application to the computing device in the production environment; and a memory coupled to the processor and configured to provide the processor with instructions.
20. A computer program product embodied in a non-transitory computer readable medium and comprising computer instructions for: 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.
Unknown
March 11, 2025
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.