IBM Rational Software Analyzer IBM Rational Software Analyzer Introduction to Rational Software Analyzer This module will cover an Introduction to IBM Rational® Software Analyzer versions 7.0 and higher. Module objectives 2 Module objectives What does Rational Software Analyzer do? What is Eclipse? What is a Plug-in? What can go wrong in the plug-in environment This course covers four topics. The first topic outlines what Rational Software Analyzer does. The last three topics cover what Eclipse and a plug-in is and what can go wrong in the plug-in environment. When you complete this module, you will have an overview of what Rational Software Analyzer is used for. What is Rational Software Analyzer? What is Rational Software Analyzer? The goal: Bring governance to an area of software where it previously was not which is writing code. Through the creation of rules, it makes possible to create and enforce programming practices and guidelines, which makes better code quality. Additionally Rational Software Analyzer allows for easy reporting by compiling the rule compliance statistics and running reports against the results. This product that has gone through many name changes. It is now known as Rational Software Analyzer. It is a product designed to bring governance to a part of software development that it did not have in the past. Namely the actual code that was getting checked into source control. Previously, the only control that was put on the code, was to check to see if it had been compiled or not. It was untenable to determine if coding best practices were being followed, or if internal guidelines were being followed. Since it was impossible to determine those things, it was also impossible to report on it. This left management without a clear picture of what the code health is. Through Rational Software Analyzer, it is possible to track and report on all aspects of the coding process. What is Software Analyzer? (continued) What is Software Analyzer? (continued) Foundations of Rational Software Analyzer Rational Software Analyzer is a collection of plug-ins for Eclipse. The actual product is dependent on a functioning Eclipse shell for Rational Software Analyzer to be installed into. This can be problematic as many IBM products include an Eclipse shell, into which Rational Software Analyzer can be installed. Getting two eclipse applications to install into a single Eclipse shell, is called shell-sharing. Rational Software Analyzer is a collection of plug-ins designed to be installed into an Eclipse shell. Rational Software Analyzer can be installed into the default shell that is shipped with Rational Software Analyzer, or it can be installed into any of the other IBM Eclipse shells that are available. However, when attempting to install Rational Software Analyzer into a previous existing shell, it can become complicated if there are conflicts between the plug-ins in a particular shell. What is Eclipse/plug-in? What is Eclipse/plug-in? Eclipse is an open source Java-based IDE. It is extensible through the implementation of plug-ins. Plug-ins are so named because they describe implementations that ‘plug’ into the base Eclipse shell and describe new functionality. Plug-ins can additionally describe extension points where additional plug-ins can be entered Eclipse is an open source IDE. Its main strength is its open API that allows you to write new or revised functionality by the implementation of plug-ins and extensions. The plug-ins use the Eclipse API to ‘plug’ into extensions in the shell and create the new functionality. The relationship of extension and plug-in allows for layers of custom functionality, with layer built upon layer. This is the effect that can cause Rational Software Analyzer difficulty when attempting to shell-share with another Eclipse-based application. What can go wrong in the plug-in environment What can go wrong in the plug-in environment Increasingly complex as more plug-ins are added Other plug-ins and plug-in versions are required to make it run. Installation problems often caused by plug-in conflicts arising from mismatched plug-in requirements. The chain relationship can cause problems as plug-ins will require a specific extension to plug into. Different Eclipse shells can have different versions of the plug-ins and therefore different extensions. This is where there can be shell sharing conflicts when different plug-in versions are not matching up. For example, you have a set of plug-ins that requires plug-in A to be version 1.4, but you attempt to install another set of plug-ins built on plug-in A 1.5. There can be a conflict that does not allow both to be installed simultaneously. Plug-ins can be fragile in this way in that they require a specific set of plug-ins installed beforehand to make it work. This can cause problems if you attempt to install into a shell with a different plug-in environment than the Rational Software Analyzer default shell. Plug-ins are written with a set of rules in them that outline the requirements of the plug-ins. . Summary 7 Summary Rational Software Analyzer is a set of Eclipse plug-ins that can be installed in any Eclipse shell. The stand-alone install includes its own Eclipse shell and will install into that shell by default. If there are problems with the installation, it is likely that an attempt to shell-share caused plug-in conflicts. This module provided an overview of what Rational Software Analyzer is. You are now familiar with Eclipse and the plug-in environment. And finally you have an understanding of what can go wrong in the plug-in environment. Additional resources 8 Additional resources Additional resources on ibm.com http://www-01.ibm.com/software/awdtools/swanalyzer/enterprise/index.html http://www-01.ibm.com/software/awdtools/swanalyzer/enterprise/support/ http://www.ibm.com/developerworks/rational/library/08/0429_gutz1/index.html?S_TACT=105AGX54&S_CMP=B0612 Additional resources are located on the ibm.com Web site. There is also an article on “Static analysis IBM Rational Software Analyzer: Getting started” which is located on DeveloperWorks. Feedback Feedback Your feedback is valuable You can help improve the quality of IBM Education Assistant content to better meet your needs by providing feedback. Did you find this module useful? Did it help you solve a problem or answer a question? Do you have suggestions for improvements? Click to send e-mail feedback: mailto:iea@us.ibm.com?subject=Feedback_about_rsar_intro.ppt This module is also available in PDF format at: ../rsar_intro.pdf You can help improve the quality of IBM Education Assistant content by providing feedback. Trademarks