Quality Monitor
🚦 Tests: 100% successful (❌ 2 failed, ✔️ 1292 passed, 🙈 2 skipped)
〰️ Line Coverage: 93% (433 missed lines)
➰ Branch Coverage: 87% (272 missed branches)
CheckStyle: 2 warnings (normal: 2)
PMD: No warnings
SpotBugs: 1 bug (low: 1)
🐛 Error Prone: 27 bugs (normal: 27)
OWASP Dependency Check: 1 vulnerability (normal: 1)
🌀 Cyclomatic Complexity: 2316 (total)
💭 Cognitive Complexity: 1135 (total)
📏 Lines of Code: 21867 (total)
📝 Non Commenting Source Statements: 8764 (total)
🔭 Access to foreign data: 1375 (total)
🔗 Class cohesion: 100.00% (maximum)
📤 Fan out: 3039 (total)
📲 Number of accessors: 174 (total)
⚖️ Weight of a class: 100.00% (maximum)
📐 Weighted method count: 2677 (total)
➿ N-Path Complexity: 3792 (total)
Created by Quality Monitor v1.14.0 (#f3859fd)
Details
☀️ Quality Monitor
🚦 Tests
Name | Reports | Passed | Skipped | Failed | Total |
---|---|---|---|---|---|
Tests | 175 | 1292 | 2 | 2 | 1296 |
Skipped Test Cases
- edu.hm.hafner.analysis.FingerprintGeneratorTest#shouldUseFallbackFingerprintOnIllegalFilenamesOnWindows(String)[1]
- edu.hm.hafner.analysis.FingerprintGeneratorTest#shouldUseFallbackFingerprintOnIllegalFilenamesOnWindows(String)[2]
Failures
edu.hm.hafner.analysis.parser.findbugs.FindBugsParserTest:shouldAssignCorrectSeverity
Expecting actual's toString() to return:
"FindBugs: 12 warnings (12 low)"
but was:
"- (-): 12 warnings"
Stack Trace
org.opentest4j.AssertionFailedError:
Expecting actual's toString() to return:
"FindBugs: 12 warnings (12 low)"
but was:
"- (-): 12 warnings"
at edu.hm.hafner.analysis.parser.findbugs.FindBugsParserTest.shouldAssignCorrectSeverity(FindBugsParserTest.java:65)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
edu.hm.hafner.analysis.ReportTest:shouldReadIssueFromOldSerialization
Can't resolve instance from byte array
Stack Trace
java.lang.AssertionError: Can't resolve instance from byte array
at edu.hm.hafner.util.SerializableTest.restore(SerializableTest.java:92)
at edu.hm.hafner.util.SerializableTest.assertThatSerializableCanBeRestoredFrom(SerializableTest.java:58)
at edu.hm.hafner.analysis.ReportTest.shouldReadIssueFromOldSerialization(ReportTest.java:836)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
Caused by: java.io.InvalidClassException: edu.hm.hafner.analysis.Report; local class incompatible: stream classdesc serialVersionUID = 4, local class serialVersionUID = 5
at java.base/java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:598)
at java.base/java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:2078)
at java.base/java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1927)
at java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2252)
at java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1762)
at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:540)
at java.base/java.io.ObjectInputStream.readObject(ObjectInputStream.java:498)
at edu.hm.hafner.util.SerializableTest.restore(SerializableTest.java:88)
... 5 more
⚠️ Style
Icon | Name | Reports | Errors | High | Normal | Low | Total |
---|---|---|---|---|---|---|---|
CheckStyle | 2 | 0 | 0 | 2 | 0 | 2 | |
PMD | 3 | 0 | 0 | 0 | 0 | 0 | |
➕ | Total | 5 | 0 | 0 | 2 | 0 | 2 |
🐛 Bugs
Icon | Name | Reports | Errors | High | Normal | Low | Total |
---|---|---|---|---|---|---|---|
SpotBugs | 1 | 0 | 0 | 0 | 1 | 1 | |
🐛 | Error Prone | 0 | 0 | 0 | 27 | 0 | 27 |
➕ | Total | 1 | 0 | 0 | 27 | 1 | 28 |
🛡️ Vulnerabilities
Icon | Name | Reports | Errors | High | Normal | Low | Total |
---|---|---|---|---|---|---|---|
OWASP Dependency Check | 1 | 0 | 0 | 1 | 0 | 1 |
👣 Code Coverage
Icon | Name | Covered % | Missed % |
---|---|---|---|
〰️ | Line Coverage | 93 | 7 |
➰ | Branch Coverage | 87 | 13 |
➕ | Total Ø | 90 | 10 |
📐 Toplevel Metrics
Icon | Name | Total | Min | Max | Mean | Median |
---|---|---|---|---|---|---|
🌀 | Cyclomatic Complexity | 2316 | 1 | 9 | 1.62 | 1 |
💭 | Cognitive Complexity | 1135 | 0 | 13 | 0.76 | 0 |
📏 | Lines of Code | 21867 | 1 | 60 | 7.07 | 1 |
📝 | Non Commenting Source Statements | 8764 | 1 | 46 | 4.04 | 1 |
🔭 | Access to foreign data | 1375 | 0 | 25 | 0.81 | 0 |
🔗 | Class cohesion | 1 | 0.00% | 100.00% | 4.21% | 0.00% |
📤 | Fan out | 3039 | 0 | 18 | 2.47 | 0 |
📲 | Number of accessors | 174 | 0 | 25 | 0.46 | 0 |
⚖️ | Weight of a class | 1 | 0.00% | 100.00% | 90.81% | 0.00% |
📐 | Weighted method count | 2677 | 0 | 152 | 7.12 | 0 |
➿ | N-Path Complexity | 3792 | 1 | 192 | 2.33 | 1 |
Annotations
Check warning on line 673 in src/main/java/edu/hm/hafner/analysis/Report.java
github-actions / Quality Monitor
CheckStyle: RightCurlyCheck
'}' at column 9 should be alone on a line.
Check warning on line 1195 in src/main/java/edu/hm/hafner/analysis/Report.java
github-actions / Quality Monitor
CheckStyle: HiddenFieldCheck
'type' hides a field.
Check warning on line 694 in src/main/java/edu/hm/hafner/analysis/Report.java
github-actions / Quality Monitor
SpotBugs: UPM_UNCALLED_PRIVATE_METHOD
Private method edu.hm.hafner.analysis.Report.plural(int) is never called
Check warning on line 26 in src/main/java/edu/hm/hafner/analysis/parser/ClairParser.java
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 25 in src/main/java/edu/hm/hafner/analysis/parser/EclipseXMLParser.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'EclipseXmlParser'?.
Check warning on line 47 in src/main/java/edu/hm/hafner/analysis/parser/ErrorProneParser.java
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 38 in src/main/java/edu/hm/hafner/analysis/parser/FlawfinderParser.java
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 37 in src/main/java/edu/hm/hafner/analysis/parser/LintParser.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'JsLintXmlSaxParser'?.
Check warning on line 17 in src/main/java/edu/hm/hafner/analysis/parser/OELintAdvParser.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'OeLintAdvParser'?.
Check warning on line 19 in src/main/java/edu/hm/hafner/analysis/parser/OTDockerLintParser.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'OtDockerLintParser'?.
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 44 in src/main/java/edu/hm/hafner/analysis/parser/PnpmAuditParser.java
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 36 in src/main/java/edu/hm/hafner/analysis/parser/TrivyParser.java
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 28 in src/main/java/edu/hm/hafner/analysis/parser/YoctoScannerParser.java
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 53 in src/main/java/edu/hm/hafner/analysis/parser/dry/AbstractDryParser.java
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 82 in src/main/java/edu/hm/hafner/analysis/parser/findbugs/FindBugsParser.java
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 149 in src/main/java/edu/hm/hafner/analysis/parser/pvsstudio/AnalyzerType.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'General'?.
Check warning on line 178 in src/main/java/edu/hm/hafner/analysis/parser/pvsstudio/AnalyzerType.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'Optimization'?.
Check warning on line 216 in src/main/java/edu/hm/hafner/analysis/parser/pvsstudio/AnalyzerType.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'Misra'?.
Check warning on line 235 in src/main/java/edu/hm/hafner/analysis/parser/pvsstudio/AnalyzerType.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'Unknown'?.
github-actions / Quality Monitor
Error Prone: BadImport
Importing nested classes/static methods/static fields with commonly-used names can make code harder to read, because it may not be clear from the context exactly which type is being referred to. Qualifying the name with that of the containing class can make the code clearer. Here we recommend using qualified class: Report.
Check warning on line 9 in src/main/java/edu/hm/hafner/analysis/registry/OELintAdvDescriptor.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'OeLintAdvDescriptor'?.
Check warning on line 22 in src/test/java/edu/hm/hafner/analysis/parser/AntJavacParserTest.java
github-actions / Quality Monitor
Error Prone: StronglyTypeTime
This int is only used to construct Duration instances. It would be clearer to strongly type the field instead.
Check warning on line 17 in src/test/java/edu/hm/hafner/analysis/parser/EclipseXMLParserTest.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'EclipseXmlParserTest'?.
Check warning on line 17 in src/test/java/edu/hm/hafner/analysis/parser/JSLintParserTest.java
github-actions / Quality Monitor
Error Prone: IdentifierName
Classes should be named in UpperCamelCase, with acronyms treated as words (https://google.github.io/styleguide/javaguide.html#s5.3-camel-case); did you mean 'JsLintParserTest'?.