You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Marshall Schor <ms...@schor.com> on 2016/10/05 15:34:52 UTC

Java checker frameworks and Java 8

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


Re: Java checker frameworks and Java 8

Posted by Richard Eckart de Castilho <re...@apache.org>.
I haven't used the checker framework yet, but findbugs also supports null-checking annotations.

If you are looking for some that can be used without incurring license problems, this might be useful (although the latest versions are not on Maven Central, but that might not be a problem).

  https://github.com/stephenc/findbugs-annotations

I have occasionally used these annotations back when I was using IntelliJ - it had support for this before Eclipse had. However, I didn't feel it contributed much to my work other than giving a bit of a fuzzy warm feeling that it might be somehow right and cleaner to use them...

Cheers,

-- Richard

> On 05.10.2016, at 17:34, Marshall Schor <ms...@schor.com> wrote:
> 
> 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
>