Skip to main content

Find Bugs Plugin

Findbugs provides for a quick method of doing static code analysis. It can operate in a stand alone mode and integrates well with eclipse as well. More information on this can be found at
http://findbugs.sourceforge.net/

The installation comes with a number of built-in detectors. Additional detectors can be found at
http://fb-contrib.sourceforge.net/

While these detectors are useful, the real power of FB can be unlocked by writing a custom detector for you code. Below is a step by step tutorial that you can refer to for writing a custom detector for your code.
https://code.google.com/p/findbugs/wiki/DetectorPluginTutorial
http://www.ibm.com/developerworks/library/j-findbug2/

To write your own detectors you would need to know the byte code being generated for your classes and then based on those patterns write a detector which will serve your purpose. One good plug-in to view the byte code for your classes is the Dr. Garbage Byte Code Visualizer. It is available as a eclipse plugin and is very useful during the development.
http://www.drgarbage.com/bytecode-visualizer/

Once you have developed your dectector, testing/debugging it can be easily done using the APIs here

Comments

Popular posts from this blog

Java Agent

Starting with JDK 1.5, the javaagent feature has been around which provides for a hook to get access to the classes as they are loaded and consequently do instrumentation of the class to serve your purpose. This along with Javassist will allow you to achieve some useful tasks like enabling specific debugging etc. Below are some useful links for the same http://www.csg.ci.i.u-tokyo.ac.jp/~chiba/javassist/tutorial/tutorial.html http://blog.javabenchmark.org/2013/05/java-instrumentation-tutorial.html https://today.java.net/article/2008/04/22/add-logging-class-load-time-java-instrumentation I used to face issues related to the agent class not been able to find javassist related classes. To tackle this you can add an index file to the agent jar like below. jar -i agent.jar lib\javassist.jar and ensure that during deployment the javassist.jar file is in the lib folder which itselfs exists in the same directory as the agent jar. The  insertBefore and  insertAfter method...

jax-rs jaxb and json

The urls below have a good tutorial for achieving the same. https://docs.oracle.com/javaee/6/tutorial/doc/gkoib.html https://docs.oracle.com/cd/E24329_01/web.1211/e24983/configure.htm#RESTF187 https://docs.oracle.com/cd/E21764_01/web.1111/e13734/rest.htm#WSADV553 http://howtodoinjava.com/restful-web-service/ http://www.theserverlabs.com/blog/2009/01/12/rest-web-services-with-jaxb-jax-rs-and-sun-jersey/ http://blog.bdoughan.com/2010/08/creating-restful-web-service-part-15.html