US 11,860,766 B2
What-if analysis for notebooks
Pavle Subotić, Belgrade (RS); Lazar Milikić, Palaiseau (FR); and Milan Stojić, Belgrade (RS)
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Oct. 8, 2021, as Appl. No. 17/497,726.
Prior Publication US 2023/0161686 A1, May 25, 2023
Int. Cl. G06F 11/36 (2006.01); G06N 20/00 (2019.01); G06F 40/30 (2020.01); G06F 40/18 (2020.01); G06F 8/41 (2018.01)
CPC G06F 11/3664 (2013.01) [G06F 8/436 (2013.01); G06F 11/3624 (2013.01); G06F 40/18 (2020.01); G06F 40/30 (2020.01); G06N 20/00 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A system for communicating potential cell execution outcomes in an interactive programming environment, the system comprising:
a processor circuit;
a memory device, the memory device storing program code to be executed by the processor circuit, the program code comprising:
an analysis engine that:
receives an event related to a first cell;
based at least on determining that no user initiated what-if analysis is associated with the event:
executes, in the abstract domain, intra-cell static analysis for the first cell based on a current global abstract state and abstract semantics of the first cell to generate an updated global abstract state; and
stores in memory the updated global abstract state generated based on the intra-cell static analysis of the first cell; and
based at least on determining that a user initiated what-if analysis is associated with the event:
starting with the stored global abstract state, recursively executes, until a terminating criteria is reached, inter-cell analysis on each successor cell of a plurality of cells including the first cell for which the successor cell has a propagation dependency relative to a global abstract state generated by a respective predecessor cell of the successor cell; and
communicates information related to outcomes of one or both of the intra-cell static analysis and the inter-cell analysis.