-
公开(公告)号:US11256485B2
公开(公告)日:2022-02-22
申请号:US16929467
申请日:2020-07-15
Applicant: Google LLC
Inventor: Kensen Shi , Rishabh Singh , David J. Bieber
Abstract: The present disclosure provides systems and methods for synthesizing computer-readable code based on the receipt of input and output examples. A computing system in accordance with the disclosure can be configured to receive a given input and output, access and library of operations, and perform a search of a library of operations (e.g., transpose, slice, norm, etc.) that can be applied to the input. By applying the operations to the input and tracking the results, the computing system may identify an expression comprising one or a combination of operations that when applied to the input generates the output. In this manner, implementations of the disclosure may be used to identify one or more solutions that a user having access to the library of operations may use to generate the output from the input.
-
公开(公告)号:US12182555B2
公开(公告)日:2024-12-31
申请号:US18379315
申请日:2023-10-12
Applicant: GOOGLE LLC
Inventor: Qianyu Zhang , Bin Ni , Rishabh Singh , Olivia Hatalsky
IPC: G06F8/30 , G06F8/33 , G06F8/34 , G06F8/36 , G06F8/41 , G06F8/71 , G06F16/00 , G06F16/242 , G06N3/045 , G06N3/088
Abstract: Implementations are described herein for adapting existing source code snippets to new contexts. In various implementations, a command may be detected to incorporate an existing source code snippet into destination source code. An embedding may be generated based on the existing source code snippet, e.g., by processing the existing source code snippet using an encoder. The destination source code may be processed to identify one or more decoder constraints. Subject to the one or more decoder constraints, the embedding may be processed using a decoder to generate a new version of the existing source code snippet that is adapted to the destination source code.
-
公开(公告)号:US12073194B2
公开(公告)日:2024-08-27
申请号:US17972327
申请日:2022-10-24
Applicant: GOOGLE LLC
Inventor: Rishabh Singh , Aaron Zemach , Chiraag Galaiya , Dima Brezhnev , David Lick , Francisco Velasquez , Max Lin , Neha Bhargava , Peilun Zhang , Rahul Srinivasan , Simon Tong , Victoria Taylor , Vishnu Sivaji , Zifan Xiao
IPC: G06F8/30 , G06F16/2457 , G06F40/18
CPC classification number: G06F8/31 , G06F16/24578 , G06F40/18
Abstract: Techniques are described herein for automatically synthesizing programs that include one or more functions in a spreadsheet programming language. A method includes: receiving a first example including input provided in a first cell in a spreadsheet; automatically synthesizing a plurality of candidate programs including a first set of candidate programs consistent with the first example, wherein each candidate program in the first set of candidate programs comprises at least one function in a spreadsheet programming language and, when the candidate program is executed, the candidate program generates output that matches the first example; ranking the plurality of candidate programs; and storing a highest-ranked program of the plurality of candidate programs in association with the first cell in the spreadsheet.
-
14.
公开(公告)号:US12014160B2
公开(公告)日:2024-06-18
申请号:US17717609
申请日:2022-04-11
Applicant: Google LLC
Inventor: Rishabh Singh , Manzil Zaheer
IPC: G06F8/51 , G06F8/73 , G06F18/23213
CPC classification number: G06F8/51 , G06F8/73 , G06F18/23213
Abstract: Techniques are described herein for translating a source code snippet from a first programming language to a second programming language independently of sequence-to-sequence decoding. In various implementations, the source code snippet written in the first programming language may be processed using an encoder portion of a transformer network to generate an embedding of the source code snippet. The embedding of the source code snippet may be processed using an all-pair attention layer to generate an attended embedding of the source code snippet. The attended embedding of the source code snippet may be processed using an output layer to generate, by way of a single transformation of the attended embedding of the source code snippet, data indicative of a translation of the source code snippet in the second programming language.
-
公开(公告)号:US11875139B2
公开(公告)日:2024-01-16
申请号:US18165047
申请日:2023-02-06
Applicant: Google LLC
Inventor: Kensen Shi , Rishabh Singh , David J. Bieber
Abstract: The present disclosure provides systems and methods for synthesizing computer-readable code based on the receipt of input and output examples. A computing system in accordance with the disclosure can be configured to receive a given input and output, access and library of operations, and perform a search of a library of operations (e.g., transpose, slice, norm, etc.) that can be applied to the input. By applying the operations to the input and tracking the results, the computing system may identify an expression comprising one or a combination of operations that when applied to the input generates the output. In this manner, implementations of the disclosure may be used to identify one or more solutions that a user having access to the library of operations may use to generate the output from the input.
-
公开(公告)号:US11693637B1
公开(公告)日:2023-07-04
申请号:US17319739
申请日:2021-05-13
Applicant: Google LLC
Inventor: Rishabh Singh , Hanjun Dai , Manzil Zaheer , Artem Goncharuk , Karen Davis , David Andre
CPC classification number: G06F8/436 , G06F40/279 , G06F40/40 , G06N3/08 , G06N7/01
Abstract: Using a natural language (NL) latent presentation in the automated conversion of source code from a base programming language (e.g., C++) to a target programming language (e.g., Python). A base-to-NL model can be used to generate an NL latent representation by processing a base source code snippet in the base programming language. Further, an NL-to-target model can be used to generate a target source code snippet in the target programming language (that is functionally equivalent to the base source code snippet), by processing the NL latent representation. In some implementations, output(s) from the NL-to-target model indicate canonical representation(s) of variables, and in generating the target source code snippet, technique(s) are used to match those canonical representation(s) to variable(s) of the base source code snippet. In some implementations, multiple candidate target source code snippets are generated, and a subset (e.g., one) is selected based on evaluation(s).
-
公开(公告)号:US11656867B2
公开(公告)日:2023-05-23
申请号:US17945376
申请日:2022-09-15
Applicant: Google LLC
Inventor: Rishabh Singh , David Andre , Bin Ni , Owen Lewis
Abstract: Implementations are described herein for using machine learning to perform various tasks related to migrating source code based on relatively few (“few shots”) demonstrations. In various implementations, an autoregressive language model may be conditioned based on demonstration tuple(s). In some implementations, a demonstration tuple may include a pre-migration version of a first source code snippet and a post-migration version of the first source code snippet. In other implementations, demonstration tuples may include other data, such as intermediate forms (e.g., natural language descriptions or pseudocode), input-output pairs demonstrating intended behavior, etc. The autoregressive language model may be trained on corpora of source code and natural language documentation on the subject of computer programming. A pre-migration version of a source code file may be processed based on the conditioned autoregressive language model, and a post-migration version may be generated based on output generated based on the conditioned autoregressive model.
-
公开(公告)号:US20230039841A1
公开(公告)日:2023-02-09
申请号:US17972327
申请日:2022-10-24
Applicant: GOOGLE LLC
Inventor: Rishabh Singh , Aaron Zemach , Chiraag Galaiya , Dima Brezhnev , David Lick , Francisco Velasquez , Max Lin , Neha Bhargava , Peilun Zhang , Rahul Srinivasan , Simon Tong , Victoria Taylor , Vishnu Sivaji , Zifan Xiao
IPC: G06F8/30 , G06F40/18 , G06F16/2457
Abstract: Techniques are described herein for automatically synthesizing programs that include one or more functions in a spreadsheet programming language. A method includes: receiving a first example including input provided in a first cell in a spreadsheet; automatically synthesizing a plurality of candidate programs including a first set of candidate programs consistent with the first example, wherein each candidate program in the first set of candidate programs comprises at least one function in a spreadsheet programming language and, when the candidate program is executed, the candidate program generates output that matches the first example; ranking the plurality of candidate programs; and storing a highest-ranked program of the plurality of candidate programs in association with the first cell in the spreadsheet.
-
公开(公告)号:US11481195B2
公开(公告)日:2022-10-25
申请号:US17122290
申请日:2020-12-15
Applicant: Google LLC
Inventor: Rishabh Singh , Aaron Zemach , Chiraag Galaiya , Dima Brezhnev , David Lick , Francisco Velasquez , Max Lin , Neha Bhargava , Peilun Zhang , Rahul Srinivasan , Simon Tong , Victoria Taylor , Vishnu Sivaji , Zifan Xiao
IPC: G06F8/30 , G06F40/18 , G06F16/2457
Abstract: Techniques are described herein for automatically synthesizing programs that include one or more functions in a spreadsheet programming language. A method includes: receiving a first example including input provided in a first cell in a spreadsheet; automatically synthesizing a plurality of candidate programs including a first set of candidate programs consistent with the first example, wherein each candidate program in the first set of candidate programs comprises at least one function in a spreadsheet programming language and, when the candidate program is executed, the candidate program generates output that matches the first example; ranking the plurality of candidate programs; and storing a highest-ranked program of the plurality of candidate programs in association with the first cell in the spreadsheet.
-
公开(公告)号:US20210382697A1
公开(公告)日:2021-12-09
申请号:US17122290
申请日:2020-12-15
Applicant: Google LLC
Inventor: Rishabh Singh , Aaron Zemach , Chiraag Galaiya , Dima Brezhnev , David Lick , Francisco Velasquez , Max Lin , Neha Bhargava , Peilun Zhang , Rahul Srinivasan , Simon Tong , Victoria Taylor , Vishnu Sivaji , Zifan Xiao
IPC: G06F8/30 , G06F16/2457 , G06F40/18
Abstract: Techniques are described herein for automatically synthesizing programs that include one or more functions in a spreadsheet programming language. A method includes: receiving a first example including input provided in a first cell in a spreadsheet; automatically synthesizing a plurality of candidate programs including a first set of candidate programs consistent with the first example, wherein each candidate program in the first set of candidate programs comprises at least one function in a spreadsheet programming language and, when the candidate program is executed, the candidate program generates output that matches the first example; ranking the plurality of candidate programs; and storing a highest-ranked program of the plurality of candidate programs in association with the first cell in the spreadsheet.
-
-
-
-
-
-
-
-
-