< Explain other AI papers

TreeRanker: Fast and Model-agnostic Ranking System for Code Suggestions in IDEs

Daniele Cipollone, Egor Bogomolov, Arie van Deursen, Maliheh Izadi

2025-08-06

TreeRanker: Fast and Model-agnostic Ranking System for Code Suggestions
  in IDEs

Summary

This paper talks about a new system called TreeRanker that helps suggest code completions in software development tools called Integrated Development Environments (IDEs). It uses language models to rank possible code suggestions quickly and effectively by organizing them in a special structure called a prefix tree, then scoring them in one pass.

What's the problem?

The problem is that many IDEs suggest possible code completions when developers write code, but the suggestions are often ranked poorly. This means the correct or best suggestions might be buried deep in the list and not easily seen, which slows down coding and reduces productivity. Existing systems either rely on manual rules or slower machine learning methods that aren't always flexible or fast enough.

What's the solution?

The solution the paper proposes is TreeRanker, which uses language models in a way that doesn’t require changing or retraining the models. It arranges all valid code completions into a prefix tree, which lets it quickly score all suggestions token by token in a single efficient pass. This method is fast, works with many kinds of language models, and improves ranking accuracy without slowing down the coding experience.

Why it matters?

This matters because better-ranked code suggestions help developers write code faster and with fewer errors. TreeRanker’s speed and accuracy mean IDEs can give smarter and more useful help immediately as developers work. It also works well with smaller models and fits into current IDEs without big changes, making it practical for real-world use and boosting programmer productivity.

Abstract

A new scoring approach using language models ranks static code completions in IDEs by organizing them into a prefix tree and performing a single greedy decoding pass.