Patents by Inventor Arjun RADHAKRISHNA
Arjun RADHAKRISHNA 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).
-
Publication number: 20260140722Abstract: Techniques are described herein that are capable of synthesizing a computer program to include idiomatic function(s) and semantically-meaningful variable(s) using programming by example. For instance, an intent of a user to synthesize a computer program to include functionality configured to generate sample output(s) from respective input(s) is determined based at least in part on receipt of the sample input(s) and the respective sample output(s) from the user. Based at least in part on the determined intent, the computer program is synthesized to include the idiomatic function(s) by configuring the idiomatic function(s) to have the target functionality and to conform to a convention of the target domain-specific language associated with a textual representation of the computer program to be displayed to the user. Non-semantically-meaningful variable(s) included among the idiomatic function(s) are replaced with the respective semantically-meaningful variable(s).Type: ApplicationFiled: January 12, 2026Publication date: May 21, 2026Inventors: José Pablo CAMBRONERO SÁNCHEZ, Sumit GULWANI, Vu Minh LE, Daniel PERELMAN, Arjun RADHAKRISHNA, Daniel Galen SIMMONS, Clint Michael SIMON, Ashish TIWARI
-
Meta-reflection techniques for learning instructions for language agents using past self-reflections
Patent number: 12626064Abstract: A data processing system implements accessing a datastore of training data using a model training unit to obtain a first training sample, the first training sample comprising a first natural language utterance, first ground truth information, the first natural language utterance requesting that content be generated by a language model, the first ground truth information providing a first example of first expected output of the language model in response to the first natural language utterance; constructing a first prompt based on the first natural language utterance using a prompt construction unit; providing, using the prompt construction unit, the first prompt to the language model as an input to cause the language model to generate a first output; analyzing the first output and the first ground truth information using the model training unit to determine whether the first output is erroneous; constructing, using the prompt construction unit, a second prompt that instructs the language model to generate a fType: GrantFiled: April 23, 2024Date of Patent: May 12, 2026Assignee: Microsoft Technology Licensing, LLCInventors: Gustavo Araujo Soares, Sumit Gulwani, Shashank Kirtania, Sherry Shi, Arjun Radhakrishna, Ananya Singha, Priyanshu Gupta -
Publication number: 20250378007Abstract: Systems, methods, and software are disclosed herein for resolving coding issues via generative AI integrations in various implementations. In an implementation, in a debugging session, a computing apparatus receives a user query relating to an exception in source code. The computing apparatus elicits a response from a generative AI model which is tasked with identifying an interaction pattern for resolving the user query. The computing apparatus mediates the debugging session according to the interaction pattern identified by the generative AI model.Type: ApplicationFiled: June 7, 2024Publication date: December 11, 2025Inventors: Sumit GULWANI, Dustin Joseph COLEMAN, Yasharth BAJPAI, Gustavo Araujo SOARES, Cagri ASLAN, Arjun RADHAKRISHNA, Bhavya CHOPRA, Param Hemant Kumar BIYANI, Christopher Joseph PARNIN
-
META-REFLECTION TECHNIQUES FOR LEARNING INSTRUCTIONS FOR LANGUAGE AGENTS USING PAST SELF-REFLECTIONS
Publication number: 20250328735Abstract: A data processing system implements accessing a datastore of training data using a model training unit to obtain a first training sample, the first training sample comprising a first natural language utterance, first ground truth information, the first natural language utterance requesting that content be generated by a language model, the first ground truth information providing a first example of first expected output of the language model in response to the first natural language utterance; constructing a first prompt based on the first natural language utterance using a prompt construction unit; providing, using the prompt construction unit, the first prompt to the language model as an input to cause the language model to generate a first output; analyzing the first output and the first ground truth information using the model training unit to determine whether the first output is erroneous; constructing, using the prompt construction unit, a second prompt that instructs the language model to generate a fType: ApplicationFiled: April 23, 2024Publication date: October 23, 2025Applicant: Microsoft Technology Licensing, LLCInventors: Gustavo Araujo SOARES, Sumit GULWANI, Shashank KIRTANIA, Sherry SHI, Arjun RADHAKRISHNA, Ananya SINGHA, Priyanshu GUPTA -
Patent number: 11977606Abstract: A computer implemented method includes obtaining multiple configuration files that include configuration commit histories, detecting patterns in parameter values in the configuration files to generate file-based rules for configuration parameters, detecting patterns in parameter values in the configuration files to generate history-based rules using commit histories for the configuration parameters, and exposing the rules to calling programs.Type: GrantFiled: August 31, 2021Date of Patent: May 7, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Ranjita Bhagwan, Sonu Mehta, Arjun Radhakrishna, Sahil Garg
-
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
-
Patent number: 11934801Abstract: Embodiments use a multi-modal approach to generate software programs that match a solution program description. The solution program description may include natural language, input-output examples, partial source code, desired operators, or other hints. Some embodiments use optimized prompts to a pre-trained language model to obtain initial candidate programs. Maximal program components are extracted and then recombined variously using component-based synthesis. Beam search reduces a solution program search space by discarding some candidates from a given synthesis iteration. Relevance metrics, string similarity metrics, operator frequency distributions, token rareness scores, and other optimizations may be employed. By virtue of optimizations and the multi-modal approach, a solution program may be obtained after fewer iterations than by use of a language model alone.Type: GrantFiled: December 7, 2021Date of Patent: March 19, 2024Assignee: Microsoft Technology Licensing, LLCInventors: Kiarash Rahmani, Mohammad Raza, Sumit Gulwani, Vu Minh Le, Daniel James Morris, Arjun Radhakrishna, Gustavo Araujo Soares, Ashish Tiwari
-
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
-
Patent number: 11775293Abstract: 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.Type: GrantFiled: March 10, 2022Date of Patent: October 3, 2023Assignee: Microsoft Technology Licensing, LLCInventors: Peter Groenewegen, Gustavo Araujo Soares, Arjun Radhakrishna, Mark Alistair Wilson-Thomas, Jonathan Keith Simmons
-
Publication number: 20230289151Abstract: Generating a template based on source code examples includes identifying a set of related files within a source code project, and identifying a set of textual content portions that are each at least partially repeated across a subset of the related files. A set of templates is generated, each comprising at least one textual content portion from the set of textual content portions. Each template is associated with a set of selection criteria. The set of templates is exposed for automated consumption within a source code editor, based on the set of selection criteria associated with each template. Consuming a template includes identifying a user input indicating creation of a source code block or file within the source code editor, identifying attribute(s) of the source code block or file, and using the attribute(s) to identify a selection criterion associated with a particular template. The particular template is automatically presented.Type: ApplicationFiled: March 10, 2022Publication date: September 14, 2023Inventors: Peter GROENEWEGEN, Gustavo ARAUJO SOARES, Mohammad RAZA, Arjun RADHAKRISHNA
-
Publication number: 20230289180Abstract: 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.Type: ApplicationFiled: March 10, 2022Publication date: September 14, 2023Inventors: Peter GROENEWEGEN, Gustavo ARAUJO SOARES, Arjun RADHAKRISHNA, Mark Alistair WILSON-THOMAS, Jonathan Keith SIMMONS
-
Publication number: 20230280989Abstract: Techniques are described herein that are capable of synthesizing a computer program to include idiomatic function(s) and semantically-meaningful variable(s) using programming by example. For instance, an intent of a user to synthesize a computer program to include functionality configured to generate sample output(s) from respective input(s) is determined based at least in part on receipt of the sample input(s) and the respective sample output(s) from the user. Based at least in part on the determined intent, the computer program is synthesized to include the idiomatic function(s) by configuring the idiomatic function(s) to have the target functionality and to conform to a convention of the target domain-specific language associated with a textual representation of the computer program to be displayed to the user. Non-semantically-meaningful variable(s) included among the idiomatic function(s) are replaced with the respective semantically-meaningful variable(s).Type: ApplicationFiled: March 4, 2022Publication date: September 7, 2023Inventors: José Pablo CAMBRONERO SÁNCHEZ, Sumit GULWANI, Vu Minh LE, Daniel PERELMAN, Arjun RADHAKRISHNA, Daniel Galen SIMMONS, Clint Michael SIMON, Ashish TIWARI
-
Publication number: 20230267178Abstract: A computer implemented method includes obtaining multiple configuration files that include configuration commit histories, detecting patterns in parameter values in the configuration files to generate file-based rules for configuration parameters, detecting patterns in parameter values in the configuration files to generate history-based rules using commit histories for the configuration parameters, and exposing the rules to calling programs.Type: ApplicationFiled: August 31, 2021Publication date: August 24, 2023Inventors: Ranjita Bhagwan, Sonu MEHTA, Arjun RADHAKRISHNA, Sahil GARG
-
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: 20230229850Abstract: Pasting content from a clipboard buffer as structured tabular data. A computer system determines a data type of content within a clipboard buffer. Based on the data type of the content, the computer system identifies a tabular pattern analysis technique to apply to the content. Based on applying the tabular pattern analysis technique to the content, the computer system identifies a portion of tabular content within the content. Using a clipboard application programming interface, the computer system presents the portion of tabular content to an application as paste data that is structured as a set of rows and a set of columns.Type: ApplicationFiled: January 14, 2022Publication date: July 20, 2023Inventors: Mohammad RAZA, Arjun RADHAKRISHNA, José Pablo CAMBRONERO SÁNCHEZ, Sumit GULWANI, John Francis LAM, Vu Minh LE, Daniel MORRIS, Daniel Adam PERELMAN, Daniel Galen SIMMONS, Gustavo ARAUJO SOARES, Ashish TIWARI
-
Publication number: 20230176829Abstract: Embodiments use a multi-modal approach to generate software programs that match a solution program description. The solution program description may include natural language, input-output examples, partial source code, desired operators, or other hints. Some embodiments use optimized prompts to a pre-trained language model to obtain initial candidate programs. Maximal program components are extracted and then recombined variously using component-based synthesis. Beam search reduces a solution program search space by discarding some candidates from a given synthesis iteration. Relevance metrics, string similarity metrics, operator frequency distributions, token rareness scores, and other optimizations may be employed. By virtue of optimizations and the multi-modal approach, a solution program may be obtained after fewer iterations than by use of a language model alone.Type: ApplicationFiled: December 7, 2021Publication date: June 8, 2023Inventors: Kiarash RAHMANI, Mohammad RAZA, Sumit GULWANI, Vu Minh LE, Daniel James MORRIS, Arjun RADHAKRISHNA, Gustavo ARAUJO SOARES, Ashish TIWARI
-
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: 20230116149Abstract: 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.Type: ApplicationFiled: October 9, 2021Publication date: April 13, 2023Inventors: Arjun RADHAKRISHNA, Gustavo ARAUJO SOARES, Peter GROENEWEGEN, Mark Alistair WILSON-THOMAS, Aaron Chak Hei YIM, Piyush ARORA, Mohammad RAZA
-
Patent number: 11513773Abstract: 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: GrantFiled: September 30, 2020Date of Patent: November 29, 2022Assignee: 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: 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