ThreadSafe es una herramienta de análisis de código fuente que identifica riesgos de aplicación y vulnerabilidades de seguridad asociadas con la concurrencia en bases de código Java, utilizando análisis interprocedimental de programa completo. [ 1 ] [ 2 ] [ 3 ] [ 4 ] ThreadSafe se utiliza para identificar y evitar fallos de software en aplicaciones concurrentes que se ejecutan en entornos complejos. [ 1 ] [ 2 ] [ 5 ] [ 6 ]
Características
ThreadSafe detecta defectos de concurrencia en Java: [ 2 ] [ 3 ] [ 4 ]
- Condiciones de carrera : que dan lugar a un comportamiento incorrecto o impredecible que resulta difícil de reproducir en un depurador.
- Interbloqueos [ 7 ] – causados por esperas circulares entre hilos que esperan recursos compartidos.
- Resultados impredecibles, causados por un manejo incorrecto de colecciones concurrentes, un mal manejo de errores o una sincronización mixta de objetos.
- Cuellos de botella en el rendimiento, causados por un uso incorrecto de la API, una sincronización redundante y el uso innecesario de estados mutables compartidos.
ThreadSafe está integrado con el entorno de desarrollo de software Eclipse y con la plataforma de gestión de calidad de software SonarQube . Se proporciona información contextual dentro del entorno de desarrollo para ayudar al desarrollador a investigar y resolver problemas de concurrencia, directamente en el código. [ 2 ] [ 3 ] [ 4 ] Hay una versión de línea de comandos disponible para usuarios de IDE distintos de Eclipse y para la integración en el proceso de compilación.
Verificación del cumplimiento de las normas
ThreadSafe detecta violaciones de las reglas relacionadas con la concurrencia en el estándar de codificación segura CERT Oracle para Java. [ 8 ]
Véase también
Referencias
- 1 2 Grazi, Victor (28 de agosto de 2013). "La herramienta de análisis estático de concurrencia ThreadSafe anuncia su primera versión pública" . InfoQ.com.
- 1 2 3 4 Taft, Darryl (4 de septiembre de 2013). "Contemplate ofrece una herramienta de análisis estático de concurrencia Java segura para subprocesos" . DevX.com.
- 1 2 3 Atkey, Robert (14 de enero de 2014). "Descubra y diagnostique problemas de concurrencia en Java utilizando ThreadSafe de Contemplate" . InfoQ.com.
- 1 2 3 Atkey, Robert; Sannella, Donald ( 2015). "ThreadSafe: Análisis estático para la concurrencia en Java". Comunicaciones electrónicas de la EASST . 72. doi : 10.14279/tuj.eceasst.72.1025.995 .
- ↑ Roy, Ritobaan (1 de mayo de 2013). "Errores de software: Informe sobre nuevas tecnologías para directores financieros" . CFO Insight. Archivado del original el 14 de octubre de 2013.
- ↑ Rubens, Paul (12 de marzo de 2014). "Por qué las pruebas de software no pueden salvarte de los desastres informáticos" . Referencia a ThreadSafe en la página 2. CIO.com. Archivado del original el 14 de marzo de 2014. Recuperado el 18 de abril de 2014 .
- ↑ Raible, Matt (26 de junio de 2014). "Contemplate ThreadSafe introduce la detección de interbloqueos" . InfoQ.com.
- ↑ "Estándar de codificación SEI CERT Oracle para Java" . Instituto de Ingeniería de Software, Universidad Carnegie Mellon . Consultado el 18 de marzo de 2016 .
Enlaces externos
- Sitio web oficial
- Hilos (informática)
- Herramientas de desarrollo Java
- Herramientas de análisis estático de programas
- Herramientas de programación informática