# Global Metrics

path: .metrics.halstead.n2
old: 33.0
new: 21.0
path: .metrics.halstead.n1
old: 12.0
new: 13.0
path: .metrics.halstead.time
old: 659.8544705135504
new: 395.7723076979034
path: .metrics.halstead.bugs
old: 0.1735238564208709
new: 0.1234119887291169
path: .metrics.halstead.effort
old: 11877.380469243906
new: 7123.901538562261
path: .metrics.halstead.length
old: 183.0
new: 116.0
path: .metrics.halstead.vocabulary
old: 45.0
new: 34.0
path: .metrics.halstead.N2
old: 65.0
new: 39.0
path: .metrics.halstead.purity_ratio
old: 1.144724349439797
new: 1.209865363915415
path: .metrics.halstead.difficulty
old: 11.818181818181818
new: 12.071428571428571
path: .metrics.halstead.N1
old: 118.0
new: 77.0
path: .metrics.halstead.level
old: 0.08461538461538462
new: 0.08284023668639054
path: .metrics.halstead.estimated_program_length
old: 209.48455594748285
new: 140.34438221418816
path: .metrics.halstead.volume
old: 1005.0091166283304
new: 590.1456895850393
path: .metrics.loc.blank
old: 11.0
new: 10.0
path: .metrics.loc.sloc
old: 79.0
new: 44.0
path: .metrics.loc.cloc
old: 16.0
new: 6.0
path: .metrics.loc.ploc
old: 52.0
new: 28.0
path: .metrics.nom.functions
old: 0.0
new: 3.0
path: .metrics.nom.total
old: 0.0
new: 3.0
path: .metrics.cognitive.average
old: null
new: 0.0
path: .metrics.nexits.average
old: null
new: 0.0
path: .metrics.cyclomatic.average
old: 1.4
new: 1.0
path: .metrics.cyclomatic.sum
old: 7.0
new: 6.0
path: .metrics.mi.mi_original
old: 62.65863495306942
new: 75.13820685335438
path: .metrics.mi.mi_sei
old: 47.51254239101424
new: 60.38058443533406
path: .metrics.mi.mi_visual_studio
old: 36.642476580742354
new: 43.94047184406688
path: .metrics.nargs.sum
old: 0.0
new: 2.0
path: .metrics.nargs.average
old: null
new: 0.6666666666666666

# Spaces Data

## Minimal test - lines (22, 42)

path: .spaces[0].metrics.loc.sloc
old: 1.0
new: 21.0
path: .spaces[0].metrics.loc.blank
old: 0.0
new: 5.0
path: .spaces[0].metrics.loc.ploc
old: 1.0
new: 16.0
path: .spaces[0].metrics.cyclomatic.sum
old: 1.0
new: 5.0
path: .spaces[0].metrics.nom.functions
old: 0.0
new: 3.0
path: .spaces[0].metrics.nom.total
old: 0.0
new: 3.0
path: .spaces[0].metrics.mi.mi_visual_studio
old: null
new: 52.58968353686882
path: .spaces[0].metrics.mi.mi_original
old: null
new: 89.92835884804569
path: .spaces[0].metrics.mi.mi_sei
old: null
new: 54.54744465036819
path: .spaces[0].metrics.nexits.average
old: null
new: 0.0
path: .spaces[0].metrics.halstead.time
old: 0.0
new: 218.5138902514245
path: .spaces[0].metrics.halstead.effort
old: 0.0
new: 3933.250024525641
path: .spaces[0].metrics.halstead.N1
old: 0.0
new: 43.0
path: .spaces[0].metrics.halstead.length
old: 1.0
new: 74.0
path: .spaces[0].metrics.halstead.N2
old: 1.0
new: 31.0
path: .spaces[0].metrics.halstead.n1
old: 0.0
new: 12.0
path: .spaces[0].metrics.halstead.n2
old: 1.0
new: 17.0
path: .spaces[0].metrics.halstead.vocabulary
old: 1.0
new: 29.0
path: .spaces[0].metrics.halstead.volume
old: 0.0
new: 359.4905936394403
path: .spaces[0].metrics.halstead.estimated_program_length
old: null
new: 112.50641830990963
path: .spaces[0].metrics.halstead.difficulty
old: 0.0
new: 10.941176470588236
path: .spaces[0].metrics.halstead.level
old: null
new: 0.0913978494623656
path: .spaces[0].metrics.halstead.bugs
old: 0.0
new: 0.08305767717928442
path: .spaces[0].metrics.halstead.purity_ratio
old: null
new: 1.520357004187968
path: .spaces[0].metrics.cognitive.average
old: null
new: 0.0
path: .spaces[0].metrics.nargs.average
old: null
new: 0.6666666666666666
path: .spaces[0].metrics.nargs.sum
old: 0.0
new: 2.0

### Code

    namespace mozilla {

    typedef std::pair FuzzerFunctions;

    class FuzzerRegistry {
     public:
      MOZ_EXPORT static FuzzerRegistry& getInstance();
      MOZ_EXPORT void registerModule(std::string moduleName,
                                     FuzzerInitFunc initFunc,
                                     FuzzerTestingFunc testingFunc);
      MOZ_EXPORT FuzzerFunctions getModuleFunctions(std::string& moduleName);

      FuzzerRegistry(FuzzerRegistry const&) = delete;
      void operator=(FuzzerRegistry const&) = delete;

     private:
      FuzzerRegistry(){};
      std::map moduleMap;
    };

    }  // namespace mozilla