title: CursorCore: Assist Programming through Aligning Anything
summary: Large language models have been successfully applied to programming
  assistance tasks, such as code completion, code insertion, and instructional
  code editing. However, these applications remain insufficiently automated and
  struggle to effectively integrate various types of information during the
  programming process, including coding history, current code, and user
  instructions. In this work, we propose a new conversational framework that
  comprehensively integrates these information sources, collect data to train our
  models and evaluate their performance. Firstly, to thoroughly evaluate how well
  models align with different types of information and the quality of their
  outputs, we introduce a new benchmark, APEval (Assist Programming Eval), to
  comprehensively assess the performance of models in programming assistance
  tasks. Then, for data collection, we develop a data generation pipeline,
  Programming-Instruct, which synthesizes training data from diverse sources,
  such as GitHub and online judge platforms. This pipeline can automatically
  generate various types of messages throughout the programming process. Finally,
  using this pipeline, we generate 219K samples, fine-tune multiple models, and
  develop the CursorCore series. We show that CursorCore outperforms other models
  of comparable size. This framework unifies applications such as inline chat and
  automated editing, contributes to the advancement of coding assistants. Code,
  models and data are freely available at
  https://github.com/TechxGenus/CursorCore.
paper_authors._id: 6707611c392cba5330ea4abc
paper_authors.name: Hao Jiang
paper_authors.status: claimed_verified
paper_authors.statusLastChangedAt: 2024-10-10T08:00:26.810Z
paper_authors._id: 65097423e64ee37323bd2def
paper_authors.avatarUrl: https://cdn-avatars.huggingface.co/v1/production/uploads/65097423e64ee37323bd2def/PTEwbfafNI88gdX1VVmIn.jpeg
paper_authors.fullname: Hao Jiang
paper_authors.type: user
paper_authors.user: TechxGenus
paper_authors._id: 6707611c392cba5330ea4abd
paper_authors.name: Qi Liu
paper_authors._id: 6707611c392cba5330ea4abe
paper_authors.name: Rui Li
paper_authors._id: 6707611c392cba5330ea4abf
paper_authors.name: Shengyu Ye
paper_authors.status: admin_assigned
paper_authors.statusLastChangedAt: 2024-10-10T09:27:38.637Z
paper_authors._id: 6508091067ab943749f9e869
paper_authors.avatarUrl: https://cdn-avatars.huggingface.co/v1/production/uploads/6508091067ab943749f9e869/TpdHfIez3rj5wQqrruA7G.jpeg
paper_authors.fullname: Shengyu Ye
paper_authors.type: user
paper_authors.user: Eviloder
paper_authors._id: 6707611c392cba5330ea4ac0
paper_authors.name: Shijin Wang
paper_title: CursorCore: Assist Programming through Aligning Anything
paper_summary: Large language models have been successfully applied to programming
  assistance tasks, such as code completion, code insertion, and instructional
  code editing. However, these applications remain insufficiently automated and
  struggle to effectively integrate various types of information during the
  programming process, including coding history, current code, and user
  instructions. In this work, we propose a new conversational framework that
  comprehensively integrates these information sources, collect data to train our
  models and evaluate their performance. Firstly, to thoroughly evaluate how well
  models align with different types of information and the quality of their
  outputs, we introduce a new benchmark, APEval (Assist Programming Eval), to
  comprehensively assess the performance of models in programming assistance
  tasks. Then, for data collection, we develop a data generation pipeline,
  Programming-Instruct, which synthesizes training data from diverse sources,
  such as GitHub and online judge platforms. This pipeline can automatically
  generate various types of messages throughout the programming process. Finally,
  using this pipeline, we generate 219K samples, fine-tune multiple models, and
  develop the CursorCore series. We show that CursorCore outperforms other models
  of comparable size. This framework unifies applications such as inline chat and
  automated editing, contributes to the advancement of coding assistants. Code,
  models and data are freely available at
  https://github.com/TechxGenus/CursorCore.
paper_ai_keywords: conversational framework programming assistance tasks code completion code insertion instructional code editing coding history current code user instructions data generation pipeline Programming-Instruct GitHub online judge platforms training data synthesis APEval Assist Programming Eval fine-tuning CursorCore series inline chat automated editing coding assistants