Systems and methods for synthesizing code from input and output examples

    公开(公告)号:US11256485B2

    公开(公告)日:2022-02-22

    申请号:US16929467

    申请日:2020-07-15

    Applicant: Google LLC

    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.

    Translating between programming languages independently of sequence-to-sequence decoders

    公开(公告)号:US12014160B2

    公开(公告)日:2024-06-18

    申请号:US17717609

    申请日:2022-04-11

    Applicant: Google LLC

    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.

    Systems and methods for synthesizing code from input and output examples

    公开(公告)号:US11875139B2

    公开(公告)日:2024-01-16

    申请号:US18165047

    申请日:2023-02-06

    Applicant: Google LLC

    CPC classification number: G06F8/36 G06F16/24 G06N5/04 G06N20/00

    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.

    Conditioning autoregressive language model to improve code migration

    公开(公告)号:US11656867B2

    公开(公告)日:2023-05-23

    申请号:US17945376

    申请日:2022-09-15

    Applicant: Google LLC

    CPC classification number: G06F8/71 G06F40/20 G06N20/00

    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.

Patent Agency Ranking