MACHINE LEARNING BASED LAYOUT NUDGING FOR DESIGN RULE COMPLIANCE

    公开(公告)号:US20230138706A1

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

    申请号:US17516476

    申请日:2021-11-01

    Abstract: Embodiments of a system and method for generating integrated circuit layouts are described herein. A computer implemented method for generating integrated circuit layouts includes receiving a first layout for an integrated circuit, segmenting the first layout into a plurality of different patches, each patch of the plurality of patches describing a discrete portion of the first layout, identifying a non-compliant patch of the plurality of patches, the non-compliant patch violating a design rule governing the manufacture of the integrated circuit, generating a transformation of the non-compliant patch using a machine learning model, and generating a second layout using the transformation and the first layout, where the second layout is compliant with the design rule.

    CONDITIONING AUTOREGRESSIVE LANGUAGE MODEL TO IMPROVE CODE MIGRATION

    公开(公告)号:US20230018088A1

    公开(公告)日:2023-01-19

    申请号:US17945376

    申请日:2022-09-15

    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.

    TRANSFORMATION TEMPLATES TO AUTOMATE ASPECTS OF COMPUTER PROGRAMMING

    公开(公告)号:US20220261231A1

    公开(公告)日:2022-08-18

    申请号:US17176730

    申请日:2021-02-16

    Inventor: Owen Lewis Bin Ni

    Abstract: Implementations are described herein for building and/or applying a library of transformation templates to automate migration of source code. In various implementations, pre-migration and post-migration versions of source code that exist prior to and after migration of the source code may be analyzed. Based on the analysis, one or more transformations made to the pre-migration version of the source code to yield the post-migration version of the source code may be identified. A library of transformation templates that are applicable subsequently to automate migration of new source code may be built. In some implementations, for one or more of the transformations, a plurality of candidate transformation templates may be generated with different permutations of tokens being replaced with placeholders. One of the plurality of candidate transformation templates may be selected for inclusion in the library based on one or more criteria.

    Conditioning autoregressive language model to improve code migration

    公开(公告)号:US11481210B2

    公开(公告)日:2022-10-25

    申请号:US17136968

    申请日:2020-12-29

    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.

    CONDITIONING AUTOREGRESSIVE LANGUAGE MODEL TO IMPROVE CODE MIGRATION

    公开(公告)号:US20220206785A1

    公开(公告)日:2022-06-30

    申请号:US17136968

    申请日:2020-12-29

    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.

    GENERATION AND/OR RECOMMENDATION OF TOOLS FOR AUTOMATING ASPECTS OF COMPUTER PROGRAMMING

    公开(公告)号:US20220188081A1

    公开(公告)日:2022-06-16

    申请号:US17123768

    申请日:2020-12-16

    Abstract: Implementations are described herein for leveraging prior source code transformations to facilitate automatic creation and/or recommendation of tools for automating aspects of source code transformations captured in real time. In various implementations, a transformation made by a programmer to a source code snipped may be captured in a source code editor application in real time. Based on the transformation and the intent, one or more candidate source code transformations may be identified from one or more repositories of prior source code transformations made by one or more other programmers. The source code editor application may be caused to provide output indicative of a tool that is operable to automate one or more edits associated with both the transformation made by the programmer to the source code snippet and with one or more of the candidate source code transformations.

    Generating and using joint representations of source code

    公开(公告)号:US11169786B2

    公开(公告)日:2021-11-09

    申请号:US16781344

    申请日:2020-02-04

    Abstract: Implementations are described herein for generating embeddings of source code using both the language and graph domains, and leveraging combinations of these semantically-rich and structurally-informative embeddings for various purposes. In various implementations, tokens of a source code snippet may be applied as input across a sequence-processing machine learning model to generate a plurality of token embeddings. A graph may also be generated based on the source code snippet. A joint representation may be generated based on the graph and the incorporated token embeddings. The joint representation generated from the source code snippet may be compared to one or more other joint representations generated from one or more other source code snippets to make a determination about the source code snippet.

    GENERATING AND USING JOINT REPRESENTATIONS OF SOURCE CODE

    公开(公告)号:US20210240453A1

    公开(公告)日:2021-08-05

    申请号:US16781344

    申请日:2020-02-04

    Abstract: Implementations are described herein for generating embeddings of source code using both the language and graph domains, and leveraging combinations of these semantically-rich and structurally-informative embeddings for various purposes. In various implementations, tokens of a source code snippet may be applied as input across a sequence-processing machine learning model to generate a plurality of token embeddings. A graph may also be generated based on the source code snippet. A joint representation may be generated based on the graph and the incorporated token embeddings. The joint representation generated from the source code snippet may be compared to one or more other joint representations generated from one or more other source code snippets to make a determination about the source code snippet.

    Machine learning based layout nudging for design rule compliance

    公开(公告)号:US11675960B2

    公开(公告)日:2023-06-13

    申请号:US17516476

    申请日:2021-11-01

    CPC classification number: G06F30/398 G06F30/27 G06F30/323

    Abstract: Embodiments of a system and method for generating integrated circuit layouts are described herein. A computer implemented method for generating integrated circuit layouts includes receiving a first layout for an integrated circuit, segmenting the first layout into a plurality of different patches, each patch of the plurality of patches describing a discrete portion of the first layout, identifying a non-compliant patch of the plurality of patches, the non-compliant patch violating a design rule governing the manufacture of the integrated circuit, generating a transformation of the non-compliant patch using a machine learning model, and generating a second layout using the transformation and the first layout, where the second layout is compliant with the design rule.

    TRANSFORMATION TEMPLATES TO AUTOMATE ASPECTS OF COMPUTER PROGRAMMING

    公开(公告)号:US20220413820A1

    公开(公告)日:2022-12-29

    申请号:US17903496

    申请日:2022-09-06

    Inventor: Owen Lewis Bin Ni

    Abstract: Implementations are described herein for building and/or applying a library of transformation templates to automate migration of source code. In various implementations, pre-migration and post-migration versions of source code that exist prior to and after migration of the source code may be analyzed. Based on the analysis, one or more transformations made to the pre-migration version of the source code to yield the post-migration version of the source code may be identified. A library of transformation templates that are applicable subsequently to automate migration of new source code may be built. In some implementations, for one or more of the transformations, a plurality of candidate transformation templates may be generated with different permutations of tokens being replaced with placeholders. One of the plurality of candidate transformation templates may be selected for inclusion in the library based on one or more criteria.

Patent Agency Ranking