Jlint will check your Java code and find bugs, inconsistencies andsynchronization problems by doing data flow analysis on the code andbuilding the lock graph. Jlint is fast, easy to learn, and requires nochanges in the class files to be checked.
Be the first to post a text review of Jlint. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Jlint changelog: Version 3.1: Minor patch in types.hh to fix compilation problems. Version 3.0: See jlint_3.0.tex. Version 2.3: (Trivial) port to LinuxPPC and Mac OS X. Version 2.2: Applied Eric A. Raymond's compiler compatibility patch. Removed -DHASH_TABLE in the Makefile due to some problems (it can still be enabled if needed). OpenBSD port (thanks to Kevin Lo for testing it). Version 2.1: FreeBSD Port (thanks to Ernst de Haan for giving me access to a FreeBSD box), Visual C++ port (by Maarten Breddels). Version 2.0: As a part of Cyrille Artho's master thesis, 2 1/2 weeks were spent on cleaning up and extending Jlint as follows: - Jlint has been restructured into several files. All larger classes now are in their own file, while some smaller classes have been grouped by their meaning. This makes Jlint easier to maintain. - Synchronized blocks are now fully supported. The value of references is tracked during their "life" on the stack and as static or instance variables. This allowed the following improvements: 1. wait/notify[All] calls are now truly checked: The current set of locks is analyzed. Depending on whether a thread holds the lock it is wait()ing on or whether it holds other locks, too, different (much more precise) warnings are issued. 2. Inter-method deadlocks from synchronized blocks are fully checked. The call graph analysis has been extended with "pseudo method calls" whenever a lock is being obtained. This extends the old analysis for synchronized methods. 3. Assignments to locking variables (usually hazardous) are also checked. If they are not within a constructor or guarded by a lock, a warning is issued. Version 1.11: Last version from Konstantin Knizhnik, using one source and one header file.
Jlint changelog: Version 3.1: Minor patch in types.hh to fix compilation problems. Version 3.0: See jlint_3.0.tex. Version 2.3: (Trivial) port to LinuxPPC and Mac OS X. Version 2.2: Applied Eric A. Raymond's compiler compatibility patch. Removed -DHASH_TABLE in the Makefile due to some problems (it can still be enabled if needed). OpenBSD port (thanks to Kevin Lo for testing it). Version 2.1: FreeBSD Port (thanks to Ernst de Haan for giving me access to a FreeBSD box), Visual C++ port (by Maarten Breddels). Version 2.0: As a part of Cyrille Artho's master thesis, 2 1/2 weeks were spent on cleaning up and extending Jlint as follows: - Jlint has been restructured into several files. All larger classes now are in their own file, while some smaller classes have been grouped by their meaning. This makes Jlint easier to maintain. - Synchronized blocks are now fully supported. The value of references is tracked during their "life" on the stack and as static or instance variables. This allowed the following improvements: 1. wait/notify[All] calls are now truly checked: The current set of locks is analyzed. Depending on whether a thread holds the lock it is wait()ing on or whether it holds other locks, too, different (much more precise) warnings are issued. 2. Inter-method deadlocks from synchronized blocks are fully checked. The call graph analysis has been extended with "pseudo method calls" whenever a lock is being obtained. This extends the old analysis for synchronized methods. 3. Assignments to locking variables (usually hazardous) are also checked. If they are not within a constructor or guarded by a lock, a warning is issued. Version 1.11: Last version from Konstantin Knizhnik, using one source and one header file.
Jlint changelog: Version 3.1: Minor patch in types.hh to fix compilation problems. Version 3.0: See jlint_3.0.tex. Version 2.3: (Trivial) port to LinuxPPC and Mac OS X. Version 2.2: Applied Eric A. Raymond's compiler compatibility patch. Removed -DHASH_TABLE in the Makefile due to some problems (it can still be enabled if needed). OpenBSD port (thanks to Kevin Lo for testing it). Version 2.1: FreeBSD Port (thanks to Ernst de Haan for giving me access to a FreeBSD box), Visual C++ port (by Maarten Breddels). Version 2.0: As a part of Cyrille Artho's master thesis, 2 1/2 weeks were spent on cleaning up and extending Jlint as follows: - Jlint has been restructured into several files. All larger classes now are in their own file, while some smaller classes have been grouped by their meaning. This makes Jlint easier to maintain. - Synchronized blocks are now fully supported. The value of references is tracked during their "life" on the stack and as static or instance variables. This allowed the following improvements: 1. wait/notify[All] calls are now truly checked: The current set of locks is analyzed. Depending on whether a thread holds the lock it is wait()ing on or whether it holds other locks, too, different (much more precise) warnings are issued. 2. Inter-method deadlocks from synchronized blocks are fully checked. The call graph analysis has been extended with "pseudo method calls" whenever a lock is being obtained. This extends the old analysis for synchronized methods. 3. Assignments to locking variables (usually hazardous) are also checked. If they are not within a constructor or guarded by a lock, a warning is issued. Version 1.11: Last version from Konstantin Knizhnik, using one source and one header file.
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?
Thanks for your review!
Get credit for your review by logging in via OpenID. Click your account provider: