What's new in IBM Rational Software Analyzer Version 7.1

Features that help you centralize, automate, and govern software development

Learn about the new software integration, programming language support, and technology support in Version 7.1 of IBM Rational Software Analyzer. This extensible software helps you review software code, identify bugs, and enforce code quality policy early in the software development cycle, when problems are easier and less expensive to correct.

Share:

Jon (Scott) S. Nordstrom (jsnordst@us.ibm.com), Senior Product Manager, Rational Software Analyzer, IBM

Jon (Scott) NordstromScott Nordstrom is a Sr. Product Manager for IBM Rational Software Analyzer. He is responsible for defining and implementing the overall product strategy for this product line within the Rational development organization. Before joining IBM Rational, Scott was inbusiness development and corporate strategy roles at BMC Software and held various senior management roles for several software start-up companies in Austin, Texas.



14 July 2009

Also available in Chinese Spanish

IBM® Rational® Software Analyzer is an automated code quality framework that helps you measure and improve the quality of applications through the development lifecycle. The high costs associated with field software defects are driving companies to identify and address defects earlier, while the software is still in development, because fixing problems later costs more.

Rational Software Analyzer includes a central framework that can integrate third-party code analysis tools with reporting capabilities for governance and compliance, as well as automated integrations with other IBM Rational products, such as IBM® Rational® Application Developer Version 7.5 and IBM® Rational® AppScan® Developer Edition. It is a simple but powerful tool for teams that want to automate code quality analysis and deliver better-quality software. Version 7.1 is enhanced by several significant new features:

  • Integration with IBM Rational Team Concert, which runs on the Jazz platform
  • Deeper analysis for C/C++ languages
  • Technology support updates

Integration with Rational Team Concert

Rational Software Analyzer seamlessly integrates with Rational Team Concert and adds continuous quality checks, automated code scans, and visibility into overall code quality for improved enforcement of best practices. This assists in optimizing agile development and achieving other goals:

  • Optimize development and ensure code quality policy adherence through the integration of automated code quality reviews throughout the development lifecycle
  • Improve management visibility into the health of development projects by leveraging the ability to manage code reviews, metrics, and measurements
  • Break down barriers and improve communication between developers and business stakeholders through the collaboration benefits of Rational Team Concert
  • Improve end-user satisfaction, while driving down maintenance and development costs
  • Increase team performance through learned best practices and team collaboration

Optimize development by automating code quality reviews early

Timely, accurate communication among disparate teams is critical to controlling project timelines, risks and costs. That's why it is critical to implement governance and compliance as early as possible and to make sure that consistent code review processes are followed throughout the organization.

Rational Software Analyzer, coupled with Rational Team Concert, provides those stakeholders with an automated way to insert code quality policies and standards throughout the development and delivery processes. This, in turn, helps development teams detect — and, in most cases, correct — problems during the coding phase. Think of it as spelling and grammar checking for people who write code. Using these two tools together adds these capabilities:

  • A rich set of included programming rules that development teams can use to review code
  • An extensible framework for development teams to create custom rules and reports to help enforce your company's coding practices (see Figure 1), as well as to plug in other analysis products for centralized management of third-party products
  • Automated and centralized code scans that incorporate code quality analysis into existing build processes, thereby adding an additional layer of static analysis quality checks
  • Greater ability to manage code review, measurements, and metrics to determine overall health of development projects
Figure 1. Rational Team Concert view of Rational Software Analyzer enforcing a configured rule
Project Area view

Enhance collaboration between developers and stakeholders

Integrating Rational Software Analyzer and Rational Team Concert encourages collaboration. By making it easier to share best practices and adhere to quality policies, you also improve the performance of the team. Aside from the likelihood of improving the quality of the code, using this combination provides several benefits:

  • Automated monitoring of the code review process. Teams can insert code quality reviews into the software development process, and then use Rational Software Analyzer to configure code quality rules in their own integrated development environments (IDEs). This simplifies the process and enables developers to produce higher-quality code, regardless of their levels of development expertise. Plus, managers can track the progress of each developer's adherence to code policies by using preconditions set by the Rational Team Concert administrator through rules configured in Rational Software Analyzer (see Figure 2).
  • Collaboration. By using shared data rule sets, teams can better collaborate and share information that is essential for meeting corporate coding standards.
  • Incremental analysis. This approach looks at previous scans and analyzes only the code that has been changed since the previous analysis, thereby dramatically reducing the time required to identify code quality issues.
Figure 2. Integration helps teams collaborate and share preconfigured rule sets
Operation behavior view in Rational Team Concert

Click to enlarge


Deeper analysis for C/C++ languages

With the addition of more C/C++ rule sets, the multi-language analysis capabilities are stronger in Version 7.1, too. This means that Rational Software Analyzer now delivers a strong set of analysis capabilities across the most widely used languages. The use of one tool to effectively analyze multiple language code bases results in substantial advantages:

  • Increased quality
  • Reduced development and testing costs
  • Faster time to market
  • Increased customer revenues

If you are looking for broader and deeper analysis of your C/C++ code can now dive even deeper into the analysis of your code through automated scans, without having to make any changes to your code. This deep analysis for C/C++ provides parity with the Java™ rules and produces a complete understanding of your C/C++ source code, as Figure 3 shows. This deep analysis includes these categories:

  • Data flow analysis examines compiled code to identify potential memory and resource problems. Data flow analysis can examine problems that span multiple classes. For example, one class may open a stream and pass it to another class to read information from a file. If neither class closes the stream, the result will be a file resource leak. (See Figure 3.)
  • Architectural discovery examines the relationships between different source files (typically classes) to build a map of the overall architecture of a program. Dependency tools are commonly used to discover known design patterns (good) or common anti-patterns (bad).
  • Software metrics and complexity analysis tools compare program code to established software metrics to determine whether it is unnecessarily complex. If a particular piece of source code exceeds a given threshold, it is flagged as a candidate for refactoring to improve maintainability.
Figure 3. C/C++ Data flow analysis snapshot
PropertyList.cpp example

Click to enlarge


Technology support updates

Operating system support updates

Rational Software Analyzer 7.1 now supports the following operating systems:

  • Microsoft® Windows® XP Professional with Service Pack 1 or 2
  • Microsoft® Windows Vista® Business, Windows Vista Enterprise, and Windows Vista Ultimate
  • Microsoft Windows 2003 Server with Service Pack 2 (32-bit mode)
  • Microsoft Windows 2008 Server with Service Pack 2 (32-bit mode)
  • Red Hat Enterprise Linux® Server Versions 4.0 and 5.0 (32-bit mode)
  • Red Hat Enterprise Linux Desktop Versions 4.0 and 5.0 (32-bit mode)
  • SUSE Linux Enterprise Server (SLES) Versions 9 and 10 (32-bit mode)
  • SUSE Linux Enterprise Desktop (SLED) Versions 9 and 10 (32-bit mode)
  • IBM® AIX® Version 5.3

These operating systems support all of the languages that Rational Software Analyzer supports.

Software requirements for extending an existing Eclipse IDE

IBM Rational Software Analyzer 7.1 was developed for use with Version 3.4.2 of the Eclipse IDE. Therefore, you can extend only an existing Eclipse Version 3.4.2 IDE with the latest updates from eclipse.org.

Important:
To enable Windows Vista users who do not have Administrator privileges to work with Rational Software Analyzer, do not install SUSE Linux Enterprise Service 10, Service Pack 2 (see IBM® System z®: S390x).

Resources

Learn

Get products and technologies

Discuss

Comments

developerWorks: Sign in

Required fields are indicated with an asterisk (*).


Need an IBM ID?
Forgot your IBM ID?


Forgot your password?
Change your password

By clicking Submit, you agree to the developerWorks terms of use.

 


The first time you sign into developerWorks, a profile is created for you. Information in your profile (your name, country/region, and company name) is displayed to the public and will accompany any content you post, unless you opt to hide your company name. You may update your IBM account at any time.

All information submitted is secure.

Choose your display name



The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerWorks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

Required fields are indicated with an asterisk (*).

(Must be between 3 – 31 characters.)

By clicking Submit, you agree to the developerWorks terms of use.

 


All information submitted is secure.

Dig deeper into Rational software on developerWorks


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Rational, Agile transformation
ArticleID=407673
ArticleTitle=What's new in IBM Rational Software Analyzer Version 7.1
publish-date=07142009