JRipples es una herramienta de análisis del impacto de los cambios en el lenguaje de programación Java . Ayuda a los desarrolladores a calcular el impacto de los cambios en el software. Es un complemento de Eclipse de código abierto . La herramienta no solo ofrece un análisis relevante del programa, sino que también organiza los pasos de propagación del cambio. [1]
Cuando se realiza un cambio en el software, es muy probable que el cambio tenga un impacto no deseado o no deseado en el software en su conjunto. Durante un cambio, se puede ejecutar JRipples para ayudar al desarrollador a identificar el impacto del cambio. Esta herramienta analiza un programa y marca las clases que requieren la atención del desarrollador. Luego, el desarrollador visitará cada clase marcada y decidirá si el impacto requiere refactorización o no. Esto libera al desarrollador de tareas triviales, por lo que puede ser más eficaz.
JRipples fue desarrollado por Maksym Petrenko a partir de 2005. Petrenko fue miembro del grupo SEVERE del Departamento de Ciencias Informáticas de la Universidad Estatal de Wayne en Detroit, Michigan. La investigación y la implementación se realizaron durante sus estudios de doctorado. El mantenimiento corre a cargo de Laurentiu Radu Vanciu.
JRipples se integra en la barra de herramientas del menú de Eclipse . Para iniciar un análisis, el usuario selecciona JRipples -> Iniciar análisis.
Esto proporcionará una ventana emergente para que el desarrollador seleccione un proyecto. Luego, la herramienta analizará el proyecto y presentará un menú con las clases que se deben inspeccionar. Después del análisis, aparecerá una vista jerárquica de JRipples. Para este ejemplo, solo hay una única clase "Principal" para analizar, que está marcada como "siguiente" en verde.
Después de que el desarrollador visita la clase principal, se presentan tres opciones al hacer clic derecho en el botón verde "Siguiente". Son "Ubicado", "Propagando" y "Sin cambios". Para este ejemplo, asumiremos que el cambio se propagó a otras clases.
Después de seleccionar "Propagar" en el menú del botón derecho, JRipples identificó cuatro clases más a las que el cambio puede haberse propagado y las marcó como "Siguiente". Luego, el desarrollador visitará cada una de esas clases para determinar si el cambio se ha propagado a ellas o no. Si el cambio no requiere que se modifique la clase, la clase se marcará como "Sin cambios" y el desarrollador pasará a otra clase marcada como "Siguiente".
Una vez que el desarrollador ha iterado a través de todas las clases marcadas e identificado si es necesario realizar algún cambio, puede organizar sus acciones para completar la solicitud de cambio de manera más efectiva.
JRipples incluye dos funciones para que la búsqueda del desarrollador sea más directa: Lucene y análisis GREP . Para utilizar estas herramientas, el desarrollador solo tiene que hacer clic derecho en la vista jerárquica de JRipples y seleccionar cualquiera de las herramientas en el menú emergente.
La herramienta GREP se puede utilizar como una herramienta GREP normal, pero JRipples clasificará cada clase en función de la cantidad de resultados de GREP. Esta información debería ayudar a los desarrolladores, que pueden comenzar con la mayor o menor cantidad de resultados, según su estrategia.
La herramienta Lucene es más inteligente. La primera vez que un desarrollador utiliza la herramienta Lucene, el proyecto deberá indexarse, lo que puede llevar una cantidad significativa de tiempo si el proyecto es grande. Sin embargo, después de la indexación, la herramienta puede usarse varias veces. Después de la indexación, la herramienta funciona de manera similar: se ingresa una palabra o cadena de texto en la ventana emergente de búsqueda y la herramienta realiza la búsqueda. Sin embargo, ahora la herramienta clasifica cada clase no solo por la cantidad de veces que aparece la consulta de búsqueda en la clase, sino por cómo se usa. Para comenzar, asume que si una consulta solo se usa una vez en una clase debe ser importante. [2] Sin embargo, también tiene en cuenta otros factores. El resultado final es que a las clases se les asigna un rango numérico decimal que indica cuál es la que tiene más probabilidades de contener el concepto.
La versión 3.2.0 tiene un error conocido: genera un error fatal cuando se ejecuta en Eclipse IDE para Java EE para desarrolladores web, ID de compilación: 20090920-1017. Sin embargo, funcionará con la versión estándar de Java Developers junto con muchas versiones anteriores de Eclipse.