Los puntos clave no están disponibles para este artículo en este momento.
Las decenas de miles de proyectos de software de código abierto de alta calidad en Internet ofrecen la emocionante posibilidad de estudiar el desarrollo de software al encontrar patrones en repositorios de código fuente realmente grandes. Esto podría permitir nuevas herramientas para desarrollar código, fomentar la reutilización y navegar por grandes proyectos. En este documento, construimos el primer modelo de lenguaje probabilístico de giga-token de código fuente, basado en 352 millones de líneas de Java. Esto es 100 veces la escala del trabajo pionero de Hindle et al. El modelo de giga-token es significativamente mejor en la tarea de sugerencia de código que los modelos anteriores. Más ampliamente, nuestro enfoque proporciona una nueva “lente” para analizar proyectos de software, permitiendo nuevas métricas de complejidad basadas en el análisis estadístico de grandes corpora. Llamamos a estas métricas métricas de complejidad impulsadas por datos. Proponemos nuevas métricas que miden la complejidad de un módulo de código y la centralidad temática de un módulo en un proyecto de software. En particular, es posible distinguir clases de utilidad reutilizables de clases que son parte de la lógica central de un programa basándose únicamente en criterios generales de teoría de la información.
Allamanis et al. (Miér,) estudiaron esta pregunta.