La mayoría de los errores de programación en Linux y PostgreSQL se han cometido de madrugada

Por Francisco R. Villatoro, el 23 mayo, 2011. Categoría(s): Ciencia • Informática • Noticias • Prensa rosa • Science ✎ 5

Las técnicas de minería de datos permiten estudiar a qué hora del día los programadores informáticos de proyectos de código libre (open source) cometen más errores. Un análisis del núcleo (kernel) de Linux y de PostgreSQL ha demostrado que la mayoría de los errores se comete entre las 00:00 y las 04:00 horas; el menor número de errores se comete entre las 07:00 y las 12:00 horas; y no hay correlación con el día de la semana (es falso que el viernes sea el día en el que se cometen más errores). El estudio también ha demostrado que los programadores que desarrollan código todos los días cometen menos errores que los que programan de forma más esporádica. La figura que abre esta entrada muestra el número total de commits (cambios sugeridos) en el código (línea roja) y el número de commits en los que se han detectado errores (histograma en color negro). El número total de commits en el kernel de Linux y en PostgreSQL es  222.332 y 31.098, resp.; de ellos, el 23,7% y el 25,5%, reportan errores (bugs) de código. El análisis de estos últimos mediante minería de datos es lo que ha permitido realizar este estudio. Los desarrolladores de software libre deben recordar estos resultados y deben evitar programar de madrugada las partes más críticas de sus códigos. Además, los autores del estudio recomiendan a los desarrolladores que verifiquen/prueben sus mejoras de medianoche por la mañana (si es posible). El estudio ha sido realizado por los investigadores canadienses de la Universidad de Waterloo llamados Jon Eyolfson, Lin Tan y Patrick Lam, «Do Time of Day and Developer Experience Affect Commit Bugginess?8th Working Conference on Mining Software Repositories, Honolulu, Hawaii, May 21-22, 2011. Visto en Marc Abrahams, «Computer bugs: Born in the wee hours,» Improbable Research, May 22nd, 2011.



5 Comentarios

  1. Todos los programadores sabemos eso desde siempre, si lo disimulamos es por cierta tendencia a programar de noche y dormir de mañana =)

  2. Mmmm… puede ser, pero me parece que estos investigadores no consideraron que estos grandes proyectos open source, tienen colaboradores de todo el mundo, con diferentes husos horarios. Para mi que justo miles de X comitearon esos errores.

    Donde X = país del otro lado del mundo en donde esten hosteados ls servidores 🙂

    1. @Matias

      Mmmmm… puede ser que sería mejor que miraras antes de criticar. En el artículo que enlaza esta noticia se lee (entre otros muchos más comentarios al respecto) lo siguiente:

      «2.3 Threats to validity
      (…)
      Repository data threats.
      We expect our methodology to properly account for developers
      in different time zones. (…)»

      Y explica qué dificultades tiene esa rectificación de zona horaria y cómo lo resuelven.

      Pero sí, vamos, lo fácil es criticar sin ni siquiera mirar el artículo. Apúntate un 10.

  3. Pues el problema es programar de dia, el que esta en una oficina es interrumpido 100 veces por hora por telefonos, problemas ajenos, favores a los compañeros, etc. Y el que esta por su cuenta tiene que atender clientes, emergencias de facturación, banco, carro, niños, etc (mi caso). Por lo tanto la unica hora buena para programar es cuando el resto del mundo duerme, que se producen más errores, si, si se puede evitar, no.

Deja un comentario