AboutOpinionesBlogContactoAuditoria

Software Crafters® 2026 | Creado con 🖤 para elevar el nivel de la conversación sobre programación en español | Legal

Cuando el machine learning entró al autocompletado

Entre 2009 y 2014, tres papers académicos plantaron una idea que cambiaría el código para siempre: en vez de escribir reglas, aprende patrones de cómo se escribe código en miles de repositorios. No salió ningún producto. Pero el paradigma estaba sobre la mesa.

Miguel A. Gómez1 min read

En la newsletter hablo de cómo diseñar mejor software. O lo que es lo mismo: escribir código sostenible.

Al suscribirte comparto contigo los libros que más me han hecho crecer como dev —los que todo desarrollador serio debería leer al menos una vez.

Mientras los IDEs mainstream se apoyaban en el compilador y los lenguajes dinámicos en heurísticas, en la academia se cocinaba algo distinto. Aplicar machine learning al code completion.

El primer paso lo dieron en 2009 Marcel Bruch, Martin Monperrus y Mira Mezini en la conferencia ESEC/FSE. Su paper, Learning from Examples to Improve Code Completion Systems, proponía algo muy directo. En vez de listar todos los métodos disponibles de un objeto por orden alfabético, listarlos por probabilidad de uso aprendida de repositorios reales. Lo integraron en Eclipse, hicieron un estudio con usuarios y demostraron que era mejor que el completion estándar.

Tres años después, en 2012, llegó el paper seminal de esta línea. Abraham Hindle y compañía, en la ICSE, publicaron On the Naturalness of Software. La idea era que el código fuente es más repetitivo que el lenguaje natural, así que se puede modelar con las mismas técnicas. Concretamente, con modelos de lenguaje basados en n-grams. Los mismos que se usaban entonces para predecir la siguiente palabra de un mensaje de texto.

Y en 2014, Veselin Raychev, Martin Vechev y Eran Yahav publicaron en PLDI Code Completion with Statistical Language Models, llevando la idea a su expresión más afinada para el caso concreto del autocompletado.

Cinco años, tres papers, una conclusión común. En vez de escribir reglas, aprende patrones de cómo se escribe código en miles de repositorios.

No salió ningún producto de aquello. Pero el cambio de paradigma ya estaba sobre la mesa.


Este post forma parte de la serie Evolución de la IA para programar.

¿Quiéres leer más artículos como éste? Pues suscríbete a la newsletter

Quizás también te interese

LSP: el último gran avance del autocompletado antes de la IA

Microsoft IntelliSense, el autocompletado mainstream