Un nuevo estudio, llevado a cabo en el 2012, denominado Coverity Scan Report, muestra que el código abierto es tan bueno como el propietario e incluso mejor en algunos casos. El servicio Coverity Scan se inició en el 2006 cuando se inició también el Departamento de Seguridad Interna en los Estados Unidos (DHS por sus siglas ein inglés), y se enfocó en la calidad y seguridad que el código abierto puede contener.

DHS terminó el proyecto, pero Coverity continúa ofreciendo su tecnología de pruebas de desarrollo como un servicio gratuito a la comunidad del código abierto. C, C++ y -desde inicios del 2013- Java, pueden usar estas tecnologías y obtener reportes sobre los posibles problemas y defectos de sus sistemas. LibreOffice, MariaDB, NetBSD, NGINX, Git, zsh, Thunderbird y Firefox están entre los proyectos conocidos escaneados por Coverity Scan.

El último reporte detalla el análisis de más de 450 millones de líneas de código, probablemente la muestra más grande que este reporte ha tenido a la fecha. Entre sus hallazgos, por segundo año consecutivo, ambos, código abierto y propietario, han tenido una densidad de defectos menor que uno por cada mil líneas de código, lo cual es, frente al índice de la industria, 1.0, un estándar de facto, demuestra su nivel de seguridad y desarrollo. El código propietario tiene una densidad de defectos promedio de 0.68. El promedio en el código abierto es de 0.69 y Linux, descrito por Coverity como “el nivel de calidad”, logró 0.59.

Un hallazgo interesante es que proyectos menores a un millón de líneas de código, tienen un comportamiento curioso en el desempeño. Por ejemplo, la calidad es mejor para proyectos de código abierto más pequeños, con una densidad de defectos de 0.44 en proyectos con un total de 500 mil a un millón de líneas de código. Para proyectos mayores la densidad de defectos alcanza un 0.75 puntos en el índice. El fenómeno opuesto que se observó es que en proyectos pequeños de código propietario, se tiene una densidad de defectos de 0.98, la cual se decrementó a 0.66 cuando se excedió el umbral de líneas de programación.

Así pues, Coverity concluye que:

  • La discrepancia puede ser atribuída a las diferentes dinámicas dentro de los equipos de desarrollo en sistemas de código abierto y propietario, en la medida de que estos equipos implementen procesos de prueba de desarrollo formales.

Los defectos más comunes son falta de recursos o mal uso de estos, corrupción en la memoria y acceso ilegal a la misma, lo cual no es tan fácil de detectar con sistemas de análisis de código automático. Lo que queda claro, a decir de Jennfer Johnson de, Coverity: “quien no hace pruebas de desarrollo se encuentra en desventaja competitiva con aquellos que sí las hacen”.

Referencia:

Coverity Scan