Patents by Inventor Mark Alistair WILSON-THOMAS

Mark Alistair WILSON-THOMAS 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: 11513773
    Abstract: A synthesis procedure learns program transformations for a text document, on-the-fly during an edit session, from examples of concrete edits made during the edit session and from an unsupervised set of additional inputs. The additional inputs are derived from explicit feedback from the user and inferred feedback from the user's behavior during the edit session. A reward score, based on anti-unification and provenance analysis, is used to classify the additional inputs as either a positive input or a negative input. Outputs are generated for the positive inputs that are consistent with the existing examples and then used to synthesize a new program transformation. The program transformations are then used to generate code edit suggestions during the edit session.
    Type: Grant
    Filed: September 30, 2020
    Date of Patent: November 29, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Shraddha Govind Barke, Xiang Gao, Sumit Gulwani, Alan Thomas Leung, Nachiappan Nagappan, Arjun Radhakrishna, Gustavo Araujo Soares, Ashish Tiwari, Mark Alistair Wilson-Thomas
  • 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: 11379227
    Abstract: Embodiments promote searcher productivity and efficient search engine usage by using extraquery context to detect a searcher's intent, and using detected intent to match searches to well-suited search providers. Extraquery context may include cursor location, open files, and other editing information, tool state, tool configuration or environment, project metadata, and other information external to actual search query text. Search intent may be code (seeking snippets) or non-code (seeking documentation), and sub-intents may be distinguished for different kinds of documentation or different programming languages. Search provider capabilities may reflect input formats such as natural language or logical operator usage, or content scope such as web-wide or local, or other search provider technical characteristics.
    Type: Grant
    Filed: October 3, 2020
    Date of Patent: July 5, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Nikitha Rao, Chetan Bansal, Zhongyan Guan, Mark Alistair Wilson-Thomas, Nachiappan Nagappan, Thomas Michael Josef Zimmermann
  • Patent number: 11327728
    Abstract: Flexible yet efficient “find” operations search source code for matches to a general pattern after a developer provides an example string that matches the pattern, without requiring the developer to write a regular expression or script that will implement the desired pattern. Example-driven find-replace functionality uses regular expressions or other pattern match codes, and scripts or other transforms, which are synthesized automatically from examples provided by a developer. This technology allows the developer to focus on workflow inside an integrated development environment instead of breaking focus to search for external documentation, or unfortunately foregoing the flexibility and power of regular expressions and scripts. Synthesizer outputs may be directly or indirectly ranked through user feedback, allowing their refinement. Find match generality may be controlled, e.g., by specifying regex star positions or star counts. Entry of guiding examples may be assisted by autocompletion.
    Type: Grant
    Filed: May 7, 2020
    Date of Patent: May 10, 2022
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mark Alistair Wilson-Thomas, Vu Minh Le, Sumit Gulwani
  • Publication number: 20220107802
    Abstract: Embodiments promote searcher productivity and efficient search engine usage by using extraquery context to detect a searcher's intent, and using detected intent to match searches to well-suited search providers. Extraquery context may include cursor location, open files, and other editing information, tool state, tool configuration or environment, project metadata, and other information external to actual search query text. Search intent may be code (seeking snippets) or non-code (seeking documentation), and sub-intents may be distinguished for different kinds of documentation or different programming languages. Search provider capabilities may reflect input formats such as natural language or logical operator usage, or content scope such as web-wide or local, or other search provider technical characteristics.
    Type: Application
    Filed: October 3, 2020
    Publication date: April 7, 2022
    Inventors: Nikitha RAO, Chetan BANSAL, Zhongyan GUAN, Mark Alistair WILSON-THOMAS, Nachiappan NAGAPPAN, Thomas Michael Josef ZIMMERMANN
  • Publication number: 20220012019
    Abstract: Some embodiments determine automatically which synthesized or otherwise autocreated suggestions for source code editing are presented to developers. Some filter out autocreated coding suggestions that have not been sufficiently endorsed by a developer's team, based on a suggestion trust score. The trust score may reflect the suggestion's adoption in a particular repository or codebase, or affiliation of the suggestion with a library release, or an actual or implied review of the suggestion by team members. Some suggestion filters enhance existing development team code review practices, by offering endorsed suggestions in autocompletion or analysis interfaces of tools and by withholding non-endorsed suggestions from display. Context illustrating the autocreated suggestion's provenance may be displayed to help developers decide whether to adopt the suggestion themselves while editing code.
    Type: Application
    Filed: July 9, 2020
    Publication date: January 13, 2022
    Inventors: Mark Alistair WILSON-THOMAS, German David OBANDO CHACON
  • Publication number: 20220012020
    Abstract: A synthesis procedure learns program transformations for a text document, on-the-fly during an edit session, from examples of concrete edits made during the edit session and from an unsupervised set of additional inputs. The additional inputs are derived from explicit feedback from the user and inferred feedback from the user's behavior during the edit session. A reward score, based on anti-unification and provenance analysis, is used to classify the additional inputs as either a positive input or a negative input. Outputs are generated for the positive inputs that are consistent with the existing examples and then used to synthesize a new program transformation. The program transformations are then used to generate code edit suggestions during the edit session.
    Type: Application
    Filed: September 30, 2020
    Publication date: January 13, 2022
    Inventors: SHRADDHA GOVIND BARKE, XIANG GAO, SUMIT GULWANI, ALAN THOMAS LEUNG, NACHIAPPAN NAGAPPAN, ARJUN RADHAKRISHNA, GUSTAVO ARAUJO SOARES, ASHISH TIWARI, MARK ALISTAIR WILSON-THOMAS
  • Publication number: 20210349698
    Abstract: Flexible yet efficient “find” operations search source code for matches to a general pattern after a developer provides an example string that matches the pattern, without requiring the developer to write a regular expression or script that will implement the desired pattern. Example-driven find-replace functionality uses regular expressions or other pattern match codes, and scripts or other transforms, which are synthesized automatically from examples provided by a developer. This technology allows the developer to focus on workflow inside an integrated development environment instead of breaking focus to search for external documentation, or unfortunately foregoing the flexibility and power of regular expressions and scripts. Synthesizer outputs may be directly or indirectly ranked through user feedback, allowing their refinement. Find match generality may be controlled, e.g., by specifying regex star positions or star counts. Entry of guiding examples may be assisted by autocompletion.
    Type: Application
    Filed: May 7, 2020
    Publication date: November 11, 2021
    Inventors: Mark Alistair WILSON-THOMAS, Vu Minh LE, Sumit GULWANI
  • Publication number: 20210303989
    Abstract: A natural language code search service provides idioms or frequently-occurring code patterns for a code fragment based on similar type usage and method/API invocation usage. The search service uses a data mining technique that mines code snippets found from various websites and code snippets generated from a neural model to detect idioms in the code snippets that were previously unknown and which can be reused. A search is initiated through a natural language query within a code development tool or application thereby avoiding the need to switch out of the current application to perform the search.
    Type: Application
    Filed: March 31, 2020
    Publication date: September 30, 2021
    Inventors: CHRISTIAN ALMA BIRD, SHENGYU FU, ZHONGYAN GUAN, NEELAKANTAN SUNDARESAN, MARK ALISTAIR WILSON-THOMAS, SHUO ZHANG
  • Patent number: 11074048
    Abstract: In a computer program, sublanguage code snippets implement regular expressions, pattern matching, print formatting, component selection, and other operations, using sublanguage syntax and semantics different from the source code in which snippets are embedded. Writing snippets that give desired execution results has been difficult and interfered with software development workflow. But sublanguage snippet presentation functionality in an enhanced development tool automatically detects source code locations suitable for snippets, receives snippet execution result examples from a developer, submits the examples to synthesis-by-example technology, gets autosynthesized snippets that give those results, and displays snippet insertion candidates with guidance. A snippet selected by the developer replaces the example(s) in the source code, improving developer productivity and program execution accuracy with respect to documented test cases.
    Type: Grant
    Filed: April 28, 2020
    Date of Patent: July 27, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Mark Alistair Wilson-Thomas, Ivan Radicek, Arjun Radhakrishna, Ashish Tiwari, Sumit Gulwani, Titus Barik
  • Patent number: 10996930
    Abstract: Assisting automation of repeated edits of code by automated generation of rules that, when applied, perform code transformations. The transformations are synthesized while observing developers make repeated code edits, and automatically perform similar modifications as those observed. This synthesized transformation defines an initial state of code to which the transformation can be applied, and defines a modification from that initial state. A rule is then generated that includes a detector mechanism that, when selected, is configured to find locations in code that have the defined corresponding initial state of the corresponding transformation. Thus, the transformation may be applied to any code to which the rule is exposed.
    Type: Grant
    Filed: October 29, 2019
    Date of Patent: May 4, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Mark Alistair Wilson-Thomas, Gustavo Araujo Soares, Peter Groenewegen, Jonathan Preston Carter, German David Obando Chacon
  • Patent number: 10963223
    Abstract: Assisting automation of repeated edits of code by automated generation of rules that, when applied, perform code transformations. The transformations are synthesized while observing developers make repeated code edits, and automatically perform similar modifications as those observed. This synthesized transformation defines an initial state of code to which the transformation can be applied, and defines a modification from that initial state. A rule is then generated that includes a detector mechanism that, when selected, is configured to find locations in code that have the defined corresponding initial state of the corresponding transformation. Thus, the transformation may be applied to any code to which the rule is exposed.
    Type: Grant
    Filed: October 29, 2019
    Date of Patent: March 30, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Mark Alistair Wilson-Thomas, Gustavo Araujo Soares, Peter Groenewegen, Jonathan Preston Carter, German David Obando Chacon
  • Publication number: 20210029108
    Abstract: Access control enhancements reduce security risks and management burdens when a user with access to a primary asset seeks access to a related supplementary asset. When a sufficient proof of access to the primary asset is provided, and the relationship of the primary and supplementary assets is recognized, access to the supplementary asset is granted without requiring a separate sign-in, a permission query to the supplementary asset's owner, or an authorization through an authenticated identity of the requestor, for example. Automatic access to the supplementary asset can be granted without the security risks inherent in a file share or a share link. In particular, a developer with access to one component of a project can be automatically and conveniently granted access to the rest of the project. Likewise, a custom machine learning model for autocompletion becomes accessible to all developers working on the repository source used to train the model.
    Type: Application
    Filed: July 25, 2019
    Publication date: January 28, 2021
    Inventors: German David OBANDO CHACON, Jonathan Daniel KEECH, Mark Alistair WILSON-THOMAS
  • Publication number: 20200410390
    Abstract: The behavior of a machine learning model and the training dataset used to train the model are monitored to determine when the accuracy of the model's predictions indicate that the model should be retrained. The retraining is determined from one or more precision metrics and a coverage metric that are generated during operation of the model. A precision metric measures the ability of the model to make predictions that are accepted by an inference system and the coverage metric measures the ability of the model to make predictions given a set of input features. In addition, changes made to the training dataset are analyzed and used as an indication of when the model should be retrained.
    Type: Application
    Filed: June 26, 2019
    Publication date: December 31, 2020
    Inventors: SHENGYU FU, SIMON CALVERT, JONATHAN DANIEL KEECH, KESAVAN SHANMUGAM, NEELAKANTAN SUNDARESAN, MARK ALISTAIR WILSON-THOMAS
  • 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
  • Patent number: 10481879
    Abstract: Improving how a codebase, which may include source code, related databases, test files, code history, and/or changes, is drafted, edited, debugged, or otherwise developed. Machine learning is performed on a model codebase to establish a machine learning model. When a change to a codebase occurs, the machine learning model may be applied to evaluate that change. A change context providing context for this change is accessed. An analyzer then analyzes the change using the machine learning model and at least a part of the change context to generate an analysis result. Some information about the result is rendered. After rendering that information, a determination regarding how a user responded to the information is performed, and a subsequent analysis is then modified based on the user's response.
    Type: Grant
    Filed: March 30, 2018
    Date of Patent: November 19, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Joshua Bates Stevens, John S. Tilford, Guillermo Serrato Castilla, Srivatsn Narayanan, Simon Calvert, Mark Alistair Wilson-Thomas, Deborah Chen, Miltiadis Allamanis, Marc Manuel Johannes Brockschmidt, Kesavan Shanmugam
  • Publication number: 20190243617
    Abstract: Improving how a codebase, which may include source code, related databases, test files, code history, and/or changes, is drafted, edited, debugged, or otherwise developed. Machine learning is performed on a model codebase to establish a machine learning model. When a change to a codebase occurs, the machine learning model may be applied to evaluate that change. A change context providing context for this change is accessed. An analyzer then analyzes the change using the machine learning model and at least a part of the change context to generate an analysis result. Some information about the result is rendered. After rendering that information, a determination regarding how a user responded to the information is performed, and a subsequent analysis is then modified based on the user's response.
    Type: Application
    Filed: March 30, 2018
    Publication date: August 8, 2019
    Inventors: Joshua Bates STEVENS, John S. TILFORD, Guillermo Serrato CASTILLA, Srivatsn NARAYANAN, Simon CALVERT, Mark Alistair WILSON-THOMAS, Deborah CHEN, Miltiadis ALLAMANIS, Marc Manuel Johannes BROCKSCHMIDT, Kesavan SHANMUGAM
  • 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