Sei sulla pagina 1di 4

INFORME DE AUDITORÍA DEL

SISTEMA “proyecto_integrador”
UNA REVISIÓN DE ADVERTENCIAS Y ERRORES EN CÓDIGO

Diego Alexander Sosa Suarez | Auditoría | 24/01/19


Observación de errores de codificación

Numero
Bugs Observaciones
de bugs
Debe realizarse una corrección de
código en el archivo validaciones.java
Uso cuestionable
línea: 96. Se realizó una comparación
de la igualdad de
de variables de diferente tipo con el
Correctness referencia en 1
operador “==”. En estos casos es
lugar de llamar a
recomendable usar la funciones
equals()
.equals() para realizar dicha
operación.
Existen funciones y clases mal
nombradas. Debe acomodarse a las
Nombre del
91 buenas prácticas de programación
método confuso
establecidas para no generar
confusiones en el código.
En algunos casos no se están
El recurso de la
cerrando los recursos de la base de
base de datos no
7 datos después de usarlos. Esto puede
está cerrado en
generar problemas de rendimiento en
todas las rutas
el sistema.
Un método invoca a System.exit().
Método dudoso Esto evita la invocación de código
1
Bad practice utilizado desde otro sistema. Debe ser
utilizado en casos específicos.
Algunas clases de tipo Serializable
definen un campo de instancia no
Definición
primitivo que no es transitorio,
incorrecta de la 130
Serializable ni java.lang.Object. Los
clase serializable
objetos de esta clase no se
deserializarán correctamente.
Llamar a this.getClass ().
GetResource (...) podría dar
Herencia insegura 72 resultados diferentes a los esperados
si esta clase es extendida por una
clase en otro paquete.

~1~
En general, si un método abre un
Obligación
flujo u otro recurso, el método debe
insatisfecha de
usar un bloque try / finally para
Experimental limpiar la 10
asegurar que el flujo o el recurso se
corriente o el
limpien antes de que el método
recurso
regrese.

Una cadena se está convirtiendo a


mayúsculas o minúsculas, utilizando
Internationaliz Método dudoso la codificación predeterminada. Se
2 recomienda utilizar:
ation utilizado
 String.toUpperCase
 String.toLowerCase
Los campos estáticos mutables se
Malicious code Campo estático
186 pueden cambiar por código malicioso
vulnerability mutable
o por accidente de otro paquete.
Si es posible, las clases deben
convertirse en una clase interna
La clase interna estática. Dado que las clases internas
podría hacerse 8 anónimas no se pueden marcar como
estática estáticas, esto requerirá refactorizar
la clase interna para que sea una clase
interna con nombre.
El método privado Métodos privados que nunca se
7
Performance nunca se llama llaman. Beben ser eliminados.
Se puede obtener un mejor
Concatenación de rendimiento utilizando un
cadenas en bucle StringBuffer (o StringBuilder en Java
16
utilizando el 1.5) explícitamente.
operador +
Más info.
Campos nunca leídos. Considera
Campo no leído 2
removerlos de las clases.
El método invoca el método de
Posible problema ejecución o addBatch en una
Security 148
de SQL. instrucción SQL con una cadena que
parece ser generada dinámicamente
Dodgy code Esta conversión no está marcada, y
Malos moldes de
no todas las instancias del tipo
referencias de 2
emitido desde se pueden convertir al
objetos
tipo al que se está convirtiendo.
Esta instrucción asigna un valor a una
Tienda local variable local, pero el valor no se lee
9
muerta ni se usa en ninguna instrucción
posterior.
Mal uso de los 199 Este método de instancia escribe en

~2~
un campo estático. Esto es difícil de
corregir si se están manipulando
campos estáticos
múltiples instancias, y generalmente
es una mala práctica.
Este método contiene una
Comparación comprobación redundante de un
15
redundante a nula valor no nulo conocido con respecto a
la constante nula.
Esta operación compara dos valores
de punto flotante para la igualdad.
Prueba de
Debido a que los cálculos de punto
igualdad de punto 1
flotante pueden implicar redondeo,
flotante
los valores flotantes y dobles
calculados pueden no ser exactos.
Este campo nunca se lee. El campo es
público o está protegido, por lo que
Campo no leído 1 quizás esté destinado a usarse con
clases que no se consideran parte del
análisis.
Este campo nunca se utiliza. El
campo es público o está protegido,
Campo no por lo que quizás esté destinado a
2
utilizado usarse con clases que no se
consideran parte del análisis. Si no,
considere eliminarlo de la clase.
Esta condición siempre produce el
mismo resultado que el valor de la
Código inútil 2 variable involucrada se redujo antes.
Probablemente algo más fue querido
o la condición puede ser eliminada.

~3~

Potrebbero piacerti anche