Manual
User Manual:
Open the PDF directly: View PDF
Page Count: 33
- jlint
- Introduction
- Bugs detected by AntiC
- Bugs detected by Jlint
- Synchronization
- Loop id: invocation of synchronized method name can cause deadlock
- Loop LoopId/PathId: invocation of method name forms the loop in class dependency graph
- Lock a is requested while holding lock b, with other thread holding a and requesting lock b
- Method wait() can be invoked with monitor of other object locked
- Call sequence to method name can cause deadlock in wait()
- Synchronized method name is overridden by non-synchronized method of derived class name
- Method name can be called from different threads and is not synchronized
- Field name of class
- Method name implementing 'Runnable' interface is not synchronized
- Value of lock name is changed outside synchronization or constructor
- Value of lock name is changed while (potentially) owning it
- Method name.wait() is called without synchronizing on name
- Inheritance
- Data flow
- Method name can be invoked with NULL as number parameter and this parameter is used without check for null
- Value of referenced variable name may be NULL
- NULL reference can be used
- Zero operand for operation
- Result of operation is always 0
- Shift with count relation than integer
- Shift count range [min,max] is out of domain
- Range of expression value has no intersection with target type domain
- Data can be lost as a result of truncation to type
- May be type cast is not correctly applied
- Comparison always produces the same result
- Compared operands can be equal only when both of them are 0
- Reminder always equal to the first operand
- Comparison of short with char
- Compare strings as object references
- Inequality comparison can be replaced with equality comparison
- Switch case constant integer can't be produced by switch expression
- Synchronization
- Command line options
- How to build and use Jlint and AntiC
- Release notes