Llegamos a ustedes gracias a:



Noticias

La propuesta de Java detectaría las data races con un thread sanitizer

[30/11/2018] La máquina virtual HotSpot de Java puede equiparse con una herramienta de detección de races y otras capacidades de monitoreo, bajo una propuesta que se está planteando en la comunidad OpenJDK. Una data race en un programa de Java hace que el programa se sincronice incorrectamente, lo cual conduce a conductas erróneas, no deterministas e inesperadas.

La iniciativa, llamada Proyecto Atlantis, exploraría las posibilidades de integrar HotSpot y la interfaz de la herramienta JVM con capacidades de análisis y monitoreo del desempeño. Fundamental en la propuesta es evaluar e incubar un thread sanitizer, que podría proporcionar un detector dinámico de data race para el código Java y JNI.

Los participantes del Proyecto Atlantis notan que hay un proyecto de thread sanitizer existente para OpenJDK. Con ese thread sanitizer, se detectarían las data races en una sola ejecución, se encontrarían todas las races y ningún data race falso.

La propuesta del Proyecto Atlantis, de Jean Christophe Beyler de Google, afirma que el equipo de la plataforma de Google ha aumentado o añadido mecanismos para que los usuarios de Google Java evalúen las métricas incluyendo un thread sanitizer y perfiles de contención de bloqueo para entender mejor donde es que gastan el tiempo los subprocesos en los bloqueos. El equipo también ha trabajado en mecanismos de volcado de montones para mejorar los tiempos de volcado para grandes montones y etiquetado eficiente de subprocesos para ayudar en el perfilado de filtros.

El Proyecto Atlantis consideraría cómo estos cambios se podrían hacer lo suficientemente generales, si deberían eliminarse, o si implementarlos utilizando otros mecanismos existentes.