Patents by Inventor David Ellis Pugh
David Ellis Pugh has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11941372Abstract: Edit automation functionality generalizes edits performed by a user in a document, locates similar text, and recommends or applies transforms while staying within a current workflow. Source code edits such as refactoring are automated. The functionality uses or provides anchor target lists, temporal edit patterns, edit graphs, automatable edit sequence libraries, and other data structures and computational techniques for identifying locations appropriate for particular edits, for getting transforms, for selecting optimal transforms, for leveraging transforms in an editing session or later, and for displaying transform recommendations and results. The edit automation functionality enhances automation subtool generation, discoverability, and flexibility, for refactoring, snippet insertion, quick actions in an integrated development environment, and other automatable edit sequences.Type: GrantFiled: April 1, 2021Date of Patent: March 26, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Titus Barik, Gustavo Araujo Soares, Piyush Arora, Peter Groenewegen, Sumit Gulwani, Ameya Sanjay Ketkar, Vu Minh Le, Wode Ni, David Ellis Pugh, Arjun Radhakrishna, Ivan Radicek, Ashish Tiwari, Mark Alistair Wilson-Thomas
-
Publication number: 20240061677Abstract: Distinguishing pattern differences from non-pattern differences. A set of differences is identified. The set comprises a plurality of differences between first and second versions of a document. A pattern is identified. The pattern explains a transformation from a first string in the first version of the document to a second string in the second version of the document. A subset of differences are identified. The subset comprises a plurality of differences, from among the set, which match the pattern. While presenting a user interface that visually highlights differences between the first and second versions of the document, a first visual treatment is applied to a first difference, based on the first difference being included in the subset. A second visual treatment is also applied to a second difference, based on the second difference being excluded from the subset. The second visual treatment is different than the first visual treatment.Type: ApplicationFiled: November 2, 2023Publication date: February 22, 2024Inventors: David Ellis PUGH, Mark Alistair WILSON-THOMAS, Vu Minh LE
-
Patent number: 11875136Abstract: Edit automation functionality generalizes edits performed by a user in a document, locates similar text, and recommends or applies transforms while staying within a current workflow. Source code edits such as refactoring are automated. The functionality uses or provides anchor target lists, temporal edit patterns, edit graphs, automatable edit sequence libraries, and other data structures and computational techniques for identifying locations appropriate for particular edits, for getting transforms, for selecting optimal transforms, for leveraging transforms in an editing session or later, and for displaying transform recommendations and results. The edit automation functionality enhances automation subtool generation, discoverability, and flexibility, for refactoring, snippet insertion, quick actions in an integrated development environment, and other automatable edit sequences.Type: GrantFiled: April 1, 2021Date of Patent: January 16, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Gustavo Araujo Soares, Piyush Arora, Titus Barik, Peter Groenewegen, Sumit Gulwani, Ameya Sanjay Ketkar, Vu Minh Le, Wode Ni, David Ellis Pugh, Arjun Radhakrishna, Ivan Radicek, Ashish Tiwari, Mark Alistair Wilson-Thomas
-
Publication number: 20240004623Abstract: During software development, embodiments find various kinds of weak spots in source code and automatically suggest fixes to strengthen the code, without requiring developers to expressly select weakness finder mechanisms or fixer mechanisms by navigating a development tool's menu system. Weakness finders may analyze code using items such as hole detection, diagnostic errors, test results, changed code matches, prospective code discrepancies, generated code confidence scores, generated suggestion competition, and artificial intelligence. Weak spots and their context are submitted to weak spot fixers, which may generate fix suggestions using functionalities such as code synthesis, refactoring, autocompletion, retesting, and artificial intelligence. Fix candidate sets may be evaluated for consistency, diagnostic errors, and discrepancies. Snippets may be dynamically filled for presentation to a user.Type: ApplicationFiled: July 1, 2022Publication date: January 4, 2024Inventors: Peter GROENEWEGEN, Jui HANAMSHET, German David OBANDO CHACON, Mark Alistair WILSON-THOMAS, Alexey SVYATKOVSKIY, David Ellis PUGH
-
Patent number: 11861361Abstract: Distinguishing pattern differences from non-pattern differences. A set of differences is identified. The set comprises a plurality of differences between first and second versions of a document. A pattern is identified. The pattern explains a transformation from a first string in the first version of the document to a second string in the second version of the document. A subset of differences are identified. The subset comprises a plurality of differences, from among the set, which match the pattern. While presenting a user interface that visually highlights differences between the first and second versions of the document, a first visual treatment is applied to a first difference, based on the first difference being included in the subset. A second visual treatment is also applied to a second difference, based on the second difference being excluded from the subset. The second visual treatment is different than the first visual treatment.Type: GrantFiled: January 4, 2022Date of Patent: January 2, 2024Assignee: Microsoft Technology Licensing, LLCInventors: David Ellis Pugh, Mark Alistair Wilson-Thomas, Vu Minh Le
-
Publication number: 20230376685Abstract: Edit automation enhancements may be implemented in source code editors and other text editors. Provisional selections that indicate user intentions are submitted to a suggestion generator with other edit context information, to improve the quality of generated text suggestions and reduce the cognitive load on users. A provisional selection may include a highlighted completion list entry, or document text targeted by a hovering cursor, or metainformation text targeted by the hovering cursor, for example. An inline grey text suggestion driven by provisional selection may be displayed simultaneously with completion list suggestions that were created without regard to provisional selection. Suggestions driven by provisional selection may be interleaved with existing document text. Suggestions may be accepted fully in one gesture, or in parts. Suggestions may be edited by a user before being accepted, driving further suggestion refinement.Type: ApplicationFiled: August 2, 2023Publication date: November 23, 2023Inventors: Mark Alistair WILSON-THOMAS, Jonathan Keith SIMMONS, David Ellis PUGH, Vivian Julia LIM, Anqi LI, Shwetha SRINATH, German David OBANDO CHACON, Jin Woo JANG, Shengyu FU, Shao Kun DENG
-
Patent number: 11763078Abstract: Edit automation enhancements may be implemented in source code editors and other text editors. Provisional selections that indicate user intentions are submitted to a suggestion generator with other edit context information, to improve the quality of generated text suggestions and reduce the cognitive load on users. A provisional selection may include a highlighted completion list entry, or document text targeted by a hovering cursor, or metainformation text targeted by the hovering cursor, for example. An inline grey text suggestion driven by provisional selection may be displayed simultaneously with completion list suggestions that were created without regard to provisional selection. Suggestions driven by provisional selection may be interleaved with existing document text. Suggestions may be accepted fully in one gesture, or in parts. Suggestions may be edited by a user before being accepted, driving further suggestion refinement.Type: GrantFiled: April 22, 2021Date of Patent: September 19, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Mark Alistair Wilson-Thomas, Jonathan Keith Simmons, David Ellis Pugh, Vivian Julia Lim, Anqi Li, Shwetha Srinath, German David Obando Chacon, Jin Woo Jang, Shengyu Fu, Shao Kun Deng
-
Patent number: 11714613Abstract: Embodiments automate surfacing of underutilized development tool features, thereby enhancing the discoverability of subtools, commands, shortcuts, settings, visualizers, and other tool features. After spotting an inefficiency in the user's interaction with one or more tools, the feature surfacing functionality offers the user an interaction optimization suggestion. A mapping structure correlates detected interaction patterns with objectively better interaction optimizations. Several examples of mappings are discussed. The user can accept a suggestion, have the suggested optimization applied by an enhanced tool, and thereby reduce the number of user gestures utilized to accomplish a desired result, reduce the number of tools utilized, increase security, reduce risk of error, or get to the desired result faster, for example. Interaction optimizations also help the user stay focused, by reducing or avoiding departures from the user's current primary workflow.Type: GrantFiled: November 7, 2021Date of Patent: August 1, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Peter Groenewegen, Arjun Radhakrishna, Gustavo Araujo Soares, Mark Alistair Wilson-Thomas, Piyush Arora, Aaron Chak Hei Yim, David Ellis Pugh, German David Obando Chacon, Andrew Richard Sterland, Gregory Miskelly
-
Publication number: 20230214212Abstract: Distinguishing pattern differences from non-pattern differences. A set of differences is identified. The set comprises a plurality of differences between first and second versions of a document. A pattern is identified. The pattern explains a transformation from a first string in the first version of the document to a second string in the second version of the document. A subset of differences are identified. The subset comprises a plurality of differences, from among the set, which match the pattern. While presenting a user interface that visually highlights differences between the first and second versions of the document, a first visual treatment is applied to a first difference, based on the first difference being included in the subset. A second visual treatment is also applied to a second difference, based on the second difference being excluded from the subset. The second visual treatment is different than the first visual treatment.Type: ApplicationFiled: January 4, 2022Publication date: July 6, 2023Inventors: David Ellis PUGH, Mark Alistair WILSON-THOMAS, Vu Minh LE
-
Publication number: 20230141807Abstract: Embodiments automate surfacing of underutilized development tool features, thereby enhancing the discoverability of subtools, commands, shortcuts, settings, visualizers, and other tool features. After spotting an inefficiency in the user’s interaction with one or more tools, the feature surfacing functionality offers the user an interaction optimization suggestion. A mapping structure correlates detected interaction patterns with objectively better interaction optimizations. Several examples of mappings are discussed. The user can accept a suggestion, have the suggested optimization applied by an enhanced tool, and thereby reduce the number of user gestures utilized to accomplish a desired result, reduce the number of tools utilized, increase security, reduce risk of error, or get to the desired result faster, for example. Interaction optimizations also help the user stay focused, by reducing or avoiding departures from the user’s current primary workflow.Type: ApplicationFiled: November 7, 2021Publication date: May 11, 2023Inventors: Peter GROENEWEGEN, Arjun RADHAKRISHNA, Gustavo ARAUJO SOARES, Mark Alistair WILSON-THOMAS, Piyush ARORA, Aaron Chak Hei YIM, David Ellis PUGH, German David OBANDO CHACON, Andrew Richard STERLAND, Gregory MISKELLY
-
Publication number: 20220358286Abstract: Edit automation enhancements may be implemented in source code editors and other text editors. Provisional selections that indicate user intentions are submitted to a suggestion generator with other edit context information, to improve the quality of generated text suggestions and reduce the cognitive load on users. A provisional selection may include a highlighted completion list entry, or document text targeted by a hovering cursor, or metainformation text targeted by the hovering cursor, for example. An inline grey text suggestion driven by provisional selection may be displayed simultaneously with completion list suggestions that were created without regard to provisional selection. Suggestions driven by provisional selection may be interleaved with existing document text. Suggestions may be accepted fully in one gesture, or in parts. Suggestions may be edited by a user before being accepted, driving further suggestion refinement.Type: ApplicationFiled: April 22, 2021Publication date: November 10, 2022Inventors: Mark Alistair WILSON-THOMAS, Jonathan Keith SIMMONS, David Ellis PUGH, Vivian Julia LIM, Anqi LI, Shwetha SRINATH, German David OBANDO CHACON, Jin Woo JANG, Shengyu FU, Shao Kun DENG
-
Publication number: 20220317979Abstract: Edit automation functionality generalizes edits performed by a user in a document, locates similar text, and recommends or applies transforms while staying within a current workflow. Source code edits such as refactoring are automated. The functionality uses or provides anchor target lists, temporal edit patterns, edit graphs, automatable edit sequence libraries, and other data structures and computational techniques for identifying locations appropriate for particular edits, for getting transforms, for selecting optimal transforms, for leveraging transforms in an editing session or later, and for displaying transform recommendations and results. The edit automation functionality enhances automation subtool generation, discoverability, and flexibility, for refactoring, snippet insertion, quick actions in an integrated development environment, and other automatable edit sequences.Type: ApplicationFiled: April 1, 2021Publication date: October 6, 2022Inventors: Gustavo ARAUJO SOARES, Piyush ARORA, Titus BARIK, Peter GROENEWEGEN, Sumit GULWANI, Ameya Sanjay KETKAR, Vu Minh LE, Wode NI, David Ellis PUGH, Arjun RADHAKRISHNA, Ivan RADICEK, Ashish TIWARI, Mark Alistair WILSON-THOMAS
-
Publication number: 20220317978Abstract: Edit automation functionality generalizes edits performed by a user in a document, locates similar text, and recommends or applies transforms while staying within a current workflow. Source code edits such as refactoring are automated. The functionality uses or provides anchor target lists, temporal edit patterns, edit graphs, automatable edit sequence libraries, and other data structures and computational techniques for identifying locations appropriate for particular edits, for getting transforms, for selecting optimal transforms, for leveraging transforms in an editing session or later, and for displaying transform recommendations and results. The edit automation functionality enhances automation subtool generation, discoverability, and flexibility, for refactoring, snippet insertion, quick actions in an integrated development environment, and other automatable edit sequences.Type: ApplicationFiled: April 1, 2021Publication date: October 6, 2022Inventors: Titus BARIK, Gustavo ARAUJO SOARES, Piyush ARORA, Peter GROENEWEGEN, Sumit GULWANI, Ameya Sanjay KETKAR, Vu Minh LE, Wode NI, David Ellis PUGH, Arjun RADHAKRISHNA, Ivan RADICEK, Ashish TIWARI, Mark Alistair WILSON-THOMAS
-
Patent number: 11080024Abstract: Embodiments relate to incorporating supplemental information into a code editor's editing view that may make the code more understandable to those not familiar or comfortable with the code. The editor receives adornments that may be translations or semantic equivalents of constructs already in the code. The editor adds the adornments to an editing view for editing the source code. The adornments are inserted into lines of the source code displayed in the editing view and have some of the appearance of the source code in the editing view. The adornments are passive with respect to the source code; they are not necessarily compiled or saved. The adornments may be tokens provided by a compiler and/or an integrated development environment. The editor may apply heuristics or rules to determine which adornments are to be used and where they will be inserted.Type: GrantFiled: December 30, 2019Date of Patent: August 3, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Anson Michael Horton, David Ellis Pugh
-
Patent number: 10846203Abstract: Tracking edits executed against a file to ensure that the edits are monitored consistently so that language service requests are properly handled. Initially, a collaboration session is established. This collaboration session includes an owner and a participant computer system. Then, the owner computing system receives messages that are directed toward a file stored by the owner computer system. These messages include edits that are to be performed against the file and language service request(s). A file version is then assigned to a subset of these edits. As the subset of edits are executed against the file, the file's state changes. The file versions are published to both the participant computer system and to a language service running on the owner computer system. The language service uses the published file versions to track the edits that are being executed against the file and to respond to the language service request(s).Type: GrantFiled: April 9, 2018Date of Patent: November 24, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: David Ellis Pugh, Srivatsn Narayanan, Kesavan Shanmugam, Guillaume Jenkins, Jason Ronald William Ramsay, Daniel Lebu, Alexandru Dima, Erich Gamma
-
Patent number: 10672295Abstract: Facilitating navigating presentations of data structures in a computing environment. A method includes detecting user input for navigating to a location in a presentation of a data structure stored at a computing system. The method further includes as a result of detecting user input for navigating to a location in the presentation of a data structure, outputting from an accessibility compliant interface at the computing system, at least a portion of a notification identifying the location in the presentation of a data structure. The method further includes, as a result of detecting user input for navigating to a location in the presentation of a data structure, outputting from the accessibility compliant interface at the computing system, at least a portion of an enumeration of tokens for predetermined items of import relevant to the location.Type: GrantFiled: November 20, 2017Date of Patent: June 2, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Hemchander Venkateshwara Sannidhanam, David Ellis Pugh, Mark Alistair Wilson-Thomas, Christian David Gunderman
-
Publication number: 20200167132Abstract: Embodiments relate to incorporating supplemental information into a code editor's editing view that may make the code more understandable to those not familiar or comfortable with the code. The editor receives adornments that may be translations or semantic equivalents of constructs already in the code. The editor adds the adornments to an editing view for editing the source code. The adornments are inserted into lines of the source code displayed in the editing view and have some of the appearance of the source code in the editing view. The adornments are passive with respect to the source code; they are not necessarily compiled or saved. The adornments may be tokens provided by a compiler and/or an integrated development environment. The editor may apply heuristics or rules to determine which adornments are to be used and where they will be inserted.Type: ApplicationFiled: December 30, 2019Publication date: May 28, 2020Inventors: Anson Michael Horton, David Ellis Pugh
-
Patent number: 10552123Abstract: Embodiments relate to incorporating supplemental information into a code editor's editing view that may make the code more understandable to those not familiar or comfortable with the code. The editor receives adornments that may be translations or semantic equivalents of constructs already in the code. The editor adds the adornments to an editing view for editing the source code. The adornments are inserted into lines of the source code displayed in the editing view and have some of the appearance of the source code in the editing view. The adornments are passive with respect to the source code; they are not necessarily compiled or saved. The adornments may be tokens provided by a compiler and/or an integrated development environment. The editor may apply heuristics or rules to determine which adornments are to be used and where they will be inserted.Type: GrantFiled: March 12, 2018Date of Patent: February 4, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Anson Michael Horton, David Ellis Pugh
-
Publication number: 20190278569Abstract: Embodiments relate to incorporating supplemental information into a code editor's editing view that may make the code more understandable to those not familiar or comfortable with the code. The editor receives adornments that may be translations or semantic equivalents of constructs already in the code. The editor adds the adornments to an editing view for editing the source code. The adornments are inserted into lines of the source code displayed in the editing view and have some of the appearance of the source code in the editing view. The adornments are passive with respect to the source code; they are not necessarily compiled or saved. The adornments may be tokens provided by a compiler and/or an integrated development environment. The editor may apply heuristics or rules to determine which adornments are to be used and where they will be inserted.Type: ApplicationFiled: March 12, 2018Publication date: September 12, 2019Inventors: Anson Michael Horton, David Ellis Pugh
-
Publication number: 20190156702Abstract: Facilitating navigating presentations of data structures in a computing environment. A method includes detecting user input for navigating to a location in a presentation of a data structure stored at a computing system. The method further includes as a result of detecting user input for navigating to a location in the presentation of a data structure, outputting from an accessibility compliant interface at the computing system, at least a portion of a notification identifying the location in the presentation of a data structure. The method further includes, as a result of detecting user input for navigating to a location in the presentation of a data structure, outputting from the accessibility compliant interface at the computing system, at least a portion of an enumeration of tokens for predetermined items of import relevant to the location.Type: ApplicationFiled: November 20, 2017Publication date: May 23, 2019Inventors: Hemchander Venkateshwara SANNIDHANAM, David Ellis PUGH, Mark Alistair WILSON-THOMAS, Christian David GUNDERMAN