Global Metrics

path: .metrics.mi.mi_original
old: 41.197700620575205
new: 73.52232548515565

path: .metrics.mi.mi_visual_studio
old: 24.0922225851317
new: 42.99551197962319

path: .metrics.mi.mi_sei
old: 10.790663221061068
new: 69.85050836290384

path: .metrics.nom.total
old: 8.0
new: 6.0

path: .metrics.nom.functions
old: 8.0
new: 6.0

path: .metrics.loc.cloc
old: 16.0
new: 13.0

path: .metrics.loc.ploc
old: 120.0
new: 26.0

path: .metrics.loc.sloc
old: 149.0
new: 42.0

path: .metrics.loc.lloc
old: 44.0
new: 6.0

path: .metrics.loc.blank
old: 13.0
new: 3.0

path: .metrics.nargs.sum
old: 23.0
new: 0.0

path: .metrics.nargs.average
old: 2.875
new: 0.0

path: .metrics.nexits.average
old: 0.5
new: 0.6666666666666666

path: .metrics.cyclomatic.average
old: 2.7
new: 1.6666666666666667

path: .metrics.cyclomatic.sum
old: 27.0
new: 15.0

path: .metrics.cognitive.average
old: 2.625
new: 0.3333333333333333

path: .metrics.cognitive.sum
old: 21.0
new: 2.0

path: .metrics.halstead.n1
old: 23.0
new: 14.0

path: .metrics.halstead.N2
old: 247.0
new: 38.0

path: .metrics.halstead.length
old: 556.0
new: 120.0

path: .metrics.halstead.level
old: 0.02182714310860764
new: 0.08646616541353383

path: .metrics.halstead.purity_ratio
old: 0.85108290689442
new: 1.3112074491509813

path: .metrics.halstead.volume
old: 3563.621360492562
new: 625.134403875474

path: .metrics.halstead.effort
old: 163265.58829805037
new: 7229.815279603308

path: .metrics.halstead.n2
old: 62.0
new: 23.0

path: .metrics.halstead.difficulty
old: 45.814516129032256
new: 11.565217391304348

path: .metrics.halstead.vocabulary
old: 85.0
new: 37.0

path: .metrics.halstead.bugs
old: 0.9957305922003116
new: 0.12463218610506438

path: .metrics.halstead.estimated_program_length
old: 473.20209623329754
new: 157.34489389811776

path: .metrics.halstead.N1
old: 309.0
new: 82.0

path: .metrics.halstead.time
old: 9070.3104610028
new: 401.656404422406

Spaces Data

Minimal test - lines (23, 30)

path: .spaces[0].spaces[2].metrics.halstead.difficulty
old: 11.470588235294118
new: 8.0

path: .spaces[0].spaces[2].metrics.halstead.time
old: 209.50498572426568
new: 107.02635884729514

path: .spaces[0].spaces[2].metrics.halstead.n2
old: 17.0
new: 11.0

path: .spaces[0].spaces[2].metrics.halstead.level
old: 0.08717948717948718
new: 0.125

path: .spaces[0].spaces[2].metrics.halstead.length
old: 67.0
new: 54.0

path: .spaces[0].spaces[2].metrics.halstead.n1
old: 13.0
new: 11.0

path: .spaces[0].spaces[2].metrics.halstead.vocabulary
old: 30.0
new: 22.0

path: .spaces[0].spaces[2].metrics.halstead.N1
old: 37.0
new: 38.0

path: .spaces[0].spaces[2].metrics.halstead.estimated_program_length
old: 117.59258463708996
new: 76.10749561002054

path: .spaces[0].spaces[2].metrics.halstead.volume
old: 328.76166990577076
new: 240.8093074064141

path: .spaces[0].spaces[2].metrics.halstead.effort
old: 3771.0897430367822
new: 1926.4744592513125

path: .spaces[0].spaces[2].metrics.halstead.bugs
old: 0.08075882478970832
new: 0.05160846187785579

path: .spaces[0].spaces[2].metrics.halstead.purity_ratio
old: 1.7551132035386563
new: 1.409398066852232

path: .spaces[0].spaces[2].metrics.halstead.N2
old: 30.0
new: 16.0

path: .spaces[0].spaces[2].metrics.loc.cloc
old: 0.0
new: 1.0

path: .spaces[0].spaces[2].metrics.loc.lloc
old: 5.0
new: 2.0

path: .spaces[0].spaces[2].metrics.loc.ploc
old: 13.0
new: 8.0

path: .spaces[0].spaces[2].metrics.loc.sloc
old: 13.0
new: 8.0

path: .spaces[0].spaces[2].metrics.nargs.sum
old: 4.0
new: 0.0

path: .spaces[0].spaces[2].metrics.nargs.average
old: 4.0
new: 0.0

path: .spaces[0].spaces[2].metrics.mi.mi_sei
old: 67.1162054280147
new: 106.83612878750031

path: .spaces[0].spaces[2].metrics.mi.mi_original
old: 98.8520883896174
new: 108.33621912830668

path: .spaces[0].spaces[2].metrics.mi.mi_visual_studio
old: 57.80823882433765
new: 63.35451411012086

path: .spaces[0].spaces[2].metrics.cognitive.average
old: 2.0
new: 1.0

path: .spaces[0].spaces[2].metrics.cognitive.sum
old: 2.0
new: 1.0

Code

void ClearExtraCounters() {  // hand-written memset, don't asan-ify.
  uintptr_t *Beg = reinterpret_cast(ExtraCountersBegin());
  uintptr_t *End = reinterpret_cast(ExtraCountersEnd());
  for (; Beg < End; Beg++) {
    *Beg = 0;
    __asm__ __volatile__("" : : : "memory");
  }
}

Minimal test - lines (21, 21)

path: .spaces[0].spaces[1].metrics.nargs.average
old: 4.0
new: 0.0

path: .spaces[0].spaces[1].metrics.nargs.sum
old: 4.0
new: 0.0

path: .spaces[0].spaces[1].metrics.mi.mi_sei
old: 72.9331167143331
new: 145.63125671373976

path: .spaces[0].spaces[1].metrics.mi.mi_visual_studio
old: 45.95642715874573
new: 89.67552688205174

path: .spaces[0].spaces[1].metrics.mi.mi_original
old: 78.5854904414552
new: 153.34515096830847

path: .spaces[0].spaces[1].metrics.loc.cloc
old: 8.0
new: 0.0

path: .spaces[0].spaces[1].metrics.loc.lloc
old: 13.0
new: 1.0

path: .spaces[0].spaces[1].metrics.loc.sloc
old: 33.0
new: 1.0

path: .spaces[0].spaces[1].metrics.loc.ploc
old: 25.0
new: 1.0

path: .spaces[0].spaces[1].metrics.cognitive.average
old: 8.0
new: 0.0

path: .spaces[0].spaces[1].metrics.cognitive.sum
old: 8.0
new: 0.0

path: .spaces[0].spaces[1].metrics.cyclomatic.average
old: 7.0
new: 1.0

path: .spaces[0].spaces[1].metrics.cyclomatic.sum
old: 7.0
new: 1.0

path: .spaces[0].spaces[1].metrics.nexits.sum
old: 0.0
new: 1.0

path: .spaces[0].spaces[1].metrics.nexits.average
old: 0.0
new: 1.0

path: .spaces[0].spaces[1].metrics.halstead.n2
old: 17.0
new: 2.0

path: .spaces[0].spaces[1].metrics.halstead.effort
old: 23024.74801800514
new: 99.85263754543284

path: .spaces[0].spaces[1].metrics.halstead.N1
old: 78.0
new: 7.0

path: .spaces[0].spaces[1].metrics.halstead.difficulty
old: 32.294117647058826
new: 3.5

path: .spaces[0].spaces[1].metrics.halstead.bugs
old: 0.2697793284564982
new: 0.007174392059877131

path: .spaces[0].spaces[1].metrics.halstead.N2
old: 61.0
new: 2.0

path: .spaces[0].spaces[1].metrics.halstead.level
old: 0.030965391621129323
new: 0.2857142857142857

path: .spaces[0].spaces[1].metrics.halstead.estimated_program_length
old: 144.5455183272174
new: 21.651484454403228

path: .spaces[0].spaces[1].metrics.halstead.purity_ratio
old: 1.0398958153037223
new: 2.405720494933692

path: .spaces[0].spaces[1].metrics.halstead.time
old: 1279.152667666952
new: 5.547368752524046

path: .spaces[0].spaces[1].metrics.halstead.volume
old: 712.9703393553503
new: 28.52932501298081

path: .spaces[0].spaces[1].metrics.halstead.vocabulary
old: 35.0
new: 9.0

path: .spaces[0].spaces[1].metrics.halstead.length
old: 139.0
new: 9.0

path: .spaces[0].spaces[1].metrics.halstead.n1
old: 18.0
new: 7.0

Code

uint8_t *ExtraCountersEnd() { return &__stop___libfuzzer_extra_counters; }

Minimal test - lines (19, 32)

path: .spaces[0].metrics.halstead.n2
old: 60.0
new: 14.0

path: .spaces[0].metrics.halstead.time
old: 9213.67330851135
new: 190.591740711719

path: .spaces[0].metrics.halstead.effort
old: 165846.1195532043
new: 3430.651332810942

path: .spaces[0].metrics.halstead.estimated_program_length
old: 458.4553607258224
new: 101.40868524464064

path: .spaces[0].metrics.halstead.length
old: 554.0
new: 74.0

path: .spaces[0].metrics.halstead.purity_ratio
old: 0.8275367522126759
new: 1.3703876384410898

path: .spaces[0].metrics.halstead.volume
old: 3531.771844966196
new: 351.86167516009664

path: .spaces[0].metrics.halstead.bugs
old: 1.0061953088957731
new: 0.07582221483291023

path: .spaces[0].metrics.halstead.N2
old: 245.0
new: 21.0

path: .spaces[0].metrics.halstead.vocabulary
old: 83.0
new: 27.0

path: .spaces[0].metrics.halstead.difficulty
old: 46.958333333333336
new: 9.75

path: .spaces[0].metrics.halstead.level
old: 0.02129547471162378
new: 0.10256410256410256

path: .spaces[0].metrics.halstead.n1
old: 23.0
new: 13.0

path: .spaces[0].metrics.halstead.N1
old: 309.0
new: 53.0

path: .spaces[0].metrics.mi.mi_sei
old: 8.588599227752056
new: 84.30028571927028

path: .spaces[0].metrics.mi.mi_original
old: 42.59983647525658
new: 96.60843298386548

path: .spaces[0].metrics.mi.mi_visual_studio
old: 24.91218507324946
new: 56.49615963968741

path: .spaces[0].metrics.loc.ploc
old: 118.0
new: 13.0

path: .spaces[0].metrics.loc.sloc
old: 139.0
new: 14.0

path: .spaces[0].metrics.loc.blank
old: 11.0
new: 0.0

path: .spaces[0].metrics.loc.lloc
old: 44.0
new: 4.0

path: .spaces[0].metrics.loc.cloc
old: 10.0
new: 1.0

path: .spaces[0].metrics.nexits.average
old: 0.5
new: 0.6666666666666666

path: .spaces[0].metrics.nexits.sum
old: 4.0
new: 2.0

path: .spaces[0].metrics.cognitive.average
old: 2.625
new: 0.3333333333333333

path: .spaces[0].metrics.cognitive.sum
old: 21.0
new: 1.0

path: .spaces[0].metrics.nom.total
old: 8.0
new: 3.0

path: .spaces[0].metrics.nom.functions
old: 8.0
new: 3.0

path: .spaces[0].metrics.cyclomatic.average
old: 2.888888888888889
new: 1.25

path: .spaces[0].metrics.cyclomatic.sum
old: 26.0
new: 5.0

path: .spaces[0].metrics.nargs.sum
old: 23.0
new: 0.0

path: .spaces[0].metrics.nargs.average
old: 2.875
new: 0.0

Code

namespace fuzzer {
uint8_t *ExtraCountersBegin() { return &__start___libfuzzer_extra_counters; }
uint8_t *ExtraCountersEnd() { return &__stop___libfuzzer_extra_counters; }
ATTRIBUTE_NO_SANITIZE_ALL
void ClearExtraCounters() {  // hand-written memset, don't asan-ify.
  uintptr_t *Beg = reinterpret_cast(ExtraCountersBegin());
  uintptr_t *End = reinterpret_cast(ExtraCountersEnd());
  for (; Beg < End; Beg++) {
    *Beg = 0;
    __asm__ __volatile__("" : : : "memory");
  }
}

}  // namespace fuzzer

Minimal test - lines (20, 20)

path: .spaces[0].spaces[0].metrics.nexits.sum
old: 3.0
new: 1.0

path: .spaces[0].spaces[0].metrics.nexits.average
old: 3.0
new: 1.0

path: .spaces[0].spaces[0].metrics.cognitive.average
old: 3.0
new: 0.0

path: .spaces[0].spaces[0].metrics.cognitive.sum
old: 3.0
new: 0.0

path: .spaces[0].spaces[0].metrics.halstead.effort
old: 2931.268147524944
new: 99.85263754543284

path: .spaces[0].spaces[0].metrics.halstead.level
old: 0.08333333333333333
new: 0.2857142857142857

path: .spaces[0].spaces[0].metrics.halstead.volume
old: 244.2723456270787
new: 28.52932501298081

path: .spaces[0].spaces[0].metrics.halstead.vocabulary
old: 23.0
new: 9.0

path: .spaces[0].spaces[0].metrics.halstead.length
old: 54.0
new: 9.0

path: .spaces[0].spaces[0].metrics.halstead.N2
old: 22.0
new: 2.0

path: .spaces[0].spaces[0].metrics.halstead.N1
old: 32.0
new: 7.0

path: .spaces[0].spaces[0].metrics.halstead.n1
old: 12.0
new: 7.0

path: .spaces[0].spaces[0].metrics.halstead.difficulty
old: 12.0
new: 3.5

path: .spaces[0].spaces[0].metrics.halstead.n2
old: 11.0
new: 2.0

path: .spaces[0].spaces[0].metrics.halstead.time
old: 162.84823041805245
new: 5.547368752524046

path: .spaces[0].spaces[0].metrics.halstead.bugs
old: 0.06827301956154704
new: 0.007174392059877131

path: .spaces[0].spaces[0].metrics.halstead.purity_ratio
old: 1.5013573669197062
new: 2.405720494933692

path: .spaces[0].spaces[0].metrics.halstead.estimated_program_length
old: 81.07329781366414
new: 21.651484454403228

path: .spaces[0].spaces[0].metrics.loc.blank
old: 1.0
new: 0.0

path: .spaces[0].spaces[0].metrics.loc.ploc
old: 16.0
new: 1.0

path: .spaces[0].spaces[0].metrics.loc.lloc
old: 9.0
new: 1.0

path: .spaces[0].spaces[0].metrics.loc.sloc
old: 17.0
new: 1.0

path: .spaces[0].spaces[0].metrics.mi.mi_sei
old: 62.61489895836005
new: 145.63125671373976

path: .spaces[0].spaces[0].metrics.mi.mi_visual_studio
old: 55.90109251719159
new: 89.67552688205174

path: .spaces[0].spaces[0].metrics.mi.mi_original
old: 95.59086820439762
new: 153.34515096830847

path: .spaces[0].spaces[0].metrics.cyclomatic.sum
old: 4.0
new: 1.0

path: .spaces[0].spaces[0].metrics.cyclomatic.average
old: 4.0
new: 1.0

Code

uint8_t *ExtraCountersBegin() { return &__start___libfuzzer_extra_counters; }