Patents by Inventor Rishabh Singh
Rishabh Singh 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: 10795645Abstract: Described are systems, methods, and computer-readable media for program generation in a domain-specific language based on input-output examples. In accordance with various embodiments, a neural-network-based program generation model conditioned on an encoded set of input-output examples is used to generate a program tree by iteratively expanding a partial program tree, beginning with a root node and ending when all leaf nodes are terminal.Type: GrantFiled: March 27, 2017Date of Patent: October 6, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Abdelrahman S. A. Mohamed, Rishabh Singh, Lihong Li, Dengyong Zhou, Pushmeet Kohli, Emilio Parisotto
-
Publication number: 20200234145Abstract: Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for selecting actions to be performed by an agent interacting with an environment. In one aspect, a method comprises: obtaining a graph of nodes and edges that represents an interaction history of the agent with the environment; generating an encoded representation of the graph representing the interaction history of the agent with the environment; processing an input based on the encoded representation of the graph using an action selection neural network, in accordance with current values of action selection neural network parameters, to generate an action selection output; and selecting an action from a plurality of possible actions to be performed by the agent using the action selection output generated by the action selection neural network.Type: ApplicationFiled: January 22, 2020Publication date: July 23, 2020Inventors: Hanjun Dai, Yujia Li, Chenglong Wang, Rishabh Singh, Po-Sen Huang, Pushmeet Kohli
-
Patent number: 10713429Abstract: Provided are methods and systems for joining semi-structured data from the web with relational data in a spreadsheet table using input-output examples. A first sub-task performed by the system learns a string transformation program to transform input rows of a table to URL strings that correspond to the webpages where the relevant data is present. A second sub-task learns a program in a rich web data extraction language to extract desired data from the webpage given the example extractions. Hierarchical search and input-driven ranking are used to efficiently learn the programs using few input-output examples. The learnt programs are then run on the remaining spreadsheet entries to join desired data from the corresponding web pages.Type: GrantFiled: June 27, 2017Date of Patent: July 14, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rishabh Singh, Jeevana Priya Inala
-
Patent number: 10599627Abstract: Techniques are disclosed which provide for transforming a hierarchical table to a relational table. A hierarchical table may be received, in which a headline row is identified. A candidate row may be determined in the hierarchical table. The process may include systematically classifying headlines as data headlines or descriptors. For each data headline a new column may be generated, while for each descriptor headline, the table may be split to produce a resultant table. The resultant table may be stored and the process may be repeated until there are no headlines left to be classified. The steps performed by the system to transform the table can then be displayed on a user device using a program in the Domain-specific language, which can then be further inspected or modified to perform the desired table transformation.Type: GrantFiled: February 27, 2017Date of Patent: March 24, 2020Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Rishabh Singh, Sumit Gulwani, Dana Drachsler Cohen
-
Publication number: 20200090419Abstract: Systems, methods, and processing nodes determine and perform preventive maintenance on a transport vehicle in a transportation system. The method includes extracting features for previous incidents that have occurred to a plurality of transport vehicles in the transportation system. The method also includes determining a criticality of types of incidents based on the features extracted. The method includes predicting, based on the criticality of types of incidents and the features extracted, details of at least one future incident for a first transport vehicle from the plurality of transport vehicles. The details include a predicted type of the at least one future incident, a predicted time of the at least one future incident, and a predicted criticality of the at least one future incident. Additionally, the method includes performing a prescriptive action for the first transport vehicle to mitigate the at least one future incident in the first transport vehicle.Type: ApplicationFiled: September 14, 2018Publication date: March 19, 2020Applicant: Conduent Business Services, LLCInventors: Arun RAJKUMAR, Sriranjani RAMAKRISHNAN, Shisagnee BANERJEE, Rishabh SINGH, Kowshik CHILAMKURTHI, Prateek YADAV, Narayanan UNNY
-
Publication number: 20200019603Abstract: Systems, methods, and computer-readable storage devices are disclosed for improved table identification in a spreadsheet. One method including: receiving a spreadsheet including at least one table; identifying, using machine learning, one or more classes of a plurality of classes for each cell of the received spreadsheet, wherein the plurality of classes include corners and not-a-corner; and inducing at least one table in the received spreadsheet based on the one or more identified classes for each cell of the received spreadsheet.Type: ApplicationFiled: July 13, 2018Publication date: January 16, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Benjamin Goth ZORN, Marc Manuel Johannes BROCKSCHMIDT, Pallavi CHOUDHURY, Oleksandr POLOZOV, Rishabh SINGH, Saswat PADHI
-
Patent number: 10528328Abstract: Embodiments disclosed herein are related to systems and methods for using input logical patterns to generate one or more programs by an underlying Program-By-Example (PBE) system based on user input examples. A system includes a processor and a system memory. The system access a set of input data. The system receives one or more user input examples for the set of input data. The user input examples are indicative of an output that should be achieved to comply with a user determined result. The system analyzes the set of input data to identify one or more logical patterns that are common to the set of input data. The system generates one or more programs which will output the user determined result, based on a set of the one or more logical patterns that are consistent with the one or more user input examples.Type: GrantFiled: December 8, 2015Date of Patent: January 7, 2020Assignee: Microsoft Technology Licensing, LLCInventor: Rishabh Singh
-
Patent number: 10452526Abstract: Techniques for constrained mutation-based fuzzing are described. Machine accesses an input file of code for testing. Machine performs multiple runs of a fuzzing algorithm using the input file and the code. Each run includes: performing a mutation of one or more bytes of the input file and determining which parts of the code were executed when the code was run with the mutated input file. Machine stores, for each run, an indication of whether the mutation caused execution of a portion of the code which was not executed prior to the mutation, Machine generates heatmap of the input file based on the stored indications. The heatmap maps each of the bytes in the input file to a value indicating whether the mutation of the byte caused execution of the portion of the code for testing which was not executed prior to the mutation. Machine tailors fuzzing algorithm based on heatmap.Type: GrantFiled: June 28, 2017Date of Patent: October 22, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Mohit Rajpal, William Blum, Rishabh Singh
-
Patent number: 10409892Abstract: Data formatting rules to convert data from one form to another form are automatically determined based on a user's edits. A machine learning heuristic is applied to a user's edits to determine a data formatting rule that may be applied to data. For example, a user may make edits that add/remove characters from data, concatenate data, extract data, rename data, and the like. The machine learning heuristic may be automatically triggered in response to an event (e.g. after a predetermined number of edits are made to a same type of data) or manually triggered (e.g. selecting a user interface option). The data formatting rule may be applied to other data and the results of the formatting reviewable by the user. Based on further edits/reviews, the data formatting rule may be updated. The data formatting rules may be stored for later use.Type: GrantFiled: January 26, 2011Date of Patent: September 10, 2019Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Chad Rothschiller, Daniel Battagin, Christopher Benedict, Rodrigo Moreira-Silveira, Dmitri O. Danilov, Eric Cohen, Sumit Gulwani, Dany Rouhana, Rishabh Singh, Benjamin Goth Zorn, Ramarathnam Venkatesan
-
Publication number: 20180365139Abstract: Techniques for constrained mutation-based fuzzing are described. Machine accesses an input file of code for testing. Machine performs multiple runs of a fuzzing algorithm using the input file and the code. Each run includes: performing a mutation of one or more bytes of the input file and determining which parts of the code were executed when the code was run with the mutated input file. Machine stores, for each run, an indication of whether the mutation caused execution of a portion of the code which was not executed prior to the mutation, Machine generates heatmap of the input file based on the stored indications. The heatmap maps each of the bytes in the input file to a value indicating whether the mutation of the byte caused execution of the portion of the code for testing which was not executed prior to the mutation. Machine tailors fuzzing algorithm based on heatmap.Type: ApplicationFiled: June 28, 2017Publication date: December 20, 2018Inventors: Mohit Rajpal, William Blum, Rishabh Singh
-
Publication number: 20180285186Abstract: Provided are methods and systems for automatically generating input grammars for grammar-based fuzzing by utilizing machine-learning techniques and sample inputs. Neural-network-based statistical learning techniques are used for the automatic generation of input grammars. Recurrent neural networks are used for learning a statistical input model that is also generative in that the model is used to generate new inputs based on the probability distribution of the learnt model.Type: ApplicationFiled: June 30, 2017Publication date: October 4, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Patrice GODEFROID, Rishabh SINGH, Hila PELEG
-
Publication number: 20180276535Abstract: Generally discussed herein are devices, systems, and methods for encoding input-output examples. A method of generating a program using an encoding of input-output examples, may include processing an input example of the input-output examples, using a first long short term memory (LSTM) neural network, one character at a time to produce an input feature vector, processing an output example associated with the input example in the input-output examples, using the LSTM neural network, one character at a time to produce an output feature vector, determining (a) a cross-correlation between the input feature vector and the output feature vector or (b) previously computed feature vectors for a different input-output example that are sufficiently close to the input feature vector and the output feature vector, respectively, and using the determined cross-correlation or previously computed vector, generating a program consistent with the input example and the output example.Type: ApplicationFiled: March 27, 2017Publication date: September 27, 2018Inventors: Abdelrahman S.A. Mohamed, Pushmeet Kohli, Rishabh Singh, Emilio Parisotto
-
Publication number: 20180275967Abstract: Described are systems, methods, and computer-readable media for program generation in a domain-specific language based on input-output examples. In accordance with various embodiments, a neural-network-based program generation model conditioned on an encoded set of input-output examples is used to generate a program tree by iteratively expanding a partial program tree, beginning with a root node and ending when all leaf nodes are terminal.Type: ApplicationFiled: March 27, 2017Publication date: September 27, 2018Inventors: Abdelrahman S.A. Mohamed, Rishabh Singh, Lihong Li, Dengyong Zhou, Pushmeet Kohli, Emilio Parisotto
-
Publication number: 20180246915Abstract: Techniques are disclosed which provide for transforming a hierarchical table to a relational table. A hierarchical table may be received, in which a headline row is identified. A candidate row may be determined in the hierarchical table. The process may include systematically classifying headlines as data headlines or descriptors. For each data headline a new column may be generated, while for each descriptor headline, the table may be split to produce a resultant table. The resultant table may be stored and the process may be repeated until there are no headlines left to be classified. The steps performed by the system to transform the table can then be displayed on a user device using a program in the Domain-specific language, which can then be further inspected or modified to perform the desired table transformation.Type: ApplicationFiled: February 27, 2017Publication date: August 30, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Rishabh SINGH, Sumit GULWANI, Dana DRACHSLER COHEN
-
Publication number: 20180240356Abstract: Described herein is a system and method for automatically evaluating and providing feedback on code submissions. For example, when a code submission is received, the system described herein is configured to find closely related operable code submissions and compute corresponding expression discrepancies between the submitted code and operable and well-styled code submissions. The system then computes a minimal set of possible changes from the discrepancies to correct or improve the code submission. The changes can then be displayed and/or otherwise provided to the user or student who submitted the original code.Type: ApplicationFiled: May 12, 2017Publication date: August 23, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Rishabh Singh, Paul F. Pardi, Benjamin L. Lin, Bjorn C. Rettig, Ke Wang
-
Publication number: 20180232351Abstract: Provided are methods and systems for joining semi-structured data from the web with relational data in a spreadsheet table using input-output examples. A first sub-task performed by the system learns a string transformation program to transform input rows of a table to URL strings that correspond to the webpages where the relevant data is present. A second sub-task learns a program in a rich web data extraction language to extract desired data from the webpage given the example extractions. Hierarchical search and input-driven ranking are used to efficiently learn the programs using few input-output examples. The learnt programs are then run on the remaining spreadsheet entries to join desired data from the corresponding web pages.Type: ApplicationFiled: June 27, 2017Publication date: August 16, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Rishabh SINGH, Jeevana Priya INALA
-
Publication number: 20180203836Abstract: A device includes a logic machine and a data-holding machine having instructions executable by the logic machine to receive a spreadsheet including a plurality of cells, apply an abstraction to the spreadsheet that defines one or more features of a cell set including one or more cells of the plurality of cells to form an abstracted representation of the spreadsheet, form, for the cell set, an input vector for a machine-learning prediction function from the abstracted representation of the spreadsheet, the machine-learning prediction function configured to output a prediction of one or more properties of the cell set based on the input vector, wherein the machine-learning prediction function is previously trained based on a plurality of previously-created spreadsheets, provide the input vector to the machine-learning prediction function; and output the prediction from the machine-learning prediction function.Type: ApplicationFiled: January 17, 2017Publication date: July 19, 2018Applicant: Microsoft Technology Licensing, LLCInventors: Rishabh Singh, Ben Livshits, Benjamin G. Zorn
-
Patent number: 9891895Abstract: Systems and methods for increasing user confidence in results that are produced by one or more programs that are generated by an underlying Programming-By-Example (PBE) system based on user input examples. A plurality of generated programs that have been generated using one or more user input examples that are indicative of an output that should be achieved to comply with a user determined result are received. The generated programs are narrowed based on one or more sub-expressions of the programs that are likely to cause the resultant program to comply with the user determined result. The one or more sub-expressions are exposed. Input that selects at least one of the one or more exposed sub-expressions to thereby identify the one of the generated programs that will result in the user determined result is received.Type: GrantFiled: September 14, 2015Date of Patent: February 13, 2018Assignee: Microsoft Technology Licensing, LLCInventors: Sumit Gulwani, Benjamin Goth Zorn, Rishabh Singh, Mark Marron, Oleksandr Polozov, Vu Minh Le, Mikael Mayer, Gustavo Araujo Soares, Maxim Grechkin
-
Publication number: 20180039693Abstract: Data items such as strings are filtered based on positive and negative examples provided by a user, where positive examples are to be included in a result set and negative examples are to be excluded. For each example, a filter generator determines a set of expressions that are satisfied by the example. Expressions corresponding to positive examples are intersected and expressions corresponding to negative examples are subtracted from the intersection to create a set of expressions that are consistent with every positive example and inconsistent with every negative example. The expressions may be represented as directed acyclic graphs that facilitate operations such as intersection and subtraction.Type: ApplicationFiled: August 5, 2016Publication date: February 8, 2018Inventors: Rishabh Singh, Sumit Gulwani, Xinyu Wang
-
Patent number: D829545Type: GrantFiled: August 8, 2017Date of Patent: October 2, 2018Assignee: S. C. Johnson & Son, Inc.Inventors: Matthew N. Thurin, Rishabh Singh, Christopher M. Wlezien, Peter I. Capraro, Allan Freas Velzy