Challenge: Static program slicing is a software engineering technique for isolating code relevant to specific variables.
Approach: They propose a new approach that reformulates static program slicing as a sequence-to-sequence task using small language models such as CodeT5+.
Outcome: The proposed approach improves on Java and Python program slicing benchmarks with up to 22% gain in ExactMatch.

Similar Papers

CodeT5+: Open Code Large Language Models for Code Understanding and Generation (2023.emnlp-main)

Copied to clipboard

Challenge: Existing code LLMs adopt a specific architecture or rely on a unified encoder-decoder network for downstream tasks, lacking flexibility to operate in the optimal architecture for a particular task.
Approach: They propose to initialize code LLMs with frozen off-the-shelf LLM and explore instruction-tuning to align with natural language instructions.
Outcome: The proposed model outperforms open-source LLMs on 20 code-related benchmarks.
UniXcoder: Unified Cross-Modal Pre-training for Code Representation (2022.acl-long)

Copied to clipboard

Challenge: Pre-trained models for programming languages have demonstrated great success on code intelligence . however, such pre-tried models are sub-optimal for auto-regressive tasks .
Approach: They propose a unified cross-modal pre-trained model for programming language that leverages cross-module contents like AST and code comment to enhance code representation.
Outcome: The proposed model achieves state-of-the-art on most code-related tasks and compares with existing models on zero-shot code-to-code search.
CodeT5: Identifier-aware Unified Pre-trained Encoder-Decoder Models for Code Understanding and Generation (2021.emnlp-main)

Copied to clipboard

Challenge: Pre-trained models for Natural Languages (NL) like BERT and GPT have been shown to transfer well to Programming Languages.
Approach: They propose a unified pre-trained encoder-decoder Transformer model that leverages the code semantics conveyed from the developer-assigned identifiers.
Outcome: The proposed model outperforms existing models on understanding and generation tasks and can capture semantic information from code.
CodeFusion: A Pre-trained Diffusion Model for Code Generation (2023.emnlp-main)

Copied to clipboard

Challenge: Existing models for code generation from natural language do not allow reconsidering earlier tokens . prior work has explored grouped beam search or nucleus sampling to generate diverse text.
Approach: They propose a diffusion code generation model that iteratively denoises a program conditioned on the encoded natural language.
Outcome: The proposed model outperforms state-of-the-art models in accuracy and diversity compared to existing models.
Unified Pre-training for Program Understanding and Generation (2021.naacl-main)

Copied to clipboard

Challenge: PLUG is a programming language that is used for programming and language understanding and generation tasks.
Approach: They propose a sequence-to-sequence model that performs a broad spectrum of program and language understanding and generation tasks.
Outcome: The proposed model outperforms or rivals state-of-the-art models on code summarization, code generation, and code translation tasks in seven programming languages.
PICARD: Parsing Incrementally for Constrained Auto-Regressive Decoding from Language Models (2021.emnlp-main)

Copied to clipboard

Challenge: Large pre-trained language models for textual data have an unconstrained output space . when fine-tuned to target constrained formal languages like SQL, these models often generate invalid code, rendering it unusable.
Approach: They propose a method for constraining auto-regressive decoders of language models through incremental parsing.
Outcome: The proposed method can find valid output sequences by rejecting inadmissible tokens . it can be used on Spider and CoSQL text-to-SQl translation tasks .
UER: An Open-Source Toolkit for Pre-training Models (D19-3)

Copied to clipboard

Challenge: Existing work on pre-training models have shown that it is important to use a framework to deploy various pre- training models efficiently.
Approach: They propose an assemble-on-demand pre-training toolkit that assembles pre-trained models on demand and encapsulates them with rich modules.
Outcome: The proposed framework can reproduce state-of-the-art models or develop models that remain unexplored.
Tackling Long Code Search with Splitting, Encoding, and Aggregating (2024.lrec-main)

Copied to clipboard

Challenge: Existing pretraining models take the first 256 tokens of code snippets by default, limiting the input length to 512.
Approach: They propose a baseline SEA model which splits long code into code blocks and aggregates them to obtain a comprehensive long code representation.
Outcome: The proposed model can model long code without changing their internal structure and re-pretraining.
Code Representation Pre-training with Complements from Program Executions (2024.emnlp-industry)

Copied to clipboard

Challenge: Existing languages have syntactic representations of code to improve code intelligence, but they are difficult to learn from code.
Approach: They propose to embed dynamic information of programs revealed by their test cases into feature representations of code as complements.
Outcome: The proposed method yields 6%/19% mAP improvements over its masked language modeling counterparts.
Exploring Data Augmentation for Code Generation Tasks (2023.findings-eacl)

Copied to clipboard

Challenge: Recent advances in natural language processing have impacted how models are trained for programming language tasks.
Approach: They propose to use augmentation methods that yield consistent improvements in code translation and summarization by up to 6.9% and 7.5% respectively.
Outcome: The proposed methods improve translation and summarization by 6.9% and 7.5% respectively.

What is GenGO?

GenGO is an NLP powered publication search system. It currenctly indexes 30k+ papers from ACL Anthology, and implements multi-aspect summarization, semantic search, and more!

Information

About
Limitations