En palabras sencillas
Los indicadores de funcionalidad permiten a los equipos de software activar o desactivar funciones. Cuando una función ya se ha desplegado por completo, pueden quedar el indicador antiguo y el código que lo rodea, que luego hay que eliminar.
Esa tarea se complica cuando el indicador está conectado con código repartido en muchos archivos. El artículo presenta un sistema de DoorDash que consulta el valor activo del indicador, pide a un ingeniero que lo confirme y luego edita el código, actualiza las pruebas y prepara una solicitud de cambios.
En 50 limpiezas recientes de repositorios Kotlin, se aceptaron 45 solicitudes de inmediato o tras correcciones menores; cinco necesitaron una corrección sustancial.
La investigación
En mayo de 2026, DoorDash informó que había 1.659 indicadores de funcionalidad obsoletos en unos 623 repositorios. El código de un indicador puede estar repartido entre varios archivos, y su valor actual en producción puede diferir del valor predeterminado en el código. ¿Cómo se puede eliminar el código relacionado usando el valor correcto?
Un sistema de DoorDash consulta los valores activos de los indicadores, pide confirmación a un ingeniero y coordina los cambios en código y pruebas para preparar solicitudes de limpieza.
El sistema de DoorDash consulta el valor activo en producción de un indicador obsoleto, busca sus referencias en el código y pide a un ingeniero que confirme el valor propuesto antes de editar. Después, los agentes de eliminación actualizan el código y las pruebas, validan los cambios y preparan solicitudes de incorporación de cambios.
La confirmación importa porque el valor de producción puede diferir del valor predeterminado en el código.
En la revisión de los autores de 50 eliminaciones recientes en repositorios Kotlin de DoorDash, se aceptaron 45 solicitudes de inmediato o tras correcciones menores; 5 necesitaron una corrección sustancial de un ingeniero.
Los autores también observaron que 22 de los 26 casos que luego clasificaron como complejos produjeron solicitudes utilizables. Estos resultados muestran que el sistema gestionó muchas de las limpiezas evaluadas, aunque los casos complejos necesitaron con más frecuencia una revisión o intervención.
La evaluación abarcó 50 eliminaciones recientes en repositorios Kotlin de DoorDash y cada indicador se procesó una sola vez.
Los autores señalan que repetir el proceso podría producir resultados distintos y que los resultados quizá no se apliquen a otros lenguajes, sistemas de indicadores o bases de código.
Análisis
Detalles
- Autores del paper original
- Atharv Chandratre, Jai Datar
- Enviado a arXiv
- Licencia
- arXiv non-exclusive