Jlint for Unix


Version: 1.23
Size:
70KB
Requirements:
No special requirements
Seller:
garret.ru
Price:
Free
System:
Unix
Rating:
4.7
License:
Freeware

Description - Jlint for Unix



Jlint will check your Java code and find bugs, inconsistencies and synchronization problems by doing data flow Analysis and building lock graph.Jlint consists of two separate programs performing syntax and semantic verification. As far as Java mostly inherits C/C++ syntax and so inherits most of the problems caused by C syntax, the idea was to Create common syntax verifier for all C-family languages: C, C++, Objective C and Java. This program was named AntiC, because it fixes problems with C grammar, which can cause dangerous programmer`s bugs, undetected by compiler. By using hand-written scanner and simple top-down parser, AntiC is able to Detect such bugs as suspicious use of operators priorities, absence of break in switch code, wrong assumption about constructions bodies...Semantic verifier Jlint extracts information from Java class files. As far as Java class file has very well specified and simple format, it greatly simplifies Jlint in comparison with source level verifiers, because development of Java grammar parser is not a simple task (even through Java grammar is simpler and less ambiguous than C++ grammar). Also dealing only with class files, protect Jlint from further Java extensions (format of virtual byte instructions is more conservative). By using debugging information Jlint can associate reported messages with Java sources. Jlint performs local and global data flow analyses, calculating possible values of local variables and catching redundant and suspicious calculations. By performing global method invocation analysis, Jlint is able to detect invocation of method with possible "null" value of formal parameter and using of this parameter in method without check for "null". Jlint also builds lock dependency graph for classes dependencies and uses this graph to detect situations, which can cause DeadLock during multithreaded program Execution.



More in Java & JavaScript-Jlint for Unix

Java Class Java Grammar Associate Reported Messages