Lune

ICML2025Top-tier venue

CursorCore: Assist Programming through Aligning Anything

Hao Jiang, Qi Liu, Rui Li, Shengyu Ye, Shijin Wang

2025Year
2Top-tier citations

Abstract

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, code context, and user instructions. In this work, we propose a new framework that comprehensively integrates these information sources, and collect data to train 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. CursorCore: Assist Programming through Aligning Anything Assist (Ours) Complete def function(s): frequency = c: s.count(c) for c in set(s) Here is a Python implementation: def function(s): frequency = c: s.count(c) for c in set(s) return frequency return frequency frequency = c: s.count(c) for c in set(s) def function(s): return frequency Write a function that calculates the frequency of each character in a string using Python. frequency[c] = frequency[c] + 1 def function(s): frequency = c: s.count(c) for c in set(s) return frequency We uses a dict comprehension to count the occurrences. It is more concise and readable compared to before.

Ask about this paper

Your agent reads all of it.

Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.

Questions to start from

Your agent calls

Luneget_paper_fulltext

Ask in Lune

Free to start. No credit card required.

lune papers fulltext 10fa6355-1326-417c-95ac-8440bba4963d

Cited by top-tier papers2

Ask how each one uses it

Builds on30

Related papers

Dusk over the sea between two cliffs drawn in fine vertical lines