-
公开(公告)号:US20230214212A1
公开(公告)日:2023-07-06
申请号:US17568597
申请日:2022-01-04
Applicant: Microsoft Technology Licensing, LLC
Inventor: David Ellis PUGH , Mark Alistair WILSON-THOMAS , Vu Minh LE
IPC: G06F8/71 , G06F40/197
CPC classification number: G06F8/71 , G06F40/197
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.
-
公开(公告)号:US20220107802A1
公开(公告)日:2022-04-07
申请号:US17062581
申请日:2020-10-03
Applicant: Microsoft Technology Licensing, LLC
Inventor: Nikitha RAO , Chetan BANSAL , Zhongyan GUAN , Mark Alistair WILSON-THOMAS , Nachiappan NAGAPPAN , Thomas Michael Josef ZIMMERMANN
IPC: G06F8/77 , G06F16/953 , G06F16/2453 , G06N20/00
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. Search intent detection permits efficient and effective use of a single search box for a wide variety of different searches for different kinds of results, thereby simplifying a development tool user interface.
-
公开(公告)号:US20190243617A1
公开(公告)日:2019-08-08
申请号:US15942279
申请日:2018-03-30
Applicant: Microsoft Technology Licensing, LLC
Inventor: 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
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.
-
公开(公告)号:US20240061677A1
公开(公告)日:2024-02-22
申请号:US18500907
申请日:2023-11-02
Applicant: Microsoft Technology Licensing, LLC
Inventor: David Ellis PUGH , Mark Alistair WILSON-THOMAS , Vu Minh LE
IPC: G06F8/71 , G06F40/197
CPC classification number: G06F8/71 , G06F40/197
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.
-
公开(公告)号:US20230141807A1
公开(公告)日:2023-05-11
申请号:US17520694
申请日:2021-11-07
Applicant: Microsoft Technology Licensing, LLC
Inventor: 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
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. Other aspects of tool feature surfacing functionality are also described herein.
-
公开(公告)号:US20220012019A1
公开(公告)日:2022-01-13
申请号:US16924316
申请日:2020-07-09
Applicant: Microsoft Technology Licensing, LLC
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. Some tools that are enhanced with suggestion filtering functionality avoid developer configuration burdens while increasing consistent adoption of endorsed suggestions inside a codebase.
-
公开(公告)号:US20230385042A1
公开(公告)日:2023-11-30
申请号:US17825257
申请日:2022-05-26
Applicant: Microsoft Technology Licensing, LLC
CPC classification number: G06F8/443 , G06F8/447 , G06F8/433 , G06K9/6256
Abstract: Some embodiments automatically detect a software development code improvement stage. Improvement stage detection may be based on computational events involving a development tool, such as a testing tool, a debugger, or a performance profiler. Program analysis tools driven by artificial intelligence functionality may then be automatically invoked to provide code improvement options, which may be presented to a developer in a tool user interface. Options may include source code edits, configuration changes, or test coverage changes, for example. Analysis results and corresponding code improvement options are thus presented when the developer is prioritizing program performance, program behavior accuracy, program security, or programming style, as opposed to prioritizing code creation or code integration. Programs under development, as well as quality reviews of such programs, may accordingly be optimized by performing performance and security analysis, testing, and coding style analysis during the code improvement stage.
-
公开(公告)号:US20230376685A1
公开(公告)日:2023-11-23
申请号:US18229485
申请日:2023-08-02
Applicant: Microsoft Technology Licensing, LLC
Inventor: 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
IPC: G06F40/274 , G06F40/284 , G06F40/166 , G06F8/33
CPC classification number: G06F40/274 , G06F40/284 , G06F40/166 , G06F8/33
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. Multiple suggestions may be displayed simultaneously, reducing pressure on the suggestion generator.
-
9.
公开(公告)号:US20230289180A1
公开(公告)日:2023-09-14
申请号:US17692013
申请日:2022-03-10
Applicant: Microsoft Technology Licensing, LLC
Inventor: Peter GROENEWEGEN , Gustavo ARAUJO SOARES , Arjun RADHAKRISHNA , Mark Alistair WILSON-THOMAS , Jonathan Keith SIMMONS
Abstract: Methods, systems, and computer program products for deploying a static code analyzer based on program synthesis from input-output examples. A computer system uses program synthesis on a set of input-output examples of source code edits to generate a rewrite rule that defines a transformation pattern. Based on a determined static code analyzer format, the computer system generates a static code analyzer from the rewrite rule. The static code analyzer includes a find portion that indicates a matching condition for identifying a portion of source code text, and a fix portion that indicates a textual replacement to apply to the portion of source code text matched by the find portion. The computer system deploys the static code analyzer to a development environment, including configuring the static code analyzer to be executable against a source code file within the development environment.
-
公开(公告)号:US20230116149A1
公开(公告)日:2023-04-13
申请号:US17497923
申请日:2021-10-09
Applicant: Microsoft Technology Licensing, LLC
Inventor: Arjun RADHAKRISHNA , Gustavo ARAUJO SOARES , Peter GROENEWEGEN , Mark Alistair WILSON-THOMAS , Aaron Chak Hei YIM , Piyush ARORA , Mohammad RAZA
Abstract: Embodiments automate several aspects of document copy-paste updates. An enhanced editor submits context, such as a copied section, pasted section, nearby text, or parser information, to an automatic suggestion generator. The editor gets back a suggestion for automatically changing the pasted section, thus helping users avoid tedium and errors. For instance, string substitutions begun by the user can be automatically and easily completed within the pasted section. Refactoring between variable declarations and parameter lists is detected and completed on request. Situation-specific transforms based on code synthesis, word associations, temporal edit patterns, anchor target lists, regular expressions, or autocompletion are offered. Suggestions are given inside the user's current workflow to avoid breaks in focus. Suggestions can be refined automatically in response to implicit or explicit user feedback. Users are warned of unedited pasted sections. Code review is aided by highlighting pasted sections.
-
-
-
-
-
-
-
-
-