US 11,875,136 B2
Edit automation using a temporal edit pattern
Gustavo Araujo Soares, Seattle, WA (US); Piyush Arora, Seattle, WA (US); Titus Barik, Issaquah, WA (US); Peter Groenewegen, Sammamish, WA (US); Sumit Gulwani, Sammamish, WA (US); Ameya Sanjay Ketkar, Corvallis, OR (US); Vu Minh Le, Redmond, WA (US); Wode Ni, Pittsburg, PA (US); David Ellis Pugh, Bellevue, WA (US); Arjun Radhakrishna, Seattle, WA (US); Ivan Radicek, Zagreb (HR); Ashish Tiwari, Sammamish, WA (US); and Mark Alistair Wilson-Thomas, Mercer Island, WA (US)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Apr. 1, 2021, as Appl. No. 17/220,156.
Prior Publication US 2022/0317979 A1, Oct. 6, 2022
Int. Cl. G06F 8/33 (2018.01); G06F 16/901 (2019.01)
CPC G06F 8/33 (2013.01) [G06F 16/9024 (2019.01)] 20 Claims
OG exemplary drawing
 
6. A method for recognizing an automatable edit sequence, comprising:
receiving an edit sequence representing contiguous edits of a source code document in a tool, including receiving temporal data and spatial data for each edit, the source code document including a source code;
building an edit graph data structure from the edit sequence using the temporal data and the spatial data;
matching at least a portion of the edit graph data structure to a first temporal edit pattern in an automatable edit sequences library; and
proactively leveraging the first temporal edit pattern in the tool by at least one of:
offering to automatically repeat at least a portion of the edit sequence at a different location in the source code document;
offering to automatically repeat the edit sequence at target locations in the source code document, the target locations designated in an anchor target list;
displaying a result of automatically repeating the edit sequence to a copy of a different portion of the source code at the different location in the source code document;
automatically repeating at least a portion of the edit sequence at the different location in the source code document; or
automatically repeating the edit sequence at target locations in the source code document, the target locations designated in an anchor target list.