Saturday 22 February 2014

Static Code Analyzers - Google CodePro AnalytiX - Why is it premium eclipse plugin for java developers?

Important Note: Looks like original Codepro urls are not accessible anymore. It is highly likely that Google has removed it from its dev products list. Still if you want to experiment lastly released Codepro Analytix version for Eclipse 3.7, you can refer Codepro plugin download url from dropbox in my comment of this post.

------

I hope, you have already read "Preface" of my static code analyzers series.

How meticulous are you about the quality of the java code you deliver? Instead of just depending on your own knowledge or manual peer code review, do you perform self code audit using tools?

Do you use or aware about static code analyzers for code review such as Checkstyle, PMD, FindBugs? If not, then read my previous post - Checkstyle, PMD, FindBugs - Are those alternatives or not?.

In this post, I would focus to answer - why CodePro AnalytiX is highly supportive eclipse plug-in for java developers to improve code quality of software effectively?

Straight from the horse's mouth

CodePro AnalytiX is the premier Java software testing tool for Eclipse developers who are concerned about improving software quality and reducing developments costs and schedules. The Java software audit features of the tool make it an indispensable assistant to the developer in reducing errors as the code is being developed and keeping coding practices in line with organizational guidelines. The ability to make corrections to the code immediately can dramatically reduce developments costs and improve the speed of finished product delivery. Join the ranks of top software industry leaders and the Fortune 500 who have standardized around CodePro Analytix as the most cost effective fully featured tool in the industry.

My Personal Feedback
  • When to use and key features?
    • You must consider to adopt it in routine development life, if you (1) are Java/J2EE developer (2) use Eclipse IDE for development (3) have not adopted other  single tool or  multiple tools offering range of features which are similar to features of CodePro AnalytiX tool.
  • Initial learning curve and ease-of-use, Setup requirements?
  • Cost (Free or Commercial)?
    • Free
  • Limitations / Challenges?
    • Codepro plugin is available to install in Eclipse 3.4 (Ganymede) to Eclipse 3.7 (Indigo) only as on 22-Feb-2014. That means, officially Codepro plugin download is not available for Eclipse Juno or Eclipse Kepler or latest version of Eclipse! When I installed available "Eclipse 3.7 (Indigo) Codepro plugin" in Eclipse Kepler, that works without any noticeable problem (as shown further in practical shot). You would get warning message something like "Codepro product version is incorrect for this version of Eclipse", so just select to suppress this warning message.
    • The biggest downside of CodePro AnalytiX is that, it is not targeted to upgrade for long time to support latest Eclipse IDE and Java programming features. For example, sadly it may not assist developers to code effectively for new functional programming features of Java 8 and so on. At this stage it looks like, the awesome CodePro AnalytiX tool will become obsolete gradually. However exact future directions are always unpredictable!

Practical Shot

For demonstration purpose, I highlighted my favorite top 3 features of CodePro Analytix on the code of one of open source project, which I used in past (MockMock: a cross-platform SMTP server built on Java which allows you to mock email sending functionality and to see how emails look like).

  • Configure custom new rule set (e.g. XYZ project coding rules) and code audit using it. (STEP - 1 to 3)Go to Windows -> Preferences -> CodePro ->  Audit -> Rule Sets -> Add New -> Select applicable General and JEE rules -> Finish. This will add "XYZ project coding rules" rule set. (STEP - 4) Now right click your project and go to CodePro tools -> Audit using -> Select your custom rule set (e.g. "XYZ project coding rules") from the available audit rule sets -> OK. (STEP - 5) Wow, here it gives you the code review results along with axiomatic recommendations in CodePro "Audit" view. You can group by results using options like group by rule sets, severity, resources, authors.

  • Measure and report on key quality indicators in a body of Java source code. Right click your project and go to CodePro tools -> Click Compute Metrics option. It would show "Metrics" view.

  • Perform Dependency Analysis. Right click your project and go to CodePro tools -> Click Analyze Dependencies option. It would show "Dependencies" view. (1) depicts the dependencies between selected "spring-mock-smtp" project and external jar libraries used in the project, for example the "spring-mock-smtp" project has 15 outgoing reference counts to "spring-beans-*.jar" library (2) If you click the project (e.g. spring-mock-smtp), it would show dependencies among packages of the project. The red color depicts the circular dependencies, which is indication of design smell. (3) If you click package (e.g. com.mockmock.htmlbuilder), it would show dependencies among internal entities like classes and interfaces.

  • The remaining features are also amazing and it provides ability to generate HTML reports for offline analysis. Refer CodePro AnalytiX documentation, if you are exited to evaluate and understand CodePro Analytix  in better way!

My Final Thoughts
  • Google's CodePro AnalytiX is unique and awesome FREE offering powered by Eclipse technology, which Java developers must use or at least be aware. It’s pretty simple, because just install its Eclipse plugin and start using it. It's one of the excellent tool to perform self or peer code review effectively at this stage.

  • You may favor widely known SonarQube (Sonar)  tool instead of CodePro Analytix, which is also powerful like CodePro AnalytiX and having even some more capabilities. But to use Eclipse SonarQube plugin, it demands to setup SonarQube server using supported Database (i.e. MySQL, MSSQL, etc.) to get started. Once SonarQube server is setup, certainly you can easily use SonarQube plugin or may integrate it with other tools like Maven (build), Jenkins (CI), etc… But still if any developer wants to leverage code quality in simplest form, then CodePro AnalytiX is one of the best tool I have experienced.

  • While promoting usage of Codepro AnalytiX in this post - By keeping the cost factor in mind, I have not counted some of excellent commercial expensive architectural and code quality management tools such as jArchitect, Structure101, Lattix for Java and many more.

History


  • 26/Jun/16 - Added important note in the beginning of the post.

Disclaimer
I don't aim to exploit code of any open source project or sample application, while I share my evaluation feedback of given tool on selected publicly available code. Also I am not biased to particular free or commercial tools, rather my objective is about sharing my own experience on set of tools.

Also Refer

7 comments:

  1. Thanks for the nice blog :-).

    I want to use JUNIT testcases generation using Code Pro Analytix. I am trying it by right-click on project->Code-Pro Tools-> Generate Testcases. But it is throwing lot of exceptions.

    1. Could you please let me know the download link of codepro analytix 3.7 which works?
    2. What Eclipse version should I use for successful JUNIT test generation for the source files?

    I was using Code pro 3.6 + Version: Mars.1 Release (4.5.1).

    !ENTRY com.instantiations.eclipse 4 0 2016-06-13 19:28:10.486
    !MESSAGE Failed during test case generation
    !STACK 0
    java.lang.NullPointerException
    at com.instantiations.assist.eclipse.junit.generation.util.UnitTestValueManager.

    (UnitTestValueManager.java:147)
    at com.instantiations.assist.eclipse.junit.generation.core.DefaultTypeTestGenerator.generateNewTestFor

    (DefaultTypeTestGenerator.java:311)
    at com.instantiations.assist.eclipse.junit.generation.core.DefaultTypeTestGenerator.generateTestFor

    (DefaultTypeTestGenerator.java:163)
    at com.instantiations.assist.eclipse.junit.generation.core.CompilationUnitTestGenerator.generateTestFor

    (CompilationUnitTestGenerator.java:172)
    at com.instantiations.assist.eclipse.junit.ui.util.NewTestCaseGenerator.generateTests

    (NewTestCaseGenerator.java:676)
    at com.instantiations.assist.eclipse.junit.ui.util.NewTestCaseGenerator.generateAllTestCases

    (NewTestCaseGenerator.java:319)
    at com.instantiations.assist.eclipse.junit.ui.util.NewTestCaseGenerator.generateTestCases

    (NewTestCaseGenerator.java:271)
    at com.instantiations.assist.eclipse.junit.generation.core.TestGenerationService

    $TestGenerationJob.generateTests(TestGenerationService.java:214)
    at com.instantiations.assist.eclipse.junit.generation.core.TestGenerationService

    $TestGenerationJob.runInWorkspace(TestGenerationService.java:190)
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:39)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)

    ReplyDelete
    Replies
    1. https://developers.google.com/java-dev-tools/codepro/doc/ - It looks like this original official link of Codepro is not accessible now. So, I guess that Google might have removed it from its products list and not supporting anymore. Even Codepro plugin download url is not accessible now.

      In that case, it could not be wise to use old Codepro version with latest Eclipse. Still, if you want to experiment Codepro with older supported Eclipse versions (3.6 and 3.7), you can download it from below dropbox url.

      https://www.dropbox.com/sh/nxl0ep3vi3x657h/AABTJ1zugfMF27PutpVb2g6Ra?dl=0
      (1) CodeProAnalytix_v7.1.0_UpdateSite_for_Eclipse3.6.zip --- This is for Eclipse 3.6
      (2) CodeProAnalytix_v7.1.0_UpdateSite_for_Eclipse3.7.zip --- This is for Eclipse 3.7

      Delete
  2. Nice article about static code analysis. very detailed and exact information given. Time taken for this article is highly appreciable.
    static code analysis benefits

    ReplyDelete
  3. Pretty great post. I simply stumbled upon your blog and wanted to mention that I have really loved surfing around your blog posts. Great set of tips from the master himself. Excellent ideas. Thanks for Awesome tips Keep it
    dragon-naturally-speaking-crack
    jarchitect-2019-crack
    easeus-todo-backup-advanced-server-crack
    advance-bulk-mailer-crack
    avast-cleanup-premium-crack
    website-auto-traffic-generator-ultimate-crack

    ReplyDelete
  4. Tirthal'S Tech Cafe - Java Platform And Software Engineering Related Blogs And Articles: Static Code Analyzers - Google Codepro Analytix - Why Is It Premium Eclipse Plugin For Java Developers? >>>>> Download Now

    >>>>> Download Full

    Tirthal'S Tech Cafe - Java Platform And Software Engineering Related Blogs And Articles: Static Code Analyzers - Google Codepro Analytix - Why Is It Premium Eclipse Plugin For Java Developers? >>>>> Download LINK

    >>>>> Download Now

    Tirthal'S Tech Cafe - Java Platform And Software Engineering Related Blogs And Articles: Static Code Analyzers - Google Codepro Analytix - Why Is It Premium Eclipse Plugin For Java Developers? >>>>> Download Full

    >>>>> Download LINK vY

    ReplyDelete
  5. Download Software for PC & Mac
    You make it look very easy with your presentation, but I think this is important to Be something that I think I would never understand
    It seems very complex and extremely broad to me. I look forward to your next post,

    ScriptCase Crack
    Surfblocker Crack
    Octane Render Crack
    ZWCAD 2022 Crack
    Bolide Movie Creator Crack
    Advance Bulk Mailer Crack
    Apple Motion Crack

    ReplyDelete