Administración de la calidad del software a través del análisis estático de código en java version otn 2013

1,733 views

Published on

Descripción del concepto de análisis estático de código para mejorar la calidad del software así como gestionar de mejor forma el proceso de aseguramiento de la calidad con plataformas como Sonarqube.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,733
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Administración de la calidad del software a través del análisis estático de código en java version otn 2013

  1. 1. Administración de la calidad del software a través del análisis estático de código GuateJUG - OTN Tour Guatemala 2013 César Hernández CesarHernandezGt @CesarHgt CesarHernandezGt/OTN2013
  2. 2. Agenda ● Análisis estático de código ● Beneficios ● Herramientas ● Retos ● Sonarqube
  3. 3. Análisis estático de código ● Es la detección sistemática y proactiva de bugs, fugas de memória y código muerto e ineficiente entre otros ● No necesita que el programa sea ejecutado para detectar problemas
  4. 4. Beneficios ● Reducción del costo en proceso de QA ● Mejor productividad de desarrollo y calidad del código fuente ● El análisis del código es automático y no requiere ejecución del código ● Sencillez de uso por la integración con IDE´S como Eclipse y Netbeans
  5. 5. Herramientas individuales
  6. 6. "Porque hasta las personas más inteligentes pueden cometer los errores más estúpidos" -William Pugh-
  7. 7. FindBugs ● Identifica bugs bajo la especificación del lenguaje Java operando a nivel de Bytecodes (.class files) ● No contempla análisis de formato del código fuente. ● Utilizado por empresas como Google, Oracle, Eclipse, IBM.
  8. 8. DEMO 1 findBugs
  9. 9. ● Bad practice ● Correctness ● Malicious code vulnerability ● Multithreaded correctness ● Performance ● Security ● Dodgy code (dudoso) Descripción de los más de 300 patrones: http://findbugs.sourceforge.net/bugDescriptions.html Categorías
  10. 10. "En un proyecto de software con diez personas, probablemente tres de ellas introducen tantos errores que podríamos considerar su productividad como negativa." - Gordon Schulmeyer-
  11. 11. PMD ● Permite optimizar nuestro código con la detección de objetos innecesarios, variables sub utilizadas, duplicación explícita entre otros. ● Se centra en código que puede ser Optimizado ● Personalización por reglas
  12. 12. DEMO 2 Pmd
  13. 13. ● Android ● Basic JSP ● Basic JSF ● Java Beans ● Optimization ● Naming Descripción de las más de 450 reglas: http://pmd.sourceforge.net/pmd-5.0.0/rules/index.html Categorías de reglas
  14. 14. "Si el código y los comentarios no coinciden, posiblemente ambos sean erróneos" -Norm Schryer-
  15. 15. Checkstyle ● Verificador sintáctico de estándares de codificación ● Para el caso de Java, CheckStyle toma como base: Code Conventions for the Java Programming Language http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html ● Provee flexibilidad en el grado de revisión del código
  16. 16. DEMO 3 Checkstyle
  17. 17. Ejemplo de detecciones Convenciones de nombrado Anotaciones Diseño de clases Imports Comentarios Javado Modificadores de acceso Naming Conventions Expresiones regulares Descripción de las más de 120 reglas: http://checkstyle.sourceforge.net/availablechecks.html
  18. 18. Retos ● Diversas herramientas ● Diversos lenguajes de programación ● Necesidad de personalización ● Distribución y estandarización ● Ecosistemas de diversas tecnologías y versiones ● Constante cambio de....
  19. 19. ● Plataforma para la administración de la calidad del código fuente. ● Gran parte de su funcionamiento se base en el Análisis Estático de Código. ABAP C/C++ C-Sharp (C#) COBOL Flex GroovyJavaScript Natural Pacbase PHP PL/I PL/SQL Python VB.NET Visual Basic 6 Web (HTML, JSP) XML Java
  20. 20. Sonar a 1000 pies de altura
  21. 21. DEMO Un poco de orden en la casa
  22. 22. GuateJUG - OTN Tour Guatemala 2013 César Hernández PREGUNTAS? CesarHernandezGt @CesarHgt CesarHernandezGt/OTN2013

×