The DOI matches its Crossref record; 10 of the 10 references it cites were found in a registry or an index.
A Comparison of Bug Finding Tools for Java
Abstract
Bugs in software are costly and difficult to find and fix. In recent years, many tools and techniques have been developed for automatically finding bugs by analyzing source code or intermediate code statically (at compile time). Different tools and techniques have different tradeoffs, but the practical impact of these tradeoffs is not well understood. In this paper, we apply five bug finding tools, specifically Bandera, ESC/Java 2, FindBugs, JLint, and PMD, to a variety of Java programs. By using a variety of tools, we are able to cross-check their bug reports and warnings. Our experimental results show that none of the tools strictly subsumes another, and indeed the tools often find nonoverlapping bugs. We discuss the techniques each of the tools is based on, and we suggest how particular techniques affect the output of the tools. Finally, we propose a meta-tool that combines the output of the tools together, looking for particular lines of code, methods, and classes that many tools warn about.
Overview
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Integrity signals
Registry
Cites
Statistics
Verification
Claims the paper makes
The claims and statistics of this paper haven’t been checked yet.
Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.
Self-check
Percentages, sums and reported differences re-computed from the paper’s own numbers.
The self-check needs the paper’s full text.
Citations
Cites
Holzmann, G. J. (1997) · IEEE Transactions on Software Engineering · doi:10.1109/32.588521 · Cited by 3,803
Extended static checking for Java
Flanagan, C., Leino, K. R. M., Lillibridge, M., Nelson, G., Saxe, J. B., & Stata, R. (2002) · Proceedings of the ACM SIGPLAN 2002 conference on Programming language design and implementation · doi:10.1145/512529.512558 · Cited by 1,340
Bandera: extracting finite-state models from Java source code
Corbett, J. C., Dwyer, M. B., Hatcliff, J., Laubach, S., Păsăreanu, C. S., Robby, & Zheng, H. (2000) · Proceedings of the 22nd international conference on Software engineering - ICSE '00 · doi:10.1145/337180.337234 · Cited by 1,059
Model checking JAVA programs using JAVA PathFinder
Havelund, K., & Pressburger, T. (2000) · International Journal on Software Tools for Technology Transfer (STTT) · doi:10.1007/s100090050043 · Cited by 800
Orthogonal defect classification-a concept for in-process measurements
Chillarege, R., Bhandari, I. S., Chaar, J. K., Halliday, M. J., Moebus, D. S., Ray, B. K., & Wong, M.-Y. (1992) · IEEE Transactions on Software Engineering · doi:10.1109/32.177364 · Cited by 792
Hovemeyer, D., & Pugh, W. (2004) · Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications · doi:10.1145/1028664.1028717 · Cited by 760
Houdini, an Annotation Assistant for ESC/Java
Flanagan, C., & Leino, K. R. M. (2001) · Lecture Notes in Computer Science · doi:10.1007/3-540-45251-6_29 · Cited by 405
Z-Ranking: Using Statistical Analysis to Counter the Impact of Static Analysis Approximations
Kremenek, T., & Engler, D. (2003) · Cited by 168
Extended static checking for Java
Cormac Flanagan, A., Leino, K. R. M., Lillibridge, M., Nelson, G., Saxe, J. B., & Stata, R. (2002) · ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) · doi:10.1145/512557.512558 · Cited by 132
Z-Ranking: Using Statistical Analysis to Counter the Impact of Static Analysis Approximations
Kremenek, T., & Engler, D. (2003) · Lecture notes in computer science · doi:10.1007/3-540-44898-5_16 · Cited by 103
Cited by
To Reuse or Not To Reuse?: A Framework and System for Evaluating Summarized Knowledge
Liu, M. X., Kittur, A., & Myers, B. A. (2021) · Proceedings of the ACM on Human-Computer Interaction · doi:10.1145/3449240 · Cited by 23
Metadata
- Authors
- Rutar, N., Almazan, C. B., & Foster, J. S.
- Venue
- 15th International Symposium on Software Reliability Engineering
- Publisher
- IEEE
- Published
- 2005-04-06
- Pages
- 245-256
- ISSN
- 1071-9458 (ISSN-L)
- OpenAlex
- W1541063262
- Cited by
- 276
- References
- 10
- FWCI
- 10.25
- Type
- conference paper
- Language
- en
- Open access
- closed
About these checks
Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.
Statistics and arithmetic are recomputed, not judged.
Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.
What counts as a claim ›How we measure confidence ›How we check this ›
Are you an author, or do you see a problem with this page? Request a review
How to cite
Cite CoChat for the checks on this page, and the paper for its own findings.
- This page
- CoChat. (2026). Citation check: A Comparison of Bug Finding Tools for Java. https://app.cochat.ai/papers/10.1109/issre.2004.1
- The paper
- Rutar, N., Almazan, C. B., & Foster, J. S. (2005). A Comparison of Bug Finding Tools for Java. 15th International Symposium on Software Reliability Engineering. https://doi.org/10.1109/issre.2004.1
Data sources
Bibliographic data: Semantic Scholar, OpenAlex, Crossref.
Contains information from the Semantic Scholar Academic Graph Datasets, made available under the ODC Attribution License (ODC-BY 1.0).
Semantic Scholar’s data is described in: Kinney, R., et al. (2023). The Semantic Scholar Open Data Platform. arXiv:2301.10140.