Readability and Understandability of Snippets Recommended by General-purpose Web Search Engines: a Comparative Study
Dantas, Maia
Developers often search for reusable code snippets on general-purpose web search engines like Google, Yahoo! or Microsoft Bing. But some of these code snippets may have poor quality in terms of readability or understandability. In this paper, we propose an empirical analysis to analyze the readability and understandability score from snippets extracted from the web using three independent variables: ranking, general-purpose web search engine, and recommended site. We collected the top-5 recommended sites and their respective code snippet recommendations using Google, Yahoo!, and Bing for 9,480 queries, and evaluate their readability and understandability scores. We found that some recommended sites have significantly better readability and understandability scores than others. The better-ranked code snippet is not necessarily more readable or understandable than a lower-ranked code snippet for all general-purpose web search engines. Moreover, considering the readability score, Google has better-ranked code snippets compared to Yahoo! or Microsoft Bing
academic
Legibilidad y Comprensibilidad de Fragmentos Recomendados por Motores de Búsqueda Web de Propósito General: un Estudio Comparativo
Los desarrolladores frecuentemente buscan fragmentos de código reutilizables en motores de búsqueda de propósito general como Google, Yahoo! o Microsoft Bing. Sin embargo, estos fragmentos de código pueden tener baja calidad en términos de legibilidad o comprensibilidad. Este artículo presenta un análisis empírico que utiliza tres variables independientes (clasificación, motor de búsqueda y sitio web recomendado) para analizar las puntuaciones de legibilidad y comprensibilidad de fragmentos de código extraídos de la web. El estudio recopiló los 5 principales sitios web recomendados por Google, Yahoo! y Bing para 9,480 consultas, junto con sus correspondientes recomendaciones de fragmentos de código, y evaluó sus puntuaciones de legibilidad y comprensibilidad. El estudio encontró que ciertos sitios web recomendados superan significativamente a otros en puntuaciones de legibilidad y comprensibilidad. Los fragmentos de código con clasificación más alta no son necesariamente más legibles o comprensibles que los de clasificación más baja en todos los motores de búsqueda de propósito general. Además, en términos de puntuaciones de legibilidad, Google tiene un mejor ranking de fragmentos de código que Yahoo! o Microsoft Bing.
Problema Central: Los fragmentos de código recomendados por motores de búsqueda de propósito general presentan variaciones de calidad en legibilidad y comprensibilidad, y los fragmentos con clasificación más alta no necesariamente tienen mayor calidad
Necesidad Práctica: Los desarrolladores utilizan ampliamente motores de búsqueda de propósito general para encontrar ejemplos de código, pero carecen de una evaluación sistemática de la calidad de estos fragmentos
Limitaciones del Motor de Búsqueda: Aunque Google utiliza más de 200 factores de clasificación, las páginas con clasificación más alta pueden contener ejemplos de código de baja calidad
La reutilización de fragmentos de código puede reducir el tiempo de tareas de programación y acelerar el proceso de desarrollo
Google posee más del 90% de la cuota de mercado de motores de búsqueda, pero se desconoce la situación de clasificación de calidad de código en otros motores de búsqueda
Es necesario comprender la interrelación entre legibilidad y comprensibilidad: la legibilidad se asocia con la comprensión sintáctica, mientras que la comprensibilidad se asocia con aspectos semánticos
El artículo cita un caso de estudio de Hora: al buscar "File.mkdirs examples" en Google, el fragmento de código de Tutorialspoint, aunque tiene métricas de legibilidad y reutilizabilidad deficientes, tiene una clasificación más alta porque incluye explicaciones en lenguaje natural similares a la consulta.
Primer Estudio Comparativo Sistemático: Análisis comparativo a gran escala de fragmentos de código recomendados por tres principales motores de búsqueda (Google, Yahoo! y Microsoft Bing) en términos de legibilidad y comprensibilidad
Construcción de Conjunto de Datos a Gran Escala: Recopilación de 47,400 enlaces de páginas web para 9,480 consultas, cubriendo 5,355 sitios web distintos
Marco de Análisis Multidimensional: Propuesta de un método de análisis basado en tres variables independientes: clasificación, motor de búsqueda y sitio web recomendado
Hallazgos Empíricos: Confirmación de dos hipótesis importantes: los fragmentos de código con clasificación más alta no necesariamente poseen mayor legibilidad/comprensibilidad; existe variación significativa en la calidad del código entre diferentes sitios web recomendados
Estandarización de Métricas de Comprensibilidad: Propuesta de un método estandarizado para convertir complejidad cognitiva al intervalo 0,1
Entrada: Consultas relacionadas con programación
Salida: Puntuaciones de legibilidad y comprensibilidad de fragmentos de código
Restricciones: Análisis únicamente de fragmentos de código en Java, considerando los 5 principales resultados de búsqueda
Resultado ANOVA: p-value de legibilidad=0.0034, p-value de comprensibilidad=0.0003
Hallazgo Clave: Los fragmentos de código Top-2 superan en general a Top-1, Top-4 y Top-5 en legibilidad y comprensibilidad
Tamaño del Efecto: Pequeño (-0.02 a 0.01 en legibilidad, -0.01 a 0.02 en comprensibilidad)
Conclusión: Confirmación de la hipótesis H1, los fragmentos de código con clasificación más alta no necesariamente poseen mayor legibilidad o comprensibilidad
Paradoja de Clasificación: La clasificación del motor de búsqueda no está completamente correlacionada con la calidad del código; los fragmentos de código Top-2 y Top-3 pueden tener mayor calidad
Diferencias entre Motores de Búsqueda: Google tiene el mejor desempeño en legibilidad, pero la ventaja es limitada
Diferenciación de Calidad de Sitios Web: Existe variación significativa de calidad entre sitios web recomendados; los sitios web de tutoriales (GeeksforGeeks) tienen mejor legibilidad
Limitaciones de Comprensibilidad: La métrica de comprensibilidad actual tiene capacidad de discriminación limitada para fragmentos de código simples
Guía para Desarrolladores: Se recomienda priorizar fragmentos de código de sitios web de tutoriales como GeeksforGeeks
Estrategia de Búsqueda: No se debe depender únicamente de la clasificación para seleccionar fragmentos de código; es necesario considerar integralmente métricas de calidad
Mejora de Herramientas: Proporciona estándares de referencia para evaluación de calidad en motores de búsqueda de código
El artículo cita 23 referencias relacionadas, incluyendo principalmente:
Métodos de medida de legibilidad y comprensibilidad de código
Investigación en sistemas de búsqueda y recomendación de código
Análisis de calidad de código de StackOverflow
Investigación sobre mecanismos de clasificación de motores de búsqueda
Evaluación General: Este es un artículo de investigación de ingeniería de software empírica de alta calidad que llena un vacío en la investigación de evaluación de calidad de búsqueda de código, con importante valor teórico y práctico significativo. La metodología de investigación es científica y rigurosa, la escala de datos es suficiente, la credibilidad de las conclusiones es alta, y proporciona perspectivas valiosas para desarrolladores e investigadores.