S
Stefan Reich
Lint4j ("Lint for Java") is a static Java source code analyzer that
detects locking and threading issues, performance and scalability
problems, and checks complex contracts such as Java serialization by
performing type, data flow, and lock graph analysis.
The new release is freely available from http://www.jutils.com. The
summary of changes for this release include:
* support for cygwin on Windows
* new warning if equals() is called on an array type
* new warning if strings are compared using ==
* new warning if a class overrides clone() but does not implement
Cloneable
* new warning if clone() contains a constructor call of the enclosing
type
* new warning if a string contains a hardcoded newline instead of using
the system property
* new warning if an abstract class does not contain at least one
abstract method
* new warning if an abstract class does not contain at least one
method, and may be replaced by an interface
* new warning about methods which introduce operating system
dependencies (System.getenv(), Runtime.exec())
* several bug fixes that improve accuracy when types were loaded from
binary inner classes
* fix for a bug in the type analysis involving inner interfaces
* reclassified object type comparison using == as warning level 4 as a
result of the special handling of arrays and strings
* improved Ant integration examples
detects locking and threading issues, performance and scalability
problems, and checks complex contracts such as Java serialization by
performing type, data flow, and lock graph analysis.
The new release is freely available from http://www.jutils.com. The
summary of changes for this release include:
* support for cygwin on Windows
* new warning if equals() is called on an array type
* new warning if strings are compared using ==
* new warning if a class overrides clone() but does not implement
Cloneable
* new warning if clone() contains a constructor call of the enclosing
type
* new warning if a string contains a hardcoded newline instead of using
the system property
* new warning if an abstract class does not contain at least one
abstract method
* new warning if an abstract class does not contain at least one
method, and may be replaced by an interface
* new warning about methods which introduce operating system
dependencies (System.getenv(), Runtime.exec())
* several bug fixes that improve accuracy when types were loaded from
binary inner classes
* fix for a bug in the type analysis involving inner interfaces
* reclassified object type comparison using == as warning level 4 as a
result of the special handling of arrays and strings
* improved Ant integration examples