JSR 308 (added to Java 8) adds some new annotation capability for types; type checking frameworks can make use of this to do more type checking of code.
I've only come across one or two such frameworks; one is a big project here (partially under the GPL) http://types.cs.washington.edu/checker-framework; the other is eclipse which seems to support just 3 annotations ( http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-using_null_annotations.htm&cp=1_3_9_0 The checker framework looks pretty comprehensive, but if you include the annotations in distributed JAR files, the license is GPL. The build process can be configured to **not** include the GPL things in the JARs. Operating this way would limit its use to internal development; users could not use our annotations to check their use of UIMA methods. Possible partial exception: There's some fancy thing that Eclipse has for this situation, allowing an external specification for annotations, separate from the library jars, to be used ( http://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-using_external_null_annotations.htm&cp=1_3_9_2 ) Anyone have experience with these enhanced checking frameworks? Are they worth the trouble (vs. say using just findbugs)? -Marshall
