¿Alguien ha determinado umbrales relacionados con el no. de líneas de un programa de computadora versus porcentaje de probabilidad de que ocurra un problema de seguridad?

Brendan Murphy con Microsoft Research ha realizado una investigación realmente fascinante sobre varios aspectos del estado del código, las tasas de defectos, etc. No me sorprendería si esto incluye la probabilidad de vulnerabilidades de software basadas en líneas de código. El trabajo que he visto de él se ha centrado más en las tasas de cambio que en las líneas de código totales, pero estoy seguro de que ambos están allí.

Brendan ha estado en la afortunada posición de tener acceso para estudiar el código fuente de Windows, así como las tasas de defectos, las listas de cambios y una variedad de otras métricas para ver cómo se relacionan.

Consulte Uso de métricas históricas en proceso y de producto para la estimación temprana de fallas de software para obtener un ejemplo de algunos de sus resultados de investigación anteriores. Mire las revistas y conferencias donde se han publicado los documentos de Brendan. Esos documentos y otros de los mismos procedimientos / revistas deberían proporcionar una idea de cómo predecir problemas de seguridad y otros tipos de fallas.

De acuerdo con Scott sobre esto … probablemente serían posibles mejores correlaciones utilizando otras métricas. Por ejemplo, tamaño del equipo, años de mantenimiento, número de alteraciones en el diseño, competencia / experiencia de los codificadores, restricciones de tiempo impuestas, esfuerzo y tiempo dedicado a la depuración y prueba como proporción de codificación, etc. Sin embargo, incluso estas pueden no ser métricas perfectas para este fenómeno.

El LOC rara vez sirve para algo en la programación, excepto tal vez para servir como una forma de BBB para mostrar un administrador menos alfabetizado en programación.

¿Alguien ha determinado umbrales relacionados con el no. de líneas de un programa de computadora versus porcentaje de probabilidad de que ocurra un problema de seguridad?

Me sorprendería descubrir que un recuento de líneas de código tiene mucho que ver con eso. Los programas de C para principiantes a menudo usan scanf de manera inapropiada y tienen un problema de seguridad cuando escriben programas de 20 líneas.