Jlint for Unix

Java code verifier
Download

Jlint for Unix Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Freeware
  • Publisher Name:
  • garret.ru
  • Publisher web site:
  • Operating Systems:
  • Unix
  • File Size:
  • 70KB

Jlint for Unix Tags


Jlint for Unix Description

EditBy 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.


Jlint for Unix Related Software