Patents by Inventor SHENGYU FU

SHENGYU FU 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: 20210357193
    Abstract: A code completion tool uses machine learning models to more precisely predict the likelihood of a method invocation completing a code fragment that follows one or more method invocations of different classes in a same document during program development. In one aspect, the machine learning model is a n-order Markov chain model that is trained on features that represent characteristics of the context of method invocations found in commonly-used programs from a sampled population. The machine learning model is implemented as a hash table contained a ranked order of hash values in descending order of probability of completing a partially-formed method invocation.
    Type: Application
    Filed: May 4, 2020
    Publication date: November 18, 2021
    Inventors: SHENGYU FU, XIAOYU LIU, NEELAKANTAN SUNDARESAN
  • Patent number: 11157652
    Abstract: A real-time event processing system receives event data containing telemetric data and one or more personal identifiers. The personal identifier in the event data is replaced with an obfuscated value so that the telemetric data may be used without reference to the personal identifier. A reversible map is used to reverse the obfuscated personal identifier to its original value. In the case when a request is received to delete the mapped personal identifier, the link to the entry in the reversible map is broken by associating the personal identifier with a different obfuscated value.
    Type: Grant
    Filed: December 10, 2018
    Date of Patent: October 26, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Shibani Basava, Dinesh Chandnani, Zhu Chen, Ram Kumar Donthula, Matthew Sloan Theodore Evans, Siwei Li, George Joshua Michaels, Andrew Christopher Neil, Geoffrey Staneff, Evgenia Steshenko, Vijay Upadya, Shengyu Fu
  • 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
  • Publication number: 20210303279
    Abstract: A data mining technique is used to find large frequently-occurring source code patterns from methods/APIs that can be used in code development. Simplified trees that represent the syntactic structure and type and method usage of a source code fragment, such as a method, are mined to find closed and maximal frequent subtrees which represent the largest frequently-occurring source code patterns or idioms associated with a particular type and method usage. These idioms are then used in an idiom web service and/or a code completion system to assist users in the development of source code programs.
    Type: Application
    Filed: March 31, 2020
    Publication date: September 30, 2021
    Inventors: CHRISTIAN ALMA BIRD, SHENGYU FU, NEELAKANTAN SUNDARESAN, NINA WANG, SHUO ZHANG
  • Patent number: 11126930
    Abstract: A code completion system predicts candidates to complete a method invocation in a source code program written in a dynamically-typed programming language. A pseudo type is generated for each variable in the source code program to approximate the runtime type of the variable. The pseudo type is then used to group a set of method invocations into a classification that can be modeled by an n-order Markov chain model. The n-order Markov chain model is used to predict candidate methods more likely to complete a method invocation in a dynamically-typed programming language.
    Type: Grant
    Filed: April 27, 2019
    Date of Patent: September 21, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Shengyu Fu, Neelakantan Sundaresan, Jason Wang, Ying Zhao
  • Publication number: 20210279042
    Abstract: A code completion system uses neural components to rank the unordered list of code completion candidates generated from an existing static analyzer. The candidates represent the next sequence of tokens likely to complete a partially-formed program element as a developer is typing in a software development tool. A re-ranking component generates a ranked order of the candidates based on a context embedding of the code context and candidate embeddings of the candidates, where both embeddings are based a common token encoding.
    Type: Application
    Filed: June 15, 2020
    Publication date: September 9, 2021
    Inventors: MILTIADIS ALLAMANIS, SHENGYU FU, XIAOYU LIU, NEELAKANTAN SUNDARESAN, ALEXEY SVYATKOVSKIY
  • Publication number: 20210271455
    Abstract: A code completion tool uses a deep learning model to predict the likelihood of a method completing a method invocation. In one aspect, the deep learning model is a LSTM trained on features that represent the syntactic context of a method invocation derived from an abstract tree representation of the code fragment.
    Type: Application
    Filed: April 18, 2021
    Publication date: September 2, 2021
    Inventors: ALEXEY SVYATKOVSKIY, SHENGYU FU, NEELAKANTAN SUNDARESAN, YING ZHAO
  • Patent number: 10990358
    Abstract: A code completion tool uses machine learning models to more precisely predict the likelihood of an invocation of a particular overloaded method completing a code fragment that follows one or more method invocations of a same class in a same document during program development. In one aspect, the machine learning model is a n-order Markov chain model that is trained on features that represent the method signatures of overloaded methods in order to generate ordered sequences of method signatures of overloaded method invocations.
    Type: Grant
    Filed: March 21, 2019
    Date of Patent: April 27, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Shengyu Fu, Neelakantan Sundaresan, Ying Zhao
  • Patent number: 10983761
    Abstract: A code completion tool uses a deep learning model to predict the likelihood of a method completing a method invocation. In one aspect, the deep learning model is a LSTM trained on features that represent the syntactic context of a method invocation derived from an abstract tree representation of the code fragment.
    Type: Grant
    Filed: April 8, 2019
    Date of Patent: April 20, 2021
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Alexey Svyatkovskiy, Shengyu Fu, Neelakantan Sundaresan, Ying Zhao
  • Publication number: 20210034335
    Abstract: A code completion tool uses a neural transformer model to generate candidate sequences to complete a line of source code. The neural transformer model is trained using a conditional language modeling objective on a large unsupervised dataset that includes source code programs written in several different programming languages. The neural transformer model is used within a beam search that predicts the most likely candidate sequences for a code snippet under development.
    Type: Application
    Filed: November 11, 2019
    Publication date: February 4, 2021
    Inventors: Alexey Svyatkovskiy, Shengyu Fu, Neelakantan Sundaresan, Shao Kun Deng
  • 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
  • Publication number: 20200272443
    Abstract: A code completion tool uses machine learning models to more precisely predict the likelihood of a method invocation completing a code fragment that follows one or more method invocations of different classes in a same document during program development. In one aspect, the machine learning model is a n-order Markov chain model that is trained on features that represent characteristics of the context of method invocations found in commonly-used programs from a sampled population. The machine learning model is implemented as a hash table contained a ranked order of hash values in descending order of probability of completing a partially-formed method invocation.
    Type: Application
    Filed: May 4, 2020
    Publication date: August 27, 2020
    Inventors: SHENGYU FU, XIAOYU LIU, NEELAKANTAN SUNDARESAN
  • Publication number: 20200272426
    Abstract: A code completion system predicts candidates to complete a method invocation in a source code program written in a dynamically-typed programming language. A pseudo type is generated for each variable in the source code program to approximate the runtime type of the variable. The pseudo type is then used to group a set of method invocations into a classification that can be modeled by an n-order Markov chain model. The n-order Markov chain model is used to predict candidate methods more likely to complete a method invocation in a dynamically-typed programming language.
    Type: Application
    Filed: April 27, 2019
    Publication date: August 27, 2020
    Inventors: SHENGYU FU, NEELAKANTAN SUNDARESAN, JASON WANG, YING ZHAO
  • Publication number: 20200249918
    Abstract: A code completion tool uses a deep learning model to predict the likelihood of a method completing a method invocation. In one aspect, the deep learning model is a LSTM trained on features that represent the syntactic context of a method invocation derived from an abstract tree representation of the code fragment.
    Type: Application
    Filed: April 8, 2019
    Publication date: August 6, 2020
    Inventors: ALEXEY SVYATKOVSKIY, SHENGYU FU, NEELAKANTAN SUNDARESAN, YING ZHAO
  • Patent number: 10725748
    Abstract: Improving the results and process of machine learning service in computer program development. A client's codebase is accessed. A set of features are extracted from the client's codebase. One or more features from the set of features are then selected. Thereafter, at least one of the selected features is sent to a machine learning service that uses the received feature(s) to build custom model(s) for the client's computer system.
    Type: Grant
    Filed: November 19, 2018
    Date of Patent: July 28, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Srivatsn Narayanan, Kesavan Shanmugam, Mark A. Wilson-Thomas, Vivian Julia Lim, Jonathan Daniel Keech, Shengyu Fu
  • Publication number: 20200175316
    Abstract: A code completion tool uses machine learning models to more precisely predict the likelihood of the parameters of a method invocation. A score is computed for each candidate variable that is used to rank the viability of a variable as the intended parameter. The score is a weighted sum of a scope factor, an edit distance factor and a declaration proximity factor. The factors are based on a scope model, a method overload model, and a weight file trained offline on a training set of source code programs utilizing various method invocations.
    Type: Application
    Filed: December 3, 2018
    Publication date: June 4, 2020
    Inventors: SHENGYU FU, DAVID POESCHL, NEELAKANTAN SUNDARESAN, SHUO ZHANG, YING ZHAO
  • Patent number: 10671355
    Abstract: A code completion tool uses machine learning models to more precisely predict the likelihood of a method invocation completing a code fragment that follows one or more method invocations of a same class in a same document during program development. In one aspect, the machine learning model is a n-order Markov chain model that is trained on features that represent characteristics of the context of method invocations of a class in commonly-used programs from a sampled population.
    Type: Grant
    Filed: March 29, 2018
    Date of Patent: June 2, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Jorge Banuelos, Shengyu Fu, Roshanak Zilouchian Moghaddam, Neelakantan Sundaresan, Siyu Yang, Ying Zhao
  • Publication number: 20200159505
    Abstract: Improving the results and process of machine learning service in computer program development. A client's codebase is accessed. A set of features are extracted from the client's codebase. One or more features from the set of features are then selected. Thereafter, at least one of the selected features is sent to a machine learning service that uses the received feature(s) to build custom model(s) for the client's computer system.
    Type: Application
    Filed: November 19, 2018
    Publication date: May 21, 2020
    Inventors: Srivatsn NARAYANAN, Kesavan SHANMUGAM, Mark A. WILSON-THOMAS, Vivian Julia LIM, Jonathan Daniel KEECH, Shengyu FU
  • Patent number: 10628130
    Abstract: A code completion tool uses machine learning models generated for custom or proprietary classes associated with a custom library of classes of a programming language and for overlapping classes associated with a standard library of classes for the programming language. The machine learning models are trained with features from usage patterns of the custom classes and overlapping classes found in two different sources of training data. An n-order Markov chain model is trained for each custom class and each overlapping class from the usage patterns to generate probabilities to predict a method invocation more likely to follow a sequence of method invocations for a custom class and for an overlapping class.
    Type: Grant
    Filed: December 3, 2018
    Date of Patent: April 21, 2020
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC.
    Inventors: Shengyu Fu, Neelakantan Sundaresan, Ying Zhao
  • Publication number: 20200097589
    Abstract: A distributed sequential pattern data mining framework mines user data to determine statistically-relevant sequential patterns which are used to correlate the sequential patterns to a particular outcome. The correlation is provided by a statistical model, a binary predictive model and/or a logistic regression model which uses the sequential patterns to learn the behavior of end users during their usage of a software application.
    Type: Application
    Filed: September 23, 2018
    Publication date: March 26, 2020
    Inventors: SHENGYU FU, SAI TULASI NEPPALI, NEELAKANTAN SUNDARESAN, SIYU YANG