SlideShare a Scribd company logo
Java Code Quality Toolsby OrestIvasivTwitter: @halyphBlog: halyph.blogspot.com
CodeProAnalytixCode AnalysisMetricsCode Coverage Dependency AnalysisJUnit Test GenerationSimilar Code Analysis
PMDPossible bugs - empty try/catch/finally/switch statementsDead code - unused local variables, parameters and private methodsSuboptimal code - wasteful String/StringBuffer usageOvercomplicated expressions - unnecessary if statements, for loops that could be while loopsDuplicate code - copied/pasted code means copied/pasted bugs
FindBugsCorrectness bug - Probable bug - an apparent coding mistake resulting in code that was probably not what the developer intended. We strive for a low false positive rate. Bad Practice - Violations of recommended and essential coding practice. Examples include hash code and equals problems, cloneable idiom, dropped exceptions, serializable problems, and misuse of finalize. We strive to make this analysis accurate, although some groups may not care about some of the bad practices. Dodgy - Code that is confusing, anomalous, or written in a way that leads itself to errors. Examples include dead local stores, switch fall through, unconfirmed casts, and redundant null check of value known to be null. More false positives accepted. In previous versions of FindBugs, this category was known as Style.
Code CoverageCoberturaeCobertura – Eclipse PluginEMMAEclEmma and JaCoCo – Eclipse Plugins
Coding standard analysisCheckstyle is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard.
TattletaleIdentify dependencies between JAR filesFind missing classes from the classpathSpot if a class/package is located in multiple JAR filesSpot if the same JAR file is located in multiple locationsWith a list of what each JAR file requires and providesVerify the SerialVersionUID of a classFind similar JAR files that have different version numbersFind JAR files without a version numberFind unused JAR archivesIdentify sealed / signed JAR archivesLocate a class in a JAR fileGet the OSGi status of your projectRemove black listed API usage
Consolidated ToolsSonarXradarQALab
UCDetectorUnnecessary Code Detector is a eclipse PlugInto find unnecessary (dead) public Java code. For example public classes, methods or fields which have no references. UCDetector creates markers for the following problems, which appear in the eclipse problem view:Unnecessary (dead) codeCode where the visibility could be changed to protected, default or privateMethods of fields, which can be final

More Related Content

PPTX
Static code analysis
PPTX
Java Code Quality Tools
PPTX
Static Code Analysis
PPTX
Sonar Tool - JAVA code analysis
PPTX
Top 10 static code analysis tool
PDF
Best Practices of Static Code Analysis in the SDLC
PPTX
How To Improve Quality With Static Code Analysis
PDF
Java Code Review Checklist
Static code analysis
Java Code Quality Tools
Static Code Analysis
Sonar Tool - JAVA code analysis
Top 10 static code analysis tool
Best Practices of Static Code Analysis in the SDLC
How To Improve Quality With Static Code Analysis
Java Code Review Checklist

What's hot (20)

PPT
Code Review
PPTX
Static Analysis with Sonarlint
DOCX
Code review guidelines
PPTX
DevSecOps: Securing Applications with DevOps
PDF
Code-Review-Principles-Process-and-Tools (1)
PDF
Functional Tests Automation with Robot Framework
PDF
Achieving quality with tools case study
PPTX
Code review
PDF
Code Review: How and When
PPTX
Code Review tool for personal effectiveness and waste analysis
PPTX
PVS-Studio and static code analysis technique
PDF
Code Review for iOS
PDF
Continuous code quality_in_java
PPTX
Improving Code Quality Through Effective Review Process
PDF
Code Review
PDF
Robot framework - SAST Väst Q3
PPTX
Code Review
PPTX
Integrating on premise Line Of Business applications with CRM Online
PPTX
Code Review Best Practices
PPTX
Sonar Review
Code Review
Static Analysis with Sonarlint
Code review guidelines
DevSecOps: Securing Applications with DevOps
Code-Review-Principles-Process-and-Tools (1)
Functional Tests Automation with Robot Framework
Achieving quality with tools case study
Code review
Code Review: How and When
Code Review tool for personal effectiveness and waste analysis
PVS-Studio and static code analysis technique
Code Review for iOS
Continuous code quality_in_java
Improving Code Quality Through Effective Review Process
Code Review
Robot framework - SAST Väst Q3
Code Review
Integrating on premise Line Of Business applications with CRM Online
Code Review Best Practices
Sonar Review
Ad

Similar to Java Code Quality Tools (20)

PDF
Checkstyle wikipedia
PPT
Ensuring code quality
PDF
Presentations Unusual Java Bugs And Detecting Them Using Foss Tools
PPSX
Coding standard
PDF
Static Code Analysis
PPT
Introduction to automated quality assurance
PPTX
Static analysis: Around Java in 60 minutes
PPTX
EVERYTHING ABOUT STATIC CODE ANALYSIS FOR A JAVA PROGRAMMER
PDF
Code analyzer: FindBugs and PMD
PDF
Would Static Analysis Tools Help Developers with Code Reviews?
PDF
Introduzione a junit + integrazione con archibus
PDF
Defect prevention software
PPTX
Static code analysis: what? how? why?
PDF
Jdj Foss Java Tools
PDF
Infinum Android Talks #14 - How (not) to get f***** by checkstyle, pdm, findb...
PDF
Code Coverage
PDF
Code Quality Assurance with PMD (2004)
PDF
Machine Learning in Static Analysis of Program Source Code
PDF
OCL'16 slides: Models from Code or Code as a Model?
PPT
Assessing Unit Test Quality
Checkstyle wikipedia
Ensuring code quality
Presentations Unusual Java Bugs And Detecting Them Using Foss Tools
Coding standard
Static Code Analysis
Introduction to automated quality assurance
Static analysis: Around Java in 60 minutes
EVERYTHING ABOUT STATIC CODE ANALYSIS FOR A JAVA PROGRAMMER
Code analyzer: FindBugs and PMD
Would Static Analysis Tools Help Developers with Code Reviews?
Introduzione a junit + integrazione con archibus
Defect prevention software
Static code analysis: what? how? why?
Jdj Foss Java Tools
Infinum Android Talks #14 - How (not) to get f***** by checkstyle, pdm, findb...
Code Coverage
Code Quality Assurance with PMD (2004)
Machine Learning in Static Analysis of Program Source Code
OCL'16 slides: Models from Code or Code as a Model?
Assessing Unit Test Quality
Ad

More from Orest Ivasiv (8)

PDF
Why don't you Groovy?
PDF
Vagrant or docker for java dev environment
PDF
OAuth2 and Spring Security
PDF
Dockerizing development workflow
PPTX
When Camel Smiles
PPTX
Adventures of java developer in ruby world
PDF
Math synonyms
PPTX
Time Management: the Hidden Power of Pomodoro
Why don't you Groovy?
Vagrant or docker for java dev environment
OAuth2 and Spring Security
Dockerizing development workflow
When Camel Smiles
Adventures of java developer in ruby world
Math synonyms
Time Management: the Hidden Power of Pomodoro

Recently uploaded (20)

PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPT
Teaching material agriculture food technology
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Cloud computing and distributed systems.
PPTX
Big Data Technologies - Introduction.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Electronic commerce courselecture one. Pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Advanced methodologies resolving dimensionality complications for autism neur...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
NewMind AI Weekly Chronicles - August'25 Week I
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Unlocking AI with Model Context Protocol (MCP)
Teaching material agriculture food technology
Machine learning based COVID-19 study performance prediction
Cloud computing and distributed systems.
Big Data Technologies - Introduction.pptx
Encapsulation theory and applications.pdf
20250228 LYD VKU AI Blended-Learning.pptx
Review of recent advances in non-invasive hemoglobin estimation
Electronic commerce courselecture one. Pdf
Empathic Computing: Creating Shared Understanding
Diabetes mellitus diagnosis method based random forest with bat algorithm
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

Java Code Quality Tools

  • 1. Java Code Quality Toolsby OrestIvasivTwitter: @halyphBlog: halyph.blogspot.com
  • 2. CodeProAnalytixCode AnalysisMetricsCode Coverage Dependency AnalysisJUnit Test GenerationSimilar Code Analysis
  • 3. PMDPossible bugs - empty try/catch/finally/switch statementsDead code - unused local variables, parameters and private methodsSuboptimal code - wasteful String/StringBuffer usageOvercomplicated expressions - unnecessary if statements, for loops that could be while loopsDuplicate code - copied/pasted code means copied/pasted bugs
  • 4. FindBugsCorrectness bug - Probable bug - an apparent coding mistake resulting in code that was probably not what the developer intended. We strive for a low false positive rate. Bad Practice - Violations of recommended and essential coding practice. Examples include hash code and equals problems, cloneable idiom, dropped exceptions, serializable problems, and misuse of finalize. We strive to make this analysis accurate, although some groups may not care about some of the bad practices. Dodgy - Code that is confusing, anomalous, or written in a way that leads itself to errors. Examples include dead local stores, switch fall through, unconfirmed casts, and redundant null check of value known to be null. More false positives accepted. In previous versions of FindBugs, this category was known as Style.
  • 5. Code CoverageCoberturaeCobertura – Eclipse PluginEMMAEclEmma and JaCoCo – Eclipse Plugins
  • 6. Coding standard analysisCheckstyle is a development tool to help programmers write Java code that adheres to a coding standard. It automates the process of checking Java code to spare humans of this boring (but important) task. This makes it ideal for projects that want to enforce a coding standard.
  • 7. TattletaleIdentify dependencies between JAR filesFind missing classes from the classpathSpot if a class/package is located in multiple JAR filesSpot if the same JAR file is located in multiple locationsWith a list of what each JAR file requires and providesVerify the SerialVersionUID of a classFind similar JAR files that have different version numbersFind JAR files without a version numberFind unused JAR archivesIdentify sealed / signed JAR archivesLocate a class in a JAR fileGet the OSGi status of your projectRemove black listed API usage
  • 9. UCDetectorUnnecessary Code Detector is a eclipse PlugInto find unnecessary (dead) public Java code. For example public classes, methods or fields which have no references. UCDetector creates markers for the following problems, which appear in the eclipse problem view:Unnecessary (dead) codeCode where the visibility could be changed to protected, default or privateMethods of fields, which can be final