JRipples
   HOME

TheInfoList



OR:

JRipples is a
change impact analysis Change impact analysis (IA) or impact analysis is the analysis of changes within a deployed product or application and their potential consequences. Change impact analysis is defined by Bohnner and Arnold as "identifying the potential consequenc ...
tool for the
Java programming language Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers ''write once, run anywh ...
. It helps a developer calculate the impact of software change. It is an open source
Eclipse An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
plug-in. The tool not only give relevant program analysis, but it also organizes the steps of change propagation. When a change is made to software, the change will quite often have an undesirable or unintended impact on the software as a whole. During a change, JRipples can be run to assist the developer in identifying the impact of the change. This tool analyzes a program and marks classes which need attention from the developer. The developer will then visit each marked class and decide if the impact requires refactoring or not. This frees the developer from trivial duties, so they can be more effective.


History

JRipples was developed by Maksym Petrenko starting 2005. Petrenko was a member of SEVERE group of the
Wayne State University Wayne State University (WSU) is a public research university in Detroit, Michigan. It is Michigan's third-largest university. Founded in 1868, Wayne State consists of 13 schools and colleges offering approximately 350 programs to nearly 25,000 ...
Department of Computer Science in Detroit, Michigan. The research and implementation was done during his doctoral studies. It is maintained by Laurentiu Radu Vanciu


Simple example

JRipples integrates into the
Eclipse An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
menu toolbar. To start an analysis the user selects JRipples -> Start Analysis. This will provide a popup window for the developer to select a project. The tool will then analyze the project and present a menu with classes to be inspected. After the analysis a JRipples Hierarchical View will appear. For this example there is only a single class "Main" to be analyzed, which is mark "next" in green. After the developer visits the Main class, three options are presented by right clicking on the green "Next". They are "Located", "Propagating" and "Unchanged". For this example we shall assume the change propagated to other classes. After selecting "Propagating" from the right click menu, JRipples identified four more classes which the change may have propagated to, and marked them "Next". The developer will then visit each of those classes to determine if the change has propagated into those classes or not. If the change does not require the class to be modified the class will be marked "Unchanged" and the developer will move on to another class marked "Next". After the developer has iterated through all marked classes and identified if change is necessary, they are then able to organize their actions to most effectively complete the change request.


Additional features

JRipples includes two features to make a developer's search more direct:
Lucene Apache Lucene is a free and open-source search engine software library, originally written in Java by Doug Cutting. It is supported by the Apache Software Foundation and is released under the Apache Software License. Lucene is widely used as a ...
and
GREP grep is a command-line utility for searching plain-text data sets for lines that match a regular expression. Its name comes from the ed command ''g/re/p'' (''globally search for a regular expression and print matching lines''), which has the sam ...
analysis. To use these tools, the developer only has to right-click in the JRipples Hierarchical View and select either tool in the pop-up menu. The GREP tool may be used like a customary GREP tool, however JRipples will rank each class based on the number of hits from the GREP. This information should help developers; they are able to start with the most or fewest hits, depending on their strategy. The Lucene tool is more intelligent. The first time a developer uses the Lucene tool, the project will need to be indexed, which may take a significant amount of time if the project is large. However, after indexing the tool may be used multiple times. After indexing, the tool works in a similar way: a word or string of text is entered into the search pop-up and the tool searches. However, now the tool ranks each class not just by how many times the search query appears in the class, but how it is used. To start with, it assumes that if a query is only used once in a class it must be important. However, it also takes other factors into account. The end result is that the classes are given a decimal number rank indicating the most likely to contain the concept.


Bugs

Version 3.2.0 has a known bug, it has a fatal error when run on Eclipse IDE for Java EE for Web Developers, Build id: 20090920-1017. It will however, work with the standard Java Developers version along with many older versions of Eclipse.


References


External links


JRipples Homepage
{{DEFAULTSORT:Jripples Java development tools Extreme programming Free software programmed in Java (programming language) Cross-platform software