Cuadro de desarrollo de diagnóstico en PVS-Studio

Desarrollo PVS-Studio

Han pasado más de 8 años desde la aparición del producto PVS-Studio, y todo este tiempo hemos estado implementando nuevas reglas de diagnóstico en él. Y no vamos a parar. Si le preocupan las preguntas, si hemos perdido el coraje a lo largo de los años y hemos dejado de desarrollar PVS-Studio, la tabla del artículo eliminará estas preguntas. El analizador se está desarrollando activamente, y la tasa de desarrollo solo aumenta con los años.

Al momento de escribir esto, PVS-Studio ha implementado 669 diagnósticos , muchos de los cuales son complejos. Por ejemplo, no vemos ninguna razón para perseguir la cantidad y crear dos diagnósticos separados para los casos: la condición siempre es falsa, la condición siempre es verdadera. Alguien hace lo mismo, alguien divide tales diagnósticos en varios. Por ejemplo, puede encontrar herramientas en las que se dividen dichos diagnósticos: siempre una expresión booleana falsa, se utiliza un puntero nulo como condición, etc. Por lo tanto, el número de diagnósticos en sí mismo no significa nada y, además, no vale la pena comparar diferentes analizadores en función del número de diagnósticos. Pero es interesante ver cómo evolucionó el analizador PVS-Studio con el tiempo. Y para esto, decidí construir una línea de tiempo para la aparición de nuevos diagnósticos.

Llegar a una idea con un horario fue mucho más fácil que implementar. No teníamos una señal, cuántos diagnósticos había en esta o aquella versión de PVS-Studio. De alguna manera, incluso nadie pensó en comenzar a escribir estos valores. Tuve que usar el ingenio y el trabajo duro.

Nuestro sitio tiene una lista de todos los cambios que ocurrieron en los lanzamientos de PVS-Studio. Incluyendo, los diagnósticos agregados se enumeran allí. Le pedí a mi colega Nastya que realizara una investigación arqueológica de la lista de cambios y anotara las fechas de lanzamiento, así como la cantidad de diagnósticos agregados. Una tarea simple pero minuciosa. Nastya, gracias por la ayuda. Entonces, aquí está el calendario resultante.

Número de diagnósticos


En el gráfico, puedes observar 2 ráfagas. El primer aumento se remonta a finales de 2015, principios de 2016 y está asociado con la incorporación del soporte de lenguaje C #. El segundo aumento se refiere a finales de 2018, principios de 2019 y está asociado con la implementación de soporte para el lenguaje Java, así como el comienzo del trabajo para soportar el estándar MISRA.

De hecho, el tercer aumento comienza a formarse, lo que aún no se nota en la tabla. Después del primer lote de diagnósticos MISRA, tomamos un descanso y ahora estamos nuevamente activados en esta dirección. Por lo tanto, un nuevo aumento en la actividad debería aparecer en el gráfico, a partir de mediados de 2019.

El gráfico muestra que el desarrollo del analizador PVS-Studio está avanzando a un ritmo rápido. Además, si a finales de 2015 el desarrollo era muy lineal, entonces empezarían a aparecer "saltos". Debido a los "saltos", el gráfico comenzó a tomar una forma no lineal y, posiblemente, en el futuro será posible interpolarlo con una parábola.

Como puede ver, estamos llenos de energía y entusiasmo para desarrollar el analizador de código PVS-Studio, admitir nuevas versiones de compiladores, adaptar complementos a las últimas versiones de Visual Studio / SonarQube / IntelliJ IDEA. Use PVS-Studio y haga que su código sea más confiable, mejor y más seguro.



Si desea compartir este artículo con una audiencia de habla inglesa, utilice el enlace a la traducción: Andrey Karpov, Anastasiya Mozaleva. PVS-Studio Gráfico de desarrollo de habilidades de diagnóstico .

Source: https://habr.com/ru/post/456388/


All Articles