CODE COMPLETION INCLUDING SUGGESTIONS WITH HOLES

    公开(公告)号:WO2022245467A1

    公开(公告)日:2022-11-24

    申请号:PCT/US2022/026082

    申请日:2022-04-25

    摘要: A code completion tool uses a neural transformer model with attention to generate syntactically-correct candidates with holes to complete a partially-formed code snippet. The model is trained to predict the expansion of non-terminal symbols of the production rules of the underlying grammar of the code snippet without being constrained to a left-to-right expansion order. A hole is a non-terminal symbol of the grammar of a programming language that marks a position in a candidate where the code completion engine is not certain of the production rule that should be used to expand the non-terminal symbol. The hole allows the code completion engine to expand other non-terminal symbols in a candidate and allow the user to guide the expansion of the holes in a candidate.

    AUTOMATED PROGRAM REPAIR TOOL
    6.
    发明申请

    公开(公告)号:WO2021231007A1

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

    申请号:PCT/US2021/026738

    申请日:2021-04-10

    摘要: An automated program repair tool utilizes a neural transformer model with attention to predict the contents of a bug repair in the context of source code having a bug of an identified bug type. The neural transformer model is trained on a large unsupervised corpus of source code using a span-masking denoising optimization objective, and fine-tuned on a large supervised dataset of triplets containing a bug-type annotation, software bug, and repair. The bug-type annotation is derived from an interprocedural static code analyzer. A bug type edit centroid is computed for each bug type and used in the inference decoding phase to generate the bug repair.