-
公开(公告)号:US20240273270A1
公开(公告)日:2024-08-15
申请号:US18564797
申请日:2022-05-31
Applicant: Google LLC
Inventor: Shobha Vasudevan , Wenjie Jiang , Charles Aloysius Sutton , Rishabh Singh , David Bieber , Milad Olia Hashemi , Chian-min Richard Ho , Hamid Shojaei
IPC: G06F30/323 , G06F30/33
CPC classification number: G06F30/323 , G06F30/33
Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating learned representations of digital circuit designs. One of the systems includes obtaining data representing a program that implements a digital circuit design, the program comprising a plurality of statements; processing the obtained data to generate data representing a graph representing the digital circuit design, the graph comprising: a plurality of nodes representing respective statements of the program, a plurality of first edges each representing a control flow between a pair of statements of the program, and a plurality of second edges each representing a data flow between a pair of statements of the program; and generating a learned representation of the digital circuit design, comprising processing the data representing the graph using a graph neural network to generate a respective learned representation of each statement represented by a node of the graph.
-
公开(公告)号:US11822909B2
公开(公告)日:2023-11-21
申请号:US17901128
申请日:2022-09-01
Applicant: Google LLC
Inventor: Qianyu Zhang , Bin Ni , Rishabh Singh , Olivia Hatalsky
CPC classification number: G06F8/447 , G06F8/34 , G06F8/36 , G06F8/71 , G06F16/00 , G06F16/2425 , 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.
-
公开(公告)号:US20230185545A1
公开(公告)日:2023-06-15
申请号: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.
-
公开(公告)号:US20250085942A1
公开(公告)日:2025-03-13
申请号:US18960573
申请日:2024-11-26
Applicant: GOOGLE LLC
Inventor: Qianyu Zhang , Bin Ni , Rishabh Singh , Olivia Hatalsky
IPC: G06F8/41 , G06F8/30 , G06F8/33 , G06F8/34 , G06F8/36 , 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.
-
公开(公告)号:US20240394025A1
公开(公告)日:2024-11-28
申请号:US18792153
申请日:2024-08-01
Applicant: GOOGLE LLC
Inventor: Giovanni De Toni , Rishabh Singh , Jonathan Malmaud , Navneet Potti
IPC: G06F8/51 , G06F8/41 , G06F11/36 , G06N3/0455 , G06N3/08
Abstract: Techniques are described herein for iterative code generation using neural language models. In various implementations, an original source code snippet in a first programming language may be processed using a translation machine learning model to generate a first translation of the original source code snippet in a second programming language. The first translation of the original source code snippet may be evaluated to identify error(s) in the first translation. Based on the error(s), respective mask(s) may be inserted to generate a masked first translation of the original source code snippet in the second programming language. The masked first translation of the original source code snippet may be processed using the translation machine learning model to generate a second translation of the original source code snippet in the second language. The second translation may include infill(s) of corrected source code in place of one or more of the masks.
-
公开(公告)号:US12093671B2
公开(公告)日:2024-09-17
申请号:US17731593
申请日:2022-04-28
Applicant: Google LLC
Inventor: Rishabh Singh , Bin Ni , Manzil Zaheer
CPC classification number: G06F8/51
Abstract: Techniques are described herein for translating source code using sparse-self attention. In various implementations, a source code snippet in a first programming language may be processed to obtain graph(s) representing snippet tokens, and relationships therebetween. Based on the graph(s), a subset of snippet token pairs may be identified from a superset of all possible token pairs in the source code snippet. Each token pair of the subset may include snippet tokens that are represented by nodes connected by one or more edges of the one or more graphs. A self-attention network of a translation machine learning model may be adapted to sparsely attend across the identified subset of token pairs. The source code snippet may then be processed based on the adapted translation machine learning model to generate a translation of the source code snippet in the second programming language.
-
公开(公告)号:US20240211218A1
公开(公告)日:2024-06-27
申请号:US18529387
申请日:2023-12-05
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.
-
8.
公开(公告)号:US20240184556A1
公开(公告)日:2024-06-06
申请号:US18076199
申请日:2022-12-06
Applicant: Google LLC
Inventor: Rishabh Singh
Abstract: Techniques are described herein for translating between low-level languages and high-level languages. A method includes: receiving first source code in assembly language, the first source code including a plurality of code blocks, and each code block of the plurality of code blocks including a plurality of lines of assembly code; for each of the plurality of code blocks: for each of the plurality of lines of assembly code in the code block, processing the line of assembly code to generate a natural language description of the line of assembly code; and processing the code block and the natural language descriptions of the plurality of lines of assembly code in the code block to generate a natural language description of the code block; and processing the natural language descriptions of the plurality of code blocks to generate a natural language description of the first source code.
-
公开(公告)号:US20240176604A1
公开(公告)日:2024-05-30
申请号:US18070015
申请日:2022-11-28
Applicant: Google LLC
Inventor: Joey Hong , Rishabh Singh , Joel Galenson , Jonathan Malmaud , Manzil Zaheer
IPC: G06F8/51
CPC classification number: G06F8/51
Abstract: Implementations are described herein for predicting symbolic transformation templates to automate source code transformations. In various implementations, pair(s) of predecessor and successor source code snippets may be processed using a symbolic transformation template prediction (STTP) model to predict a symbolic transformation template that includes a predecessor portion that matches the predecessor source code snippet(s) of the pair(s) and a successor portion that matches the successor source code snippet(s) of the pair(s). At least one additional predecessor source code snippet may be identified that matches the predecessor portion of the predicted symbolic transformation template. Placeholders of the predecessor portion of the predicted symbolic transformation template may be bound to one or more tokens of the at least one additional predecessor source code snippet to create binding(s). The successor portion of the predicted symbolic transformation template may be applied to the bindings to generate additional successor source code snippet(s).
-
公开(公告)号:US11573774B2
公开(公告)日:2023-02-07
申请号:US17676601
申请日:2022-02-21
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.
-
-
-
-
-
-
-
-
-