Unifying the Perspectives of NLP and Software Engineering: A Survey on Language Models for Code

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Zhang, Ziyin, Chen, Chaoyu, Liu, Bingchang, Liao, Cong, Gong, Zi, Yu, Hang, Li, Jianguo, Wang, Rui
Format: Preprint
Published: 2023
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866909231353954304
author Zhang, Ziyin
Chen, Chaoyu
Liu, Bingchang
Liao, Cong
Gong, Zi
Yu, Hang
Li, Jianguo
Wang, Rui
author_facet Zhang, Ziyin
Chen, Chaoyu
Liu, Bingchang
Liao, Cong
Gong, Zi
Yu, Hang
Li, Jianguo
Wang, Rui
contents In this work we systematically review the recent advancements in software engineering with language models, covering 70+ models, 40+ evaluation tasks, 180+ datasets, and 900 related works. Unlike previous works, we integrate software engineering (SE) with natural language processing (NLP) by discussing the perspectives of both sides: SE applies language models for development automation, while NLP adopts SE tasks for language model evaluation. We break down code processing models into general language models represented by the GPT family and specialized models that are specifically pretrained on code, often with tailored objectives. We discuss the relations and differences between these models, and highlight the historical transition of code modeling from statistical models and RNNs to pretrained Transformers and LLMs, which is exactly the same course that had been taken by NLP. We also go beyond programming and review LLMs' application in other software engineering activities including requirement engineering, testing, deployment, and operations in an endeavor to provide a global view of NLP in SE, and identify key challenges and potential future directions in this domain. We keep the survey open and updated on GitHub at https://github.com/codefuse-ai/Awesome-Code-LLM.
format Preprint
id arxiv_https___arxiv_org_abs_2311_07989
institution arXiv
publishDate 2023
record_format arxiv
spellingShingle Unifying the Perspectives of NLP and Software Engineering: A Survey on Language Models for Code
Zhang, Ziyin
Chen, Chaoyu
Liu, Bingchang
Liao, Cong
Gong, Zi
Yu, Hang
Li, Jianguo
Wang, Rui
Computation and Language
Artificial Intelligence
Software Engineering
In this work we systematically review the recent advancements in software engineering with language models, covering 70+ models, 40+ evaluation tasks, 180+ datasets, and 900 related works. Unlike previous works, we integrate software engineering (SE) with natural language processing (NLP) by discussing the perspectives of both sides: SE applies language models for development automation, while NLP adopts SE tasks for language model evaluation. We break down code processing models into general language models represented by the GPT family and specialized models that are specifically pretrained on code, often with tailored objectives. We discuss the relations and differences between these models, and highlight the historical transition of code modeling from statistical models and RNNs to pretrained Transformers and LLMs, which is exactly the same course that had been taken by NLP. We also go beyond programming and review LLMs' application in other software engineering activities including requirement engineering, testing, deployment, and operations in an endeavor to provide a global view of NLP in SE, and identify key challenges and potential future directions in this domain. We keep the survey open and updated on GitHub at https://github.com/codefuse-ai/Awesome-Code-LLM.
title Unifying the Perspectives of NLP and Software Engineering: A Survey on Language Models for Code
topic Computation and Language
Artificial Intelligence
Software Engineering
url https://arxiv.org/abs/2311.07989