Fork me on GitHub

SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.7.3

Threshold is low

Effort is max

Summary

Classes Bugs Errors Missing Classes
438 102 0 14

Files

Class Bugs
com.tngtech.jgiven.config.TagConfiguration 1
com.tngtech.jgiven.format.POJOAnnotationFormatter 2
com.tngtech.jgiven.format.POJOAnnotationFormatter$1 1
com.tngtech.jgiven.format.POJOAnnotationFormatter$2 1
com.tngtech.jgiven.format.table.FieldBasedRowFormatter$1 1
com.tngtech.jgiven.format.table.FieldBasedRowFormatter$2 1
com.tngtech.jgiven.format.table.PlainRowFormatter 1
com.tngtech.jgiven.impl.Config 1
com.tngtech.jgiven.impl.ScenarioBase 2
com.tngtech.jgiven.impl.ScenarioExecutor 4
com.tngtech.jgiven.impl.ScenarioHolder 1
com.tngtech.jgiven.impl.ScenarioModelBuilder 4
com.tngtech.jgiven.impl.format.ParameterFormattingUtil 1
com.tngtech.jgiven.impl.inject.ValueInjector 2
com.tngtech.jgiven.impl.intercept.StepInterceptorImpl 1
com.tngtech.jgiven.impl.tag.TagCreator 1
com.tngtech.jgiven.impl.util.AnsiUtil 1
com.tngtech.jgiven.impl.util.FieldCache 3
com.tngtech.jgiven.impl.util.FieldCache$1 1
com.tngtech.jgiven.impl.util.WordUtil 2
com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$CollectPhase 5
com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$Searcher 1
com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$Sequence 2
com.tngtech.jgiven.report.asciidoc.AsciiDocReportGenerator 2
com.tngtech.jgiven.report.asciidoc.MetadataMapper 1
com.tngtech.jgiven.report.config.CommandLineOptionBuilder 1
com.tngtech.jgiven.report.config.ConfigOption 3
com.tngtech.jgiven.report.config.ConfigOptionBuilder 1
com.tngtech.jgiven.report.config.ConfigOptionParser 2
com.tngtech.jgiven.report.config.ConfigOptionParser$ConfigOptionLevenshteinDistance 1
com.tngtech.jgiven.report.json.ReportModelReader 2
com.tngtech.jgiven.report.json.ScenarioJsonWriter 1
com.tngtech.jgiven.report.model.ArgumentInfo 2
com.tngtech.jgiven.report.model.CasesTable 2
com.tngtech.jgiven.report.model.CasesTable$CaseRow 2
com.tngtech.jgiven.report.model.CompleteReportModel 6
com.tngtech.jgiven.report.model.DataTable 2
com.tngtech.jgiven.report.model.ExecutionStatusCalculator 1
com.tngtech.jgiven.report.model.ReportModel 5
com.tngtech.jgiven.report.model.ReportModelFile 2
com.tngtech.jgiven.report.model.ScenarioCaseModel 3
com.tngtech.jgiven.report.model.ScenarioModel 3
com.tngtech.jgiven.report.model.StepFormatter 2
com.tngtech.jgiven.report.model.StepFormatter$TypeBasedFormatting 1
com.tngtech.jgiven.report.model.StepModel 4
com.tngtech.jgiven.report.model.Tag 2
com.tngtech.jgiven.report.model.Word 1
com.tngtech.jgiven.report.text.DataTablePlainTextScenarioWriter 1
com.tngtech.jgiven.report.text.PlainTextScenarioWriter 4
com.tngtech.jgiven.report.text.PlainTextWriter 1
dev.aherscu.qa.jgiven.commons.steps.GenericActions 1
dev.aherscu.qa.jgiven.commons.steps.GenericFixtures 1
dev.aherscu.qa.jgiven.commons.steps.GenericVerifications 1
dev.aherscu.qa.jgiven.commons.utils.AbstractCsvDataProvider 1

com.tngtech.jgiven.config.TagConfiguration

Bug Category Details Line Priority
com.tngtech.jgiven.config.TagConfiguration.getTags() may expose internal representation by returning TagConfiguration.tags MALICIOUS_CODE EI_EXPOSE_REP 198 Medium

com.tngtech.jgiven.format.POJOAnnotationFormatter

Bug Category Details Line Priority
Repeated conditional test in com.tngtech.jgiven.format.POJOAnnotationFormatter.format(Object, POJOFormat) CORRECTNESS RpC_REPEATED_CONDITIONAL_TEST 51 Low

com.tngtech.jgiven.format.POJOAnnotationFormatter$1

Bug Category Details Line Priority
The class com.tngtech.jgiven.format.POJOAnnotationFormatter$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 148 Low
input must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 152-161 Low

com.tngtech.jgiven.format.POJOAnnotationFormatter$2

Bug Category Details Line Priority
input must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 171 Low

com.tngtech.jgiven.format.table.FieldBasedRowFormatter$1

Bug Category Details Line Priority
input must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 136-145 Low

com.tngtech.jgiven.format.table.FieldBasedRowFormatter$2

Bug Category Details Line Priority
input must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 154 Low

com.tngtech.jgiven.format.table.PlainRowFormatter

Bug Category Details Line Priority
Dead store to formattingUtil in new com.tngtech.jgiven.format.table.PlainRowFormatter(Class, Table, String, Annotation[], FormatterConfiguration, ObjectFormatter) STYLE DLS_DEAD_LOCAL_STORE 27 High

com.tngtech.jgiven.impl.Config

Bug Category Details Line Priority
Public static com.tngtech.jgiven.impl.Config.config() may expose internal representation by returning Config.INSTANCE MALICIOUS_CODE MS_EXPOSE_REP 37 Medium

com.tngtech.jgiven.impl.ScenarioBase

Bug Category Details Line Priority
com.tngtech.jgiven.impl.ScenarioBase.getExecutor() may expose internal representation by returning ScenarioBase.executor MALICIOUS_CODE EI_EXPOSE_REP 61 Medium
com.tngtech.jgiven.impl.ScenarioBase.setExecutor(ScenarioExecutor) may expose internal representation by storing an externally mutable object into ScenarioBase.executor MALICIOUS_CODE EI_EXPOSE_REP2 66 Medium

com.tngtech.jgiven.impl.ScenarioExecutor

Bug Category Details Line Priority
com.tngtech.jgiven.impl.ScenarioExecutor.getFailedException() may expose internal representation by returning ScenarioExecutor.failedException MALICIOUS_CODE EI_EXPOSE_REP 419 Medium
com.tngtech.jgiven.impl.ScenarioExecutor.failed(Throwable) may expose internal representation by storing an externally mutable object into ScenarioExecutor.failedException MALICIOUS_CODE EI_EXPOSE_REP2 437 Medium
com.tngtech.jgiven.impl.ScenarioExecutor.setFailedException(Exception) may expose internal representation by storing an externally mutable object into ScenarioExecutor.failedException MALICIOUS_CODE EI_EXPOSE_REP2 423 Medium
Overridable method injectValueByType is called from constructor new com.tngtech.jgiven.impl.ScenarioExecutor(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 96 Low

com.tngtech.jgiven.impl.ScenarioHolder

Bug Category Details Line Priority
Public static com.tngtech.jgiven.impl.ScenarioHolder.get() may expose internal representation by returning ScenarioHolder.INSTANCE MALICIOUS_CODE MS_EXPOSE_REP 9 Medium

com.tngtech.jgiven.impl.ScenarioModelBuilder

Bug Category Details Line Priority
com.tngtech.jgiven.impl.ScenarioModelBuilder.getReportModel() may expose internal representation by returning ScenarioModelBuilder.reportModel MALICIOUS_CODE EI_EXPOSE_REP 516 Medium
com.tngtech.jgiven.impl.ScenarioModelBuilder.getScenarioCaseModel() may expose internal representation by returning ScenarioModelBuilder.scenarioCaseModel MALICIOUS_CODE EI_EXPOSE_REP 524 Medium
com.tngtech.jgiven.impl.ScenarioModelBuilder.getScenarioModel() may expose internal representation by returning ScenarioModelBuilder.scenarioModel MALICIOUS_CODE EI_EXPOSE_REP 520 Medium
com.tngtech.jgiven.impl.ScenarioModelBuilder.setReportModel(ReportModel) may expose internal representation by storing an externally mutable object into ScenarioModelBuilder.reportModel MALICIOUS_CODE EI_EXPOSE_REP2 71 Medium

com.tngtech.jgiven.impl.format.ParameterFormattingUtil

Bug Category Details Line Priority
Exception is caught when Exception is not thrown in com.tngtech.jgiven.impl.format.ParameterFormattingUtil.getFormatting(Annotation[], Set, Annotation, String) STYLE REC_CATCH_EXCEPTION 85 Low

com.tngtech.jgiven.impl.inject.ValueInjector

Bug Category Details Line Priority
Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in com.tngtech.jgiven.impl.inject.ValueInjector.validateFields(Object) MALICIOUS_CODE DP_DO_INSIDE_DO_PRIVILEGED 46 Low
Suspicious comparison of Boolean references in com.tngtech.jgiven.impl.inject.ValueInjector.validateFields(Object) BAD_PRACTICE RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN 39 Medium

com.tngtech.jgiven.impl.intercept.StepInterceptorImpl

Bug Category Details Line Priority
new com.tngtech.jgiven.impl.intercept.StepInterceptorImpl(ScenarioExecutor, ScenarioListener, StageTransitionHandler) may expose internal representation by storing an externally mutable object into StepInterceptorImpl.scenarioExecutor MALICIOUS_CODE EI_EXPOSE_REP2 62 Medium

com.tngtech.jgiven.impl.tag.TagCreator

Bug Category Details Line Priority
new com.tngtech.jgiven.impl.tag.TagCreator(AbstractJGivenConfiguration) may expose internal representation by storing an externally mutable object into TagCreator.configuration MALICIOUS_CODE EI_EXPOSE_REP2 34 Medium

com.tngtech.jgiven.impl.util.AnsiUtil

Bug Category Details Line Priority
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.tngtech.jgiven.impl.util.AnsiUtil.wrapOutputStream(OutputStream, boolean) I18N DM_CONVERT_CASE 60 Low

com.tngtech.jgiven.impl.util.FieldCache

Bug Category Details Line Priority
Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in com.tngtech.jgiven.impl.util.FieldCache.get(Class) MT_CORRECTNESS AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION 24 Medium
Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in com.tngtech.jgiven.impl.util.FieldCache.getFieldsWithAnnotation(Class[]) MT_CORRECTNESS AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION 52 Medium

com.tngtech.jgiven.impl.util.FieldCache$1

Bug Category Details Line Priority
The class com.tngtech.jgiven.impl.util.FieldCache$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 43 Low
Invocation of reflect.Field.setAccessible(boolean), which should be invoked from within a doPrivileged block, in com.tngtech.jgiven.impl.util.FieldCache$1.act(Object, Field) MALICIOUS_CODE DP_DO_INSIDE_DO_PRIVILEGED 47 Low

com.tngtech.jgiven.impl.util.WordUtil

Bug Category Details Line Priority
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.tngtech.jgiven.impl.util.WordUtil.capitalize(String) I18N DM_CONVERT_CASE 28 Low
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.tngtech.jgiven.impl.util.WordUtil.lowerCaseFirstChar(String) I18N DM_CONVERT_CASE 35 Low

com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$CollectPhase

Bug Category Details Line Priority
Unread field: com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$CollectPhase.noDataTablePossible PERFORMANCE URF_UNREAD_FIELD 221 Medium

com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$Searcher

Bug Category Details Line Priority
Should com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$Searcher.findNext() return a zero length array rather than null? STYLE PZLA_PREFER_ZERO_LENGTH_ARRAYS 127 Low

com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$Sequence

Bug Category Details Line Priority
CaseDifferenceAnalyzer$Sequence.input not initialized in constructor and dereferenced in com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$Sequence.isAtEnd() STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR 39 Low
CaseDifferenceAnalyzer$Sequence.input not initialized in constructor and dereferenced in com.tngtech.jgiven.report.analysis.CaseDifferenceAnalyzer$Sequence.setDifferenceToWords() STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR 45 Low

com.tngtech.jgiven.report.asciidoc.AsciiDocReportGenerator

Bug Category Details Line Priority
Possible null pointer dereference in com.tngtech.jgiven.report.asciidoc.AsciiDocReportGenerator.writeTotalStatisticsFile() due to return value of called method STYLE NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE 161 Medium

com.tngtech.jgiven.report.asciidoc.MetadataMapper

Bug Category Details Line Priority
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.tngtech.jgiven.report.asciidoc.MetadataMapper.toAsciiDocTagName(ExecutionStatus) I18N DM_CONVERT_CASE 36 Low

com.tngtech.jgiven.report.config.CommandLineOptionBuilder

Bug Category Details Line Priority
com.tngtech.jgiven.report.config.CommandLineOptionBuilder.build() may expose internal representation by returning CommandLineOptionBuilder.clo MALICIOUS_CODE EI_EXPOSE_REP 30 Medium

com.tngtech.jgiven.report.config.ConfigOption

Bug Category Details Line Priority
com.tngtech.jgiven.report.config.ConfigOption.getCommandLineOption() may expose internal representation by returning ConfigOption.commandLineOption MALICIOUS_CODE EI_EXPOSE_REP 45 Medium
com.tngtech.jgiven.report.config.ConfigOption.setCommandLineOption(CommandLineOption) may expose internal representation by storing an externally mutable object into ConfigOption.commandLineOption MALICIOUS_CODE EI_EXPOSE_REP2 49 Medium
ConfigOption.converter not initialized in constructor and dereferenced in com.tngtech.jgiven.report.config.ConfigOption.toObject(String) STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR 117 Low

com.tngtech.jgiven.report.config.ConfigOptionBuilder

Bug Category Details Line Priority
com.tngtech.jgiven.report.config.ConfigOptionBuilder.build() may expose internal representation by returning ConfigOptionBuilder.co MALICIOUS_CODE EI_EXPOSE_REP 91 Medium

com.tngtech.jgiven.report.config.ConfigOptionParser

Bug Category Details Line Priority
com.tngtech.jgiven.report.config.ConfigOptionParser.generate(List, String[]) may expose internal representation by returning ConfigOptionParser.parsedOptions MALICIOUS_CODE EI_EXPOSE_REP 100 Medium
Format string should use %n rather than \n in com.tngtech.jgiven.report.config.ConfigOptionParser.printUsageAndExit(List) BAD_PRACTICE VA_FORMAT_STRING_USES_NEWLINE 259 Medium

com.tngtech.jgiven.report.config.ConfigOptionParser$ConfigOptionLevenshteinDistance

Bug Category Details Line Priority
Should com.tngtech.jgiven.report.config.ConfigOptionParser$ConfigOptionLevenshteinDistance be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 161-217 Medium

com.tngtech.jgiven.report.json.ReportModelReader

Bug Category Details Line Priority
com.tngtech.jgiven.report.json.ReportModelReader.readDirectory() may expose internal representation by returning ReportModelReader.completeModelReport MALICIOUS_CODE EI_EXPOSE_REP 40 Medium
new com.tngtech.jgiven.report.json.ReportModelReader(AbstractReportConfig) may expose internal representation by storing an externally mutable object into ReportModelReader.config MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium

com.tngtech.jgiven.report.json.ScenarioJsonWriter

Bug Category Details Line Priority
new com.tngtech.jgiven.report.json.ScenarioJsonWriter(ReportModel) may expose internal representation by storing an externally mutable object into ScenarioJsonWriter.model MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium

com.tngtech.jgiven.report.model.ArgumentInfo

Bug Category Details Line Priority
com.tngtech.jgiven.report.model.ArgumentInfo.getDataTable() may expose internal representation by returning ArgumentInfo.dataTable MALICIOUS_CODE EI_EXPOSE_REP 77 Medium
com.tngtech.jgiven.report.model.ArgumentInfo.setDataTable(DataTable) may expose internal representation by storing an externally mutable object into ArgumentInfo.dataTable MALICIOUS_CODE EI_EXPOSE_REP2 73 Medium

com.tngtech.jgiven.report.model.CasesTable

Bug Category Details Line Priority
new com.tngtech.jgiven.report.model.CasesTable(List, boolean, List) may expose internal representation by storing an externally mutable object into CasesTable.placeHolders MALICIOUS_CODE EI_EXPOSE_REP2 23 Medium
new com.tngtech.jgiven.report.model.CasesTable(List, boolean, List) may expose internal representation by storing an externally mutable object into CasesTable.rows MALICIOUS_CODE EI_EXPOSE_REP2 25 Medium

com.tngtech.jgiven.report.model.CasesTable$CaseRow

Bug Category Details Line Priority
new com.tngtech.jgiven.report.model.CasesTable$CaseRow(int, String, List, ExecutionStatus, long, String, List) may expose internal representation by storing an externally mutable object into CasesTable$CaseRow.arguments MALICIOUS_CODE EI_EXPOSE_REP2 80 Medium
new com.tngtech.jgiven.report.model.CasesTable$CaseRow(int, String, List, ExecutionStatus, long, String, List) may expose internal representation by storing an externally mutable object into CasesTable$CaseRow.stackTrace MALICIOUS_CODE EI_EXPOSE_REP2 84 Medium

com.tngtech.jgiven.report.model.CompleteReportModel

Bug Category Details Line Priority
com.tngtech.jgiven.report.model.CompleteReportModel.getAllReportModels() may expose internal representation by returning CompleteReportModel.models MALICIOUS_CODE EI_EXPOSE_REP 82 Medium
com.tngtech.jgiven.report.model.CompleteReportModel.getAllScenarios() may expose internal representation by returning CompleteReportModel.allScenarios MALICIOUS_CODE EI_EXPOSE_REP 62 Medium
com.tngtech.jgiven.report.model.CompleteReportModel.getFailedScenarios() may expose internal representation by returning CompleteReportModel.failedScenarios MALICIOUS_CODE EI_EXPOSE_REP 54 Medium
com.tngtech.jgiven.report.model.CompleteReportModel.getPendingScenarios() may expose internal representation by returning CompleteReportModel.pendingScenarios MALICIOUS_CODE EI_EXPOSE_REP 58 Medium
com.tngtech.jgiven.report.model.CompleteReportModel.getTagIdMap() may expose internal representation by returning CompleteReportModel.tagIdMap MALICIOUS_CODE EI_EXPOSE_REP 86 Medium
com.tngtech.jgiven.report.model.CompleteReportModel.getTotalStatistics() may expose internal representation by returning CompleteReportModel.totalStatistics MALICIOUS_CODE EI_EXPOSE_REP 66 Medium

com.tngtech.jgiven.report.model.DataTable

Bug Category Details Line Priority
com.tngtech.jgiven.report.model.DataTable.getData() may expose internal representation by returning DataTable.data MALICIOUS_CODE EI_EXPOSE_REP 49 Medium
com.tngtech.jgiven.report.model.DataTable.setData(List) may expose internal representation by storing an externally mutable object into DataTable.data MALICIOUS_CODE EI_EXPOSE_REP2 53 Medium

com.tngtech.jgiven.report.model.ExecutionStatusCalculator

Bug Category Details Line Priority
Unwritten field: com.tngtech.jgiven.report.model.ExecutionStatusCalculator.status CORRECTNESS UWF_UNWRITTEN_FIELD 20 Medium

com.tngtech.jgiven.report.model.ReportModel

Bug Category Details Line Priority
Use of non-localized String.toUpperCase() or String.toLowerCase() in com.tngtech.jgiven.report.model.ReportModel.lambda$sortByDescription$0(ScenarioModel) I18N DM_CONVERT_CASE 51 Low
com.tngtech.jgiven.report.model.ReportModel.getScenarios() may expose internal representation by returning ReportModel.scenarios MALICIOUS_CODE EI_EXPOSE_REP 101 Medium
com.tngtech.jgiven.report.model.ReportModel.getTagMap() may expose internal representation by returning ReportModel.tagMap MALICIOUS_CODE EI_EXPOSE_REP 151 Medium
com.tngtech.jgiven.report.model.ReportModel.setScenarios(List) may expose internal representation by storing an externally mutable object into ReportModel.scenarios MALICIOUS_CODE EI_EXPOSE_REP2 105 Medium
com.tngtech.jgiven.report.model.ReportModel.setTagMap(Map) may expose internal representation by storing an externally mutable object into ReportModel.tagMap MALICIOUS_CODE EI_EXPOSE_REP2 155 Medium

com.tngtech.jgiven.report.model.ReportModelFile

Bug Category Details Line Priority
com.tngtech.jgiven.report.model.ReportModelFile.model() may expose internal representation by returning ReportModelFile.model MALICIOUS_CODE EI_EXPOSE_REP 19 Medium
new com.tngtech.jgiven.report.model.ReportModelFile(File, ReportModel) may expose internal representation by storing an externally mutable object into ReportModelFile.model MALICIOUS_CODE EI_EXPOSE_REP2 11 Medium

com.tngtech.jgiven.report.model.ScenarioCaseModel

Bug Category Details Line Priority
com.tngtech.jgiven.report.model.ScenarioCaseModel.getStackTrace() may expose internal representation by returning ScenarioCaseModel.stackTrace MALICIOUS_CODE EI_EXPOSE_REP 147 Medium
com.tngtech.jgiven.report.model.ScenarioCaseModel.setStackTrace(List) may expose internal representation by storing an externally mutable object into ScenarioCaseModel.stackTrace MALICIOUS_CODE EI_EXPOSE_REP2 151 Medium
com.tngtech.jgiven.report.model.ScenarioCaseModel.setSteps(List) may expose internal representation by storing an externally mutable object into ScenarioCaseModel.steps MALICIOUS_CODE EI_EXPOSE_REP2 139 Medium

com.tngtech.jgiven.report.model.ScenarioModel

Bug Category Details Line Priority
com.tngtech.jgiven.report.model.ScenarioModel.getScenarioCases() may expose internal representation by returning ScenarioModel.scenarioCases MALICIOUS_CODE EI_EXPOSE_REP 103 Medium
com.tngtech.jgiven.report.model.ScenarioModel.setTagIds(Set) may expose internal representation by storing an externally mutable object into ScenarioModel.tagIds MALICIOUS_CODE EI_EXPOSE_REP2 172 Medium
com.tngtech.jgiven.report.model.ScenarioModel.getExplicitParameters() is unsynchronized, com.tngtech.jgiven.report.model.ScenarioModel.setExplicitParameters(List) is synchronized MT_CORRECTNESS UG_SYNC_SET_UNSYNC_GET 99 Medium

com.tngtech.jgiven.report.model.StepFormatter

Bug Category Details Line Priority
new com.tngtech.jgiven.report.model.StepFormatter(String, List, List) may expose internal representation by storing an externally mutable object into StepFormatter.arguments MALICIOUS_CODE EI_EXPOSE_REP2 136 Medium
new com.tngtech.jgiven.report.model.StepFormatter(String, List, List) may expose internal representation by storing an externally mutable object into StepFormatter.formatters MALICIOUS_CODE EI_EXPOSE_REP2 137 Medium

com.tngtech.jgiven.report.model.StepFormatter$TypeBasedFormatting

Bug Category Details Line Priority
new com.tngtech.jgiven.report.model.StepFormatter$TypeBasedFormatting(Formatter, Annotation[]) may expose internal representation by storing an externally mutable object into StepFormatter$TypeBasedFormatting.annotations MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

com.tngtech.jgiven.report.model.StepModel

Bug Category Details Line Priority
Boxed value is unboxed and then immediately reboxed in com.tngtech.jgiven.report.model.StepModel.isSectionTitle() PERFORMANCE BX_UNBOXING_IMMEDIATELY_REBOXED 199 Medium
com.tngtech.jgiven.report.model.StepModel.getAttachments() may expose internal representation by returning StepModel.attachments MALICIOUS_CODE EI_EXPOSE_REP 175 Medium
com.tngtech.jgiven.report.model.StepModel.getNestedSteps() may expose internal representation by returning StepModel.nestedSteps MALICIOUS_CODE EI_EXPOSE_REP 189 Medium
com.tngtech.jgiven.report.model.StepModel.setNestedSteps(List) may expose internal representation by storing an externally mutable object into StepModel.nestedSteps MALICIOUS_CODE EI_EXPOSE_REP2 195 Medium

com.tngtech.jgiven.report.model.Tag

Bug Category Details Line Priority
com.tngtech.jgiven.report.model.Tag.getTags() may expose internal representation by returning Tag.tags MALICIOUS_CODE EI_EXPOSE_REP 270 Medium
com.tngtech.jgiven.report.model.Tag.setTags(List) may expose internal representation by storing an externally mutable object into Tag.tags MALICIOUS_CODE EI_EXPOSE_REP2 275 Medium

com.tngtech.jgiven.report.model.Word

Bug Category Details Line Priority
com.tngtech.jgiven.report.model.Word.getArgumentInfo() may expose internal representation by returning Word.argumentInfo MALICIOUS_CODE EI_EXPOSE_REP 97 Medium

com.tngtech.jgiven.report.text.DataTablePlainTextScenarioWriter

Bug Category Details Line Priority

com.tngtech.jgiven.report.text.PlainTextScenarioWriter

Bug Category Details Line Priority
com.tngtech.jgiven.report.text.PlainTextScenarioWriter.visit(ScenarioCaseModel) may expose internal representation by storing an externally mutable object into PlainTextScenarioWriter.currentCaseModel MALICIOUS_CODE EI_EXPOSE_REP2 53 Medium
com.tngtech.jgiven.report.text.PlainTextScenarioWriter.visit(ScenarioModel) may expose internal representation by storing an externally mutable object into PlainTextScenarioWriter.currentScenarioModel MALICIOUS_CODE EI_EXPOSE_REP2 34 Medium
PlainTextScenarioWriter.currentCaseModel not initialized in constructor and dereferenced in com.tngtech.jgiven.report.text.DataTablePlainTextScenarioWriter.visit(StepModel) STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR 18 Low
PlainTextScenarioWriter.currentScenarioModel not initialized in constructor and dereferenced in com.tngtech.jgiven.report.text.PlainTextScenarioWriter.getDescriptionOrDefault(ScenarioCaseModel) STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR 66 Low
PlainTextScenarioWriter.currentScenarioModel not initialized in constructor and dereferenced in com.tngtech.jgiven.report.text.PlainTextScenarioWriter.visit(ScenarioCaseModel) STYLE UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR 49 Low

com.tngtech.jgiven.report.text.PlainTextWriter

Bug Category Details Line Priority
new com.tngtech.jgiven.report.text.PlainTextWriter(PrintWriter, boolean) may expose internal representation by storing an externally mutable object into PlainTextWriter.writer MALICIOUS_CODE EI_EXPOSE_REP2 16 Medium

dev.aherscu.qa.jgiven.commons.steps.GenericActions

Bug Category Details Line Priority
Overridable method trace is called from constructor new dev.aherscu.qa.jgiven.commons.steps.GenericActions(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 58 Low

dev.aherscu.qa.jgiven.commons.steps.GenericFixtures

Bug Category Details Line Priority
Overridable method trace is called from constructor new dev.aherscu.qa.jgiven.commons.steps.GenericFixtures(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 47 Low

dev.aherscu.qa.jgiven.commons.steps.GenericVerifications

Bug Category Details Line Priority
Overridable method trace is called from constructor new dev.aherscu.qa.jgiven.commons.steps.GenericVerifications(). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 65 Low

dev.aherscu.qa.jgiven.commons.utils.AbstractCsvDataProvider

Bug Category Details Line Priority
Found reliance on default encoding in dev.aherscu.qa.jgiven.commons.utils.AbstractCsvDataProvider.data(Method): new java.io.InputStreamReader(InputStream) I18N DM_DEFAULT_ENCODING 78 High