Está en la página 1de 23

TÉCNICAS DE EVALUACIÓN DE

CÓDIGO
Evaluación de Sistemas

Ing. Darwin Marcelo Pillo MsC.


TÉCNICAS DE EVALUACIÓN DE CÓDIGO
 Según (Cruz Perez, 2010) el análisis de código se lo puede llevar a cabo a
través de: análisis estático, ii) análisis dinámico, iii) la revisión de código en
pares y iv) las pruebas unitarias. A continuación, se exponen las principales
características de cada una de ellas.
ANÁLISIS ESTÁTICO.
 El análisis estático es una técnica utilizada para analizar código fuente,
(Sommerville, 2010) explica que:

 Las técnicas de análisis estático son técnicas de verificación del sistema que
no incluyen la ejecución de un programa. En vez de ello, funcionan sobre una
representación fuente del software: un modelo de especificación o diseño, o
el código fuente del programa. Las técnicas de análisis estático pueden
usarse para comprobar la especificación y los modelos de diseño de un
sistema con la finalidad de buscar errores antes de que esté disponible una
versión ejecutable del sistema (p.395).
ANÁLISIS ESTÁTICO.
 El objetivo general del análisis estático es prácticamente el mismo que un
compilador, recorrer todo el código de un programa para encontrar posibles
fallos. Según (Filipiak, 2008)
 “El análisis estático en busca de vulnerabilidades se encuentra en la lista de
buenas prácticas de software” (p.31).
 (Altuna Castillo & Guibert Estrada, 2013) afirman que “Se conoce como
análisis estático al procedimiento realizado mediante varias técnicas para la
obtención de información acerca del posible comportamiento en ejecución
de un programa, realizado sobre el código fuente” (p. 4).
ANÁLISIS ESTÁTICO.
¿Qué analiza?
Según (Díaz & Bermejo, 2013) el análisis estático mediante su proceso de
análisis se encarga de :
 Transformar el código a analizar en un modelo de programa.
 Analizar un conjunto de estructuras de datos que representan el código.
 Analizar el modelo utilizando diferentes reglas y / o propiedades.
 Mostrar los resultados del análisis.
ANÁLISIS ESTÁTICO.
 Fallos revisados en análisis estático
ANÁLISIS ESTÁTICO.
 Técnicas de análisis estático
ANÁLISIS DINÁMICO.
 El análisis dinámico de software es otra de las técnicas
mediante la cual se puede observar el comportamiento de un
programa en ejecución. Es además un mecanismo que
permite gestionar la calidad de un programa ya que ayuda a
detectar posibles fallos en tiempo de ejecución.
 El análisis dinámico no puede cubrir todas las ramas de un
programa e incluso un buen análisis no cubre más del 80%
del código del programa (Karpov, 2012).
ANÁLISIS DINÁMICO.
¿Qué analiza?

 El análisis dinámico brinda algunos valores cuantitativos de


código como se muestra en la Tabla . Una prueba dinámica
supervisará la memoria del sistema, el comportamiento
funcional, el tiempo de respuesta y el rendimiento general del
sistema, sin embargo, sólo encontrará defectos en la parte del
código que se ejecuta realmente. (DoPaul, 2013).
ANÁLISIS DINÁMICO.
 Indicadores para el análisis dinámico
ANÁLISIS DINÁMICO.
 Indicadores para el análisis dinámico
ANÁLISIS DINÁMICO.
 Ventajas y desventajas del Análisis Dinámico
ANÁLISIS DINÁMICO.
 Ventajas y desventajas del Análisis Dinámico
ANÁLISIS DINÁMICO.
 El análisis dinámico de software es otra de las técnicas
mediante la cual se puede observar el comportamiento de un
programa en ejecución. Es además un mecanismo que
permite gestionar la calidad de un programa ya que ayuda a
detectar posibles fallos en tiempo de ejecución.
 El análisis dinámico no puede cubrir todas las ramas de un
programa e incluso un buen análisis no cubre más del 80%
del código del programa (Karpov, 2012).
PROCESO DE ANÁLISIS ESTÁTICO.
 La técnica de
análisis estático
se lo realiza de
manera
automatizada
mediante el uso
de herramientas.
 En el Diagrama
se puede
observar el
proceso que se
lleva a cabo en
este tipo de
análisis.
PROCESO DE ANÁLISIS DINÁMICO.
 Hay que tener claro que la
eficiencia del análisis
depende directamente de
la calidad y cantidad de
los datos de prueba de
entrada
HERRAMIENTAS DE ANÁLISIS ESTÁTICO.
 SonarQube:
 SonarQube es una plataforma abierta para gestionar la calidad del código
mediante 7 ejes.
 SonarQube tiene una forma muy eficiente de la navegación, un equilibrio
entre la visión de alto nivel, tablero de instrumentos, TimeMachine y
herramientas de caza defecto. Esto permite descubrir rápidamente los
proyectos y / o componentes que están en deuda técnica (hace referencia al
esfuerzo que se debe pagar para mantener un producto de software mal
hecho y lo que conlleva, como el coste de la mala imagen frente a los
clientes) para establecer planes de acción.
HERRAMIENTAS DE ANÁLISIS ESTÁTICO.
 SonarQube:

Métricas:
• Complejidad
• Documentación
• Arquitectura y diseño
• Duplicaciones (código,
archivos, bloques,
líneas)
• Errores potenciales
• Codificación de normas
• Comentarios
HERRAMIENTAS DE ANÁLISIS ESTÁTICO.
 Codacy.

Según la página oficial de codacy, “Ahorra horas de revisión de


código y control de la calidad del código, desde pequeños equipos
a grandes empresas “. Codacy pretende mantener a sus usuarios
informados sobre su código, ahorra tiempo en las revisiones de
código ante problemas comunes de:

Seguridad
Violaciones código de estilo
Mejores prácticas
La cobertura de código
HERRAMIENTAS DE ANÁLISIS ESTÁTICO.
 Codacy.

Según la página oficial de codacy, “Ahorra horas de revisión de


código y control de la calidad del código, desde pequeños equipos
a grandes empresas “. Codacy pretende mantener a sus usuarios
informados sobre su código, ahorra tiempo en las revisiones de
código ante problemas comunes de:

Seguridad
Violaciones código de estilo
Mejores prácticas
La cobertura de código
HERRAMIENTAS DE ANÁLISIS ESTÁTICO.
 Codacy.

En un proyecto CODACY muestra un promedio por archivo de unos


pocos indicadores tales
como:
Líneas de código
Número de problemas
Complejidad Ciclomática
Número de clases
Número de métodos
Pérdida de clientes: se refiere a la cantidad de cambios en el
mismo archivo.
HERRAMIENTAS DE ANÁLISIS ESTÁTICO.
 Kiuwan

Según su página oficial “Kiuwan es la


solución en la nube óptima para la
certificación, administración y gobierno
de la calidad y productividad de un
código fuente en los portafolios de
aplicaciones de negocio críticas.”
HERRAMIENTAS DE ANÁLISIS ESTÁTICO.
 Kiuwan
El análisis realizado por Kiuwan está orientado a medir,
analizar y verificar la calidad de un código para los
portafolios de aplicaciones, dando resultados esenciales y
reportes del código analizado.
Realiza el análisis localmente por medio de un agente
descargado, o directamente en la nube desde su sitio web.
Dispone de APIs construidas en HTTP y JSON, entonces
cualquier cliente http puede enviar peticiones y recibir
respuestas.
También dispone de una librería cliente en java, la cual
provee mejor integración de lenguajes. Seguridad
mejorada y soporte para realizar llamadas que requieran
autorización del usuario.

También podría gustarte