Detección automatizada de corrupción de memoria a través del análisis de variables estáticas y uso de memoria dinámica
Autores: Park, Jihyun; Choi, Byoungju; Kim, Yeonhee
Idioma: Inglés
Editor: MDPI
Año: 2021
Acceso abierto
Artículo científico
2021
Detección automatizada de corrupción de memoria a través del análisis de variables estáticas y uso de memoria dinámica
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Métodos
Detección de fallos de memoria
Defectos de memoria
Corrupción de memoria
Bloqueos del sistema
Depuración.
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 33
Citaciones: Sin citaciones
Varios métodos para la detección de fallas de memoria han sido desarrollados a través de un estudio continuo. Sin embargo, muchas fallas de memoria permanecen que son difíciles de resolver. La corrupción de memoria es una de esas fallas, y puede causar bloqueos del sistema, lo que hace que la depuración sea importante. Sin embargo, las ubicaciones del bloqueo del sistema y la fuente real de la corrupción de memoria a menudo difieren, lo que dificulta resolver estas fallas utilizando los métodos existentes. En este documento, proponemos un método que detecta fallas de memoria en las que la ubicación que causa la falla es diferente de la ubicación real, proporcionando información útil para la depuración. Este estudio presenta un método para la detección en tiempo real de fallas de memoria en software basado en datos obtenidos a través de análisis estático y dinámico. Los datos que utilizamos para el análisis de fallas de memoria fueron (1) información de variables globales estáticas (datos, dirección, tamaño) derivadas a través del análisis de archivos binarios ejecutables, y (2) información de uso de memoria dinámica obtenida mediante el seguimiento de funciones relacionadas con la memoria que se llaman durante la ejecución en tiempo real del proceso. Implementamos el método propuesto como una herramienta y lo aplicamos a aplicaciones que se ejecutan en Linux. Los resultados indican la eficacia de detección de defectos de nuestra herramienta para esta aplicación. Nuestro método detecta con precisión defectos con diferentes causas y ubicaciones de fallos detectadas, y también requiere un costo muy bajo para la detección de fallas.
Descripción
Varios métodos para la detección de fallas de memoria han sido desarrollados a través de un estudio continuo. Sin embargo, muchas fallas de memoria permanecen que son difíciles de resolver. La corrupción de memoria es una de esas fallas, y puede causar bloqueos del sistema, lo que hace que la depuración sea importante. Sin embargo, las ubicaciones del bloqueo del sistema y la fuente real de la corrupción de memoria a menudo difieren, lo que dificulta resolver estas fallas utilizando los métodos existentes. En este documento, proponemos un método que detecta fallas de memoria en las que la ubicación que causa la falla es diferente de la ubicación real, proporcionando información útil para la depuración. Este estudio presenta un método para la detección en tiempo real de fallas de memoria en software basado en datos obtenidos a través de análisis estático y dinámico. Los datos que utilizamos para el análisis de fallas de memoria fueron (1) información de variables globales estáticas (datos, dirección, tamaño) derivadas a través del análisis de archivos binarios ejecutables, y (2) información de uso de memoria dinámica obtenida mediante el seguimiento de funciones relacionadas con la memoria que se llaman durante la ejecución en tiempo real del proceso. Implementamos el método propuesto como una herramienta y lo aplicamos a aplicaciones que se ejecutan en Linux. Los resultados indican la eficacia de detección de defectos de nuestra herramienta para esta aplicación. Nuestro método detecta con precisión defectos con diferentes causas y ubicaciones de fallos detectadas, y también requiere un costo muy bajo para la detección de fallas.