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: 11941372
    Abstract: 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: Grant
    Filed: April 1, 2021
    Date of Patent: March 26, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20240061677
    Abstract: 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: Application
    Filed: November 2, 2023
    Publication date: February 22, 2024
    Inventors: David Ellis PUGH, Mark Alistair WILSON-THOMAS, Vu Minh LE
  • Patent number: 11875136
    Abstract: 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: Grant
    Filed: April 1, 2021
    Date of Patent: January 16, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20240004623
    Abstract: 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: Application
    Filed: July 1, 2022
    Publication date: January 4, 2024
    Inventors: Peter GROENEWEGEN, Jui HANAMSHET, German David OBANDO CHACON, Mark Alistair WILSON-THOMAS, Alexey SVYATKOVSKIY, David Ellis PUGH
  • Patent number: 11861361
    Abstract: 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: Grant
    Filed: January 4, 2022
    Date of Patent: January 2, 2024
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: David Ellis Pugh, Mark Alistair Wilson-Thomas, Vu Minh Le
  • Publication number: 20230376685
    Abstract: 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: Application
    Filed: August 2, 2023
    Publication date: November 23, 2023
    Inventors: 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: 11763078
    Abstract: 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: Grant
    Filed: April 22, 2021
    Date of Patent: September 19, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 11714613
    Abstract: 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: Grant
    Filed: November 7, 2021
    Date of Patent: August 1, 2023
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 20230214212
    Abstract: 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: Application
    Filed: January 4, 2022
    Publication date: July 6, 2023
    Inventors: David Ellis PUGH, Mark Alistair WILSON-THOMAS, Vu Minh LE
  • Publication number: 20230141807
    Abstract: 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: Application
    Filed: November 7, 2021
    Publication date: May 11, 2023
    Inventors: 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: 20220358286
    Abstract: 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: Application
    Filed: April 22, 2021
    Publication date: November 10, 2022
    Inventors: 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: 20220317979
    Abstract: 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: Application
    Filed: April 1, 2021
    Publication date: October 6, 2022
    Inventors: 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: 20220317978
    Abstract: 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: Application
    Filed: April 1, 2021
    Publication date: October 6, 2022
    Inventors: 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: 11080024
    Abstract: 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: Grant
    Filed: December 30, 2019
    Date of Patent: August 3, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Anson Michael Horton, David Ellis Pugh
  • Patent number: 10846203
    Abstract: 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: Grant
    Filed: April 9, 2018
    Date of Patent: November 24, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: David Ellis Pugh, Srivatsn Narayanan, Kesavan Shanmugam, Guillaume Jenkins, Jason Ronald William Ramsay, Daniel Lebu, Alexandru Dima, Erich Gamma
  • Patent number: 10672295
    Abstract: 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: Grant
    Filed: November 20, 2017
    Date of Patent: June 2, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Hemchander Venkateshwara Sannidhanam, David Ellis Pugh, Mark Alistair Wilson-Thomas, Christian David Gunderman
  • Publication number: 20200167132
    Abstract: 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: Application
    Filed: December 30, 2019
    Publication date: May 28, 2020
    Inventors: Anson Michael Horton, David Ellis Pugh
  • Patent number: 10552123
    Abstract: 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: Grant
    Filed: March 12, 2018
    Date of Patent: February 4, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Anson Michael Horton, David Ellis Pugh
  • Publication number: 20190278569
    Abstract: 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: Application
    Filed: March 12, 2018
    Publication date: September 12, 2019
    Inventors: Anson Michael Horton, David Ellis Pugh
  • Publication number: 20190156702
    Abstract: 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: Application
    Filed: November 20, 2017
    Publication date: May 23, 2019
    Inventors: Hemchander Venkateshwara SANNIDHANAM, David Ellis PUGH, Mark Alistair WILSON-THOMAS, Christian David GUNDERMAN