Record Class FuzzReport

java.lang.Object
java.lang.Record
org.ek9lang.compiler.fuzz.FuzzReport

public record FuzzReport(long generated, long parseable, long compiled, long compilerCrashes, long formatterCrashes, long multiFilePrograms, long totalFiles, long corrections, double programsPerSec, Duration elapsed, long totalGenTimeNs, long totalParseTimeNs, long totalCompileTimeNs, long totalSourceBytes, long totalSourceLines, long minSourceLines, long maxSourceLines, Map<String,Long> errorCodeCounts, Map<String,Long> phaseReachedCounts, Map<String,Long> constructCounts, Map<String,Long> constructCrashCounts, Map<String,Long> controlFlowCounts, Map<String,Long> controlFlowCrashCounts, Map<Integer,Long> paramCountHistogram, Map<String,Long> templateUsageCounts, Map<String,Long> templateCrashCounts, long strand4Matches, long strand4Mismatches, long strand4NoError, long strand4Skips) extends Record
Immutable snapshot of fuzz statistics at a point in time.
  • Constructor Details

    • FuzzReport

      public FuzzReport(long generated, long parseable, long compiled, long compilerCrashes, long formatterCrashes, long multiFilePrograms, long totalFiles, long corrections, double programsPerSec, Duration elapsed, long totalGenTimeNs, long totalParseTimeNs, long totalCompileTimeNs, long totalSourceBytes, long totalSourceLines, long minSourceLines, long maxSourceLines, Map<String,Long> errorCodeCounts, Map<String,Long> phaseReachedCounts, Map<String,Long> constructCounts, Map<String,Long> constructCrashCounts, Map<String,Long> controlFlowCounts, Map<String,Long> controlFlowCrashCounts, Map<Integer,Long> paramCountHistogram, Map<String,Long> templateUsageCounts, Map<String,Long> templateCrashCounts, long strand4Matches, long strand4Mismatches, long strand4NoError, long strand4Skips)
      Creates an instance of a FuzzReport record class.
      Parameters:
      generated - the value for the generated record component
      parseable - the value for the parseable record component
      compiled - the value for the compiled record component
      compilerCrashes - the value for the compilerCrashes record component
      formatterCrashes - the value for the formatterCrashes record component
      multiFilePrograms - the value for the multiFilePrograms record component
      totalFiles - the value for the totalFiles record component
      corrections - the value for the corrections record component
      programsPerSec - the value for the programsPerSec record component
      elapsed - the value for the elapsed record component
      totalGenTimeNs - the value for the totalGenTimeNs record component
      totalParseTimeNs - the value for the totalParseTimeNs record component
      totalCompileTimeNs - the value for the totalCompileTimeNs record component
      totalSourceBytes - the value for the totalSourceBytes record component
      totalSourceLines - the value for the totalSourceLines record component
      minSourceLines - the value for the minSourceLines record component
      maxSourceLines - the value for the maxSourceLines record component
      errorCodeCounts - the value for the errorCodeCounts record component
      phaseReachedCounts - the value for the phaseReachedCounts record component
      constructCounts - the value for the constructCounts record component
      constructCrashCounts - the value for the constructCrashCounts record component
      controlFlowCounts - the value for the controlFlowCounts record component
      controlFlowCrashCounts - the value for the controlFlowCrashCounts record component
      paramCountHistogram - the value for the paramCountHistogram record component
      templateUsageCounts - the value for the templateUsageCounts record component
      templateCrashCounts - the value for the templateCrashCounts record component
      strand4Matches - the value for the strand4Matches record component
      strand4Mismatches - the value for the strand4Mismatches record component
      strand4NoError - the value for the strand4NoError record component
      strand4Skips - the value for the strand4Skips record component
  • Method Details

    • uniqueErrorCodes

      public int uniqueErrorCodes()
    • uniqueConstructs

      public int uniqueConstructs()
    • uniqueControlFlow

      public int uniqueControlFlow()
    • avgSourceLines

      public double avgSourceLines()
    • avgFilesPerProgram

      public double avgFilesPerProgram()
    • multiFilePercent

      public double multiFilePercent()
    • parseablePercent

      public double parseablePercent()
    • compiledPercent

      public double compiledPercent()
    • uniqueTemplatesUsed

      public int uniqueTemplatesUsed()
    • strand4Total

      public long strand4Total()
    • strand4MatchPercent

      public double strand4MatchPercent()
    • mergedTemplateUsage

      public Map<String,long[]> mergedTemplateUsage()
      Merge probe/mutate/targeted template usage into per-QA-ID arrays.
      Returns:
      qaId to [probeCount, mutateCount, targetedCount]
    • mergedTemplateCrashes

      public Map<String,long[]> mergedTemplateCrashes()
      Merge probe/mutate/targeted template crashes into per-QA-ID arrays.
      Returns:
      qaId to [probeCrashes, mutateCrashes, targetedCrashes]
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with the compare method from their corresponding wrapper classes.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • generated

      public long generated()
      Returns the value of the generated record component.
      Returns:
      the value of the generated record component
    • parseable

      public long parseable()
      Returns the value of the parseable record component.
      Returns:
      the value of the parseable record component
    • compiled

      public long compiled()
      Returns the value of the compiled record component.
      Returns:
      the value of the compiled record component
    • compilerCrashes

      public long compilerCrashes()
      Returns the value of the compilerCrashes record component.
      Returns:
      the value of the compilerCrashes record component
    • formatterCrashes

      public long formatterCrashes()
      Returns the value of the formatterCrashes record component.
      Returns:
      the value of the formatterCrashes record component
    • multiFilePrograms

      public long multiFilePrograms()
      Returns the value of the multiFilePrograms record component.
      Returns:
      the value of the multiFilePrograms record component
    • totalFiles

      public long totalFiles()
      Returns the value of the totalFiles record component.
      Returns:
      the value of the totalFiles record component
    • corrections

      public long corrections()
      Returns the value of the corrections record component.
      Returns:
      the value of the corrections record component
    • programsPerSec

      public double programsPerSec()
      Returns the value of the programsPerSec record component.
      Returns:
      the value of the programsPerSec record component
    • elapsed

      public Duration elapsed()
      Returns the value of the elapsed record component.
      Returns:
      the value of the elapsed record component
    • totalGenTimeNs

      public long totalGenTimeNs()
      Returns the value of the totalGenTimeNs record component.
      Returns:
      the value of the totalGenTimeNs record component
    • totalParseTimeNs

      public long totalParseTimeNs()
      Returns the value of the totalParseTimeNs record component.
      Returns:
      the value of the totalParseTimeNs record component
    • totalCompileTimeNs

      public long totalCompileTimeNs()
      Returns the value of the totalCompileTimeNs record component.
      Returns:
      the value of the totalCompileTimeNs record component
    • totalSourceBytes

      public long totalSourceBytes()
      Returns the value of the totalSourceBytes record component.
      Returns:
      the value of the totalSourceBytes record component
    • totalSourceLines

      public long totalSourceLines()
      Returns the value of the totalSourceLines record component.
      Returns:
      the value of the totalSourceLines record component
    • minSourceLines

      public long minSourceLines()
      Returns the value of the minSourceLines record component.
      Returns:
      the value of the minSourceLines record component
    • maxSourceLines

      public long maxSourceLines()
      Returns the value of the maxSourceLines record component.
      Returns:
      the value of the maxSourceLines record component
    • errorCodeCounts

      public Map<String,Long> errorCodeCounts()
      Returns the value of the errorCodeCounts record component.
      Returns:
      the value of the errorCodeCounts record component
    • phaseReachedCounts

      public Map<String,Long> phaseReachedCounts()
      Returns the value of the phaseReachedCounts record component.
      Returns:
      the value of the phaseReachedCounts record component
    • constructCounts

      public Map<String,Long> constructCounts()
      Returns the value of the constructCounts record component.
      Returns:
      the value of the constructCounts record component
    • constructCrashCounts

      public Map<String,Long> constructCrashCounts()
      Returns the value of the constructCrashCounts record component.
      Returns:
      the value of the constructCrashCounts record component
    • controlFlowCounts

      public Map<String,Long> controlFlowCounts()
      Returns the value of the controlFlowCounts record component.
      Returns:
      the value of the controlFlowCounts record component
    • controlFlowCrashCounts

      public Map<String,Long> controlFlowCrashCounts()
      Returns the value of the controlFlowCrashCounts record component.
      Returns:
      the value of the controlFlowCrashCounts record component
    • paramCountHistogram

      public Map<Integer,Long> paramCountHistogram()
      Returns the value of the paramCountHistogram record component.
      Returns:
      the value of the paramCountHistogram record component
    • templateUsageCounts

      public Map<String,Long> templateUsageCounts()
      Returns the value of the templateUsageCounts record component.
      Returns:
      the value of the templateUsageCounts record component
    • templateCrashCounts

      public Map<String,Long> templateCrashCounts()
      Returns the value of the templateCrashCounts record component.
      Returns:
      the value of the templateCrashCounts record component
    • strand4Matches

      public long strand4Matches()
      Returns the value of the strand4Matches record component.
      Returns:
      the value of the strand4Matches record component
    • strand4Mismatches

      public long strand4Mismatches()
      Returns the value of the strand4Mismatches record component.
      Returns:
      the value of the strand4Mismatches record component
    • strand4NoError

      public long strand4NoError()
      Returns the value of the strand4NoError record component.
      Returns:
      the value of the strand4NoError record component
    • strand4Skips

      public long strand4Skips()
      Returns the value of the strand4Skips record component.
      Returns:
      the value of the strand4Skips record component