Un nuevo estudio que examinó 365 millones de lineas de código de 745 aplicaciones identificó malas prácticas de codificación que afectan la seguridad, el desempeño y el tiempo de funcionamiento, con las aplicaciones Java Enterprise Edition teniendo la mayor cantidad de problemas. Cast Software, que hace herramientas para automatizar el análisis de aplicaciones de negocios, examinó programas escritos con Java-EE, .NET, ABAP, C, C++, Cobol, Oracle Forms, y Visual Basic, usados en una amplia gama de industrias desde la de energía, y servicios financieros hasta las de consultoría de TI, seguros, gubernamentales, retail, telecomunicaciones y otras.
Las aplicaciones Java-EE son las que prevalecen en el informe de Cast sobre Salud del Software Aplicativo, con el 46 por ciento de todas las aplicaciones, y también tienen la mayor parte de los problemas en promedio, en tanto las aplicaciones Cobol y de ABAP de SAP son las que menos tienen. Cast analizó factores tales como la estabilidad de una aplicación y la posibilidad de introducir defectos cuando se la modifica; la eficiencia del desempeño del software; capacidad de prevenir brechas de seguridad; transferibilidad, la facilidad con la cual un nuevo grupo puede comprender una aplicación y volverse productivos trabajando en ella; y la capacidad de modificar una aplicación rápida y fácilmente.
Estos factores fueron resumidos en un puntaje denominado “deuda técnica”, el costo teórico de reparar cada linea de código ( a una tasa de u$s75 por hora) que no sigue buenas prácticas, como señala Computerworld. La deuda técnica de las aplicaciones escrita en Java EE resultó de u$s5,42 por linea de código mientras que las de Cobol impresionaron con un puntaje de u$s1,26. Oracle Forms y .NET se ubicaron en los segundo y tercer peores posiciones detrás de Java., con un promedio en la industria de u$s3,61. ABAP resultó ser la mejor con un puntaje cercano a cero.
Java no fue el peor en términos de seguridad, ya que .NET resultó con el peor puntaje de seguridad y Cobol con el mejor. Pero Java fue el peor en desempeño, contribuyendo a su pobre puntaje. “Los lenguajes de desarrollo modernos como Java-EE son en general más flexibles y permiten a los desarrolladores crear construcciones dinámicas que pueden ser más riesgosas en funcionamiento,” dice Cast en el informe. “Esta flexibilidad es una ventaja que ha alentado a su adopción, pero también puede ser un inconveniente que resulte en comportamientos de sistema menos predecibles.”
Cast no se sorprendió de los buenos resultados de Cobol, particularmente en seguridad. “Las aplicaciones con los mayores puntajes en seguridad siguen siendo predominantemente las grandes aplicaciones de los sectores de servicios financieros y de seguros donde la alta seguridad por la información confidencial financiera es un mandato,” afirmó la compañía. “Estos puntajes no deberían ser una sorpresa ya que las aplicaciones Cobol corren en ambientes de mainframe donde no están tan expuestas a los desafíos de seguridad de Internet. Además, son típicamente las aplicaciones más viejas de nuestra muestra y probablemente han pasado a lo largo del tiempo por más extensas remediaciones de vulnerabilidades de seguridad.” C++ y Visual Basic fueron los segundo y tercer mejores en seguridad detrás de Cobol.
En la mayoría de los distintos tipos de aplicación, los puntajes disminuyeron en la medida que más a menudo se liberaba el software. “Puntajes por robustez, seguridad y modificabilidad disminuyeron a medida que aumentaba el número de versiones liberadas, con la tendencia más pronunciada en el área de seguridad,” dice Cast.
La información de Cast contradijo la creencia común que la calidad de software se degrada cuando las aplicaciones se hacen más grandes. Con la excepción del Cobol, que fue diseñado antes del enfoque actual de la modularidad del diseño del software, las aplicaciones en este estudio no se ponían peores cuando se volvían más grandes, dice Cast. Se puede leer un largo resumen ejecutivo en el sitio web de Cast, pero cualquiera sea la forma que divida a los proveedores, dice que la mala codificación es un problema, con una tercera parte de las violaciones de software que afectan a la seguridad, el desempeño o el tiempo de funcionamiento.
“Mientras que dos terceras partes de las violaciones encontradas son destinadas a tener un dramático efecto en los costos de TI y el balance final de la compañía, la otra tercera parte es aun más crítica ya que tienen un impacto negativo directo en el desempeño del negocio,” dijo Bill Curtis, el científico en jefe de Cast, en una declaración que acompaña al informe.
Traducción: Raúl Batista – Segu-Info
Autor: Jon Brodkin
Fuente: ars technica
Creative Commons Atribución-No Comercial-Compartir Obras Derivadas Igual 2.5