[
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 9,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 24,
        "loc_per_function": 4.5,
        "blanks_per_loc": 0.44,
        "num_funs": 2,
        "comments_per_loc": 2.67,
        "tokens": 53,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.16981132075471697,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.2222222222222222,
        "tokens_per_loc": 5.888888888888889
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 83,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestDimension.java",
        "comments": 21,
        "loc_per_function": 7.55,
        "blanks_per_loc": 0.18,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 560,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.90909090909091,
        "ccn_per_token": 0.019642857142857142,
        "functions_per_token": 0.019642857142857142,
        "loc_per_token": 0.14821428571428572,
        "ccn_per_loc": 0.13253012048192772,
        "functions_per_loc": 0.13253012048192772,
        "tokens_per_loc": 6.746987951807229
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 98,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestDirection.java",
        "comments": 27,
        "loc_per_function": 7.54,
        "blanks_per_loc": 0.17,
        "num_funs": 13,
        "comments_per_loc": 0.28,
        "tokens": 924,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.07692307692308,
        "ccn_per_token": 0.01406926406926407,
        "functions_per_token": 0.01406926406926407,
        "loc_per_token": 0.10606060606060606,
        "ccn_per_loc": 0.1326530612244898,
        "functions_per_loc": 0.1326530612244898,
        "tokens_per_loc": 9.428571428571429
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 22,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 45,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 2.05,
        "tokens": 156,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 78.0,
        "ccn_per_token": 0.01282051282051282,
        "functions_per_token": 0.01282051282051282,
        "loc_per_token": 0.14102564102564102,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.090909090909091
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 466,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.2,
        "ccn_per_token": 0.01072961373390558,
        "functions_per_token": 0.01072961373390558,
        "loc_per_token": 0.11802575107296137,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.472727272727273
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 224,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestGeomUtils.java",
        "comments": 20,
        "loc_per_function": 5.21,
        "blanks_per_loc": 0.21,
        "num_funs": 43,
        "comments_per_loc": 0.09,
        "tokens": 1414,
        "ccn": 43,
        "ccn_per_function": 1.0,
        "tokens_per_function": 32.883720930232556,
        "ccn_per_token": 0.03041018387553041,
        "functions_per_token": 0.03041018387553041,
        "loc_per_token": 0.15841584158415842,
        "ccn_per_loc": 0.19196428571428573,
        "functions_per_loc": 0.19196428571428573,
        "tokens_per_loc": 6.3125
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 737,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.88888888888889,
        "ccn_per_token": 0.012211668928086838,
        "functions_per_token": 0.012211668928086838,
        "loc_per_token": 0.11533242876526459,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.670588235294117
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 484,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 21.04,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.09,
        "tokens": 4860,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 211.30434782608697,
        "ccn_per_token": 0.004732510288065843,
        "functions_per_token": 0.004732510288065843,
        "loc_per_token": 0.09958847736625515,
        "ccn_per_loc": 0.047520661157024795,
        "functions_per_loc": 0.047520661157024795,
        "tokens_per_loc": 10.041322314049587
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestDependencyEdgeViewer.java",
        "comments": 20,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 289,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 96.33333333333333,
        "ccn_per_token": 0.010380622837370242,
        "functions_per_token": 0.010380622837370242,
        "loc_per_token": 0.14186851211072665,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 7.048780487804878
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestNoteEdgeViewer.java",
        "comments": 25,
        "loc_per_function": 18,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.35,
        "tokens": 631,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.75,
        "ccn_per_token": 0.006339144215530904,
        "functions_per_token": 0.006339144215530904,
        "loc_per_token": 0.11410459587955626,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 8.76388888888889
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 120,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestFieldNodeViewer.java",
        "comments": 35,
        "loc_per_function": 9.23,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.29,
        "tokens": 1005,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.3076923076923,
        "ccn_per_token": 0.012935323383084577,
        "functions_per_token": 0.012935323383084577,
        "loc_per_token": 0.11940298507462686,
        "ccn_per_loc": 0.10833333333333334,
        "functions_per_loc": 0.10833333333333334,
        "tokens_per_loc": 8.375
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCircularNodeViewer.java",
        "comments": 20,
        "loc_per_function": 6.82,
        "blanks_per_loc": 0.2,
        "num_funs": 11,
        "comments_per_loc": 0.27,
        "tokens": 519,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 47.18181818181818,
        "ccn_per_token": 0.02119460500963391,
        "functions_per_token": 0.02119460500963391,
        "loc_per_token": 0.14450867052023122,
        "ccn_per_loc": 0.14666666666666667,
        "functions_per_loc": 0.14666666666666667,
        "tokens_per_loc": 6.92
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestTypeNodeViewer.java",
        "comments": 26,
        "loc_per_function": 8.4,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 0.21,
        "tokens": 831,
        "ccn": 16,
        "ccn_per_function": 1.0666666666666667,
        "tokens_per_function": 55.4,
        "ccn_per_token": 0.019253910950661854,
        "functions_per_token": 0.018050541516245487,
        "loc_per_token": 0.15162454873646208,
        "ccn_per_loc": 0.12698412698412698,
        "functions_per_loc": 0.11904761904761904,
        "tokens_per_loc": 6.595238095238095
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestUseCaseNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 117,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestObjectNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.17,
        "tokens": 870,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.5,
        "ccn_per_token": 0.013793103448275862,
        "functions_per_token": 0.013793103448275862,
        "loc_per_token": 0.13448275862068965,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.435897435897436
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 77,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCallNodeViewer.java",
        "comments": 20,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.26,
        "tokens": 591,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 147.75,
        "ccn_per_token": 0.00676818950930626,
        "functions_per_token": 0.00676818950930626,
        "loc_per_token": 0.13028764805414553,
        "ccn_per_loc": 0.05194805194805195,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 7.675324675324675
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestPackageNodeViewer.java",
        "comments": 20,
        "loc_per_function": 8.54,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.18,
        "tokens": 682,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 52.46153846153846,
        "ccn_per_token": 0.021994134897360705,
        "functions_per_token": 0.01906158357771261,
        "loc_per_token": 0.1627565982404692,
        "ccn_per_loc": 0.13513513513513514,
        "functions_per_loc": 0.11711711711711711,
        "tokens_per_loc": 6.1441441441441444
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 113,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestImplicitParameterNodeViewer.java",
        "comments": 27,
        "loc_per_function": 16.14,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 874,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 124.85714285714286,
        "ccn_per_token": 0.008009153318077803,
        "functions_per_token": 0.008009153318077803,
        "loc_per_token": 0.12929061784897025,
        "ccn_per_loc": 0.061946902654867256,
        "functions_per_loc": 0.061946902654867256,
        "tokens_per_loc": 7.734513274336283
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestActorNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 385,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.012987012987012988,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.12467532467532468,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 8.020833333333334
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 84,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestNoteNodeViewer.java",
        "comments": 24,
        "loc_per_function": 6,
        "blanks_per_loc": 0.23,
        "num_funs": 14,
        "comments_per_loc": 0.29,
        "tokens": 547,
        "ccn": 14,
        "ccn_per_function": 1.0,
        "tokens_per_function": 39.07142857142857,
        "ccn_per_token": 0.025594149908592323,
        "functions_per_token": 0.025594149908592323,
        "loc_per_token": 0.15356489945155394,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 6.511904761904762
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestStateNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestGrid.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.24,
        "tokens": 1233,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 246.6,
        "ccn_per_token": 0.0040551500405515,
        "functions_per_token": 0.0040551500405515,
        "loc_per_token": 0.0689375506893755,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 14.505882352941176
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 36,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestFontMetrics.java",
        "comments": 1,
        "loc_per_function": 12,
        "blanks_per_loc": 0.25,
        "num_funs": 3,
        "comments_per_loc": 0.03,
        "tokens": 354,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 118.0,
        "ccn_per_token": 0.00847457627118644,
        "functions_per_token": 0.00847457627118644,
        "loc_per_token": 0.1016949152542373,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 9.833333333333334
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestStringViewer.java",
        "comments": 0,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 0,
        "tokens": 403,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 134.33333333333334,
        "ccn_per_token": 0.007444168734491315,
        "functions_per_token": 0.007444168734491315,
        "loc_per_token": 0.10173697270471464,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 9.829268292682928
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 134,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 24,
        "loc_per_function": 7.44,
        "blanks_per_loc": 0.16,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 793,
        "ccn": 23,
        "ccn_per_function": 1.2777777777777777,
        "tokens_per_function": 44.05555555555556,
        "ccn_per_token": 0.029003783102143757,
        "functions_per_token": 0.02269861286254729,
        "loc_per_token": 0.16897856242118536,
        "ccn_per_loc": 0.17164179104477612,
        "functions_per_loc": 0.13432835820895522,
        "tokens_per_loc": 5.917910447761194
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2699,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.6875,
        "ccn_per_token": 0.005928121526491293,
        "functions_per_token": 0.005928121526491293,
        "loc_per_token": 0.10633567988143756,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.404181184668989
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 244,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 24,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.11,
        "num_funs": 18,
        "comments_per_loc": 0.1,
        "tokens": 1859,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.27777777777777,
        "ccn_per_token": 0.009682625067240451,
        "functions_per_token": 0.009682625067240451,
        "loc_per_token": 0.1312533620225928,
        "ccn_per_loc": 0.07377049180327869,
        "functions_per_loc": 0.07377049180327869,
        "tokens_per_loc": 7.618852459016393
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 100,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagram.java",
        "comments": 22,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 737,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.125,
        "ccn_per_token": 0.010854816824966078,
        "functions_per_token": 0.010854816824966078,
        "loc_per_token": 0.13568521031207598,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 7.37
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3510,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 219.375,
        "ccn_per_token": 0.004558404558404558,
        "functions_per_token": 0.004558404558404558,
        "loc_per_token": 0.09316239316239316,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.73394495412844
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 186,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 21,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.11,
        "tokens": 1809,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 100.5,
        "ccn_per_token": 0.010503040353786623,
        "functions_per_token": 0.009950248756218905,
        "loc_per_token": 0.10281923714759536,
        "ccn_per_loc": 0.10215053763440861,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 9.725806451612904
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 396,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 33,
        "loc_per_function": 9.43,
        "blanks_per_loc": 0.14,
        "num_funs": 42,
        "comments_per_loc": 0.08,
        "tokens": 2598,
        "ccn": 42,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.857142857142854,
        "ccn_per_token": 0.016166281755196306,
        "functions_per_token": 0.016166281755196306,
        "loc_per_token": 0.15242494226327943,
        "ccn_per_loc": 0.10606060606060606,
        "functions_per_loc": 0.10606060606060606,
        "tokens_per_loc": 6.5606060606060606
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.21,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 159,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.0,
        "ccn_per_token": 0.006289308176100629,
        "functions_per_token": 0.006289308176100629,
        "loc_per_token": 0.11949685534591195,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.368421052631579
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 469,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.75,
        "blanks_per_loc": 0.19,
        "num_funs": 28,
        "comments_per_loc": 0.06,
        "tokens": 4287,
        "ccn": 30,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 153.10714285714286,
        "ccn_per_token": 0.006997900629811057,
        "functions_per_token": 0.006531373921156987,
        "loc_per_token": 0.10940051317937952,
        "ccn_per_loc": 0.06396588486140725,
        "functions_per_loc": 0.05970149253731343,
        "tokens_per_loc": 9.140724946695096
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 313,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.08,
        "blanks_per_loc": 0.2,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3086,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 237.3846153846154,
        "ccn_per_token": 0.004212572909915748,
        "functions_per_token": 0.004212572909915748,
        "loc_per_token": 0.10142579390797149,
        "ccn_per_loc": 0.04153354632587859,
        "functions_per_loc": 0.04153354632587859,
        "tokens_per_loc": 9.859424920127795
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 333,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 19.59,
        "blanks_per_loc": 0.23,
        "num_funs": 17,
        "comments_per_loc": 0.08,
        "tokens": 2881,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 169.47058823529412,
        "ccn_per_token": 0.005900728913571677,
        "functions_per_token": 0.005900728913571677,
        "loc_per_token": 0.1155848663658452,
        "ccn_per_loc": 0.05105105105105105,
        "functions_per_loc": 0.05105105105105105,
        "tokens_per_loc": 8.651651651651651
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 115,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramDuplicate.java",
        "comments": 23,
        "loc_per_function": 16.43,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.2,
        "tokens": 1064,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.006578947368421052,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1080827067669173,
        "ccn_per_loc": 0.06086956521739131,
        "functions_per_loc": 0.06086956521739131,
        "tokens_per_loc": 9.252173913043478
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 458,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.6,
        "ccn_per_token": 0.010917030567685589,
        "functions_per_token": 0.010917030567685589,
        "loc_per_token": 0.10262008733624454,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 9.74468085106383
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 24,
        "loc_per_function": 14,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.57,
        "tokens": 310,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.33333333333333,
        "ccn_per_token": 0.00967741935483871,
        "functions_per_token": 0.00967741935483871,
        "loc_per_token": 0.13548387096774195,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 7.380952380952381
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 0.65,
        "tokens": 292,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.0,
        "ccn_per_token": 0.00684931506849315,
        "functions_per_token": 0.00684931506849315,
        "loc_per_token": 0.10616438356164383,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 9.419354838709678
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 1.18,
        "tokens": 167,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 167.0,
        "ccn_per_token": 0.005988023952095809,
        "functions_per_token": 0.005988023952095809,
        "loc_per_token": 0.10179640718562874,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 9.823529411764707
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 46,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestEdgeProperties.java",
        "comments": 23,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.5,
        "tokens": 506,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.66666666666666,
        "ccn_per_token": 0.005928853754940711,
        "functions_per_token": 0.005928853754940711,
        "loc_per_token": 0.09090909090909091,
        "ccn_per_loc": 0.06521739130434782,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 11.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 29,
        "loc_per_function": 7.93,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.26,
        "tokens": 759,
        "ccn": 14,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.214285714285715,
        "ccn_per_token": 0.01844532279314888,
        "functions_per_token": 0.01844532279314888,
        "loc_per_token": 0.14624505928853754,
        "ccn_per_loc": 0.12612612612612611,
        "functions_per_loc": 0.12612612612612611,
        "tokens_per_loc": 6.837837837837838
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 20,
        "loc_per_function": 10.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 250,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.5,
        "ccn_per_token": 0.016,
        "functions_per_token": 0.016,
        "loc_per_token": 0.164,
        "ccn_per_loc": 0.0975609756097561,
        "functions_per_loc": 0.0975609756097561,
        "tokens_per_loc": 6.097560975609756
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 129,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 16.12,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1259,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.375,
        "ccn_per_token": 0.006354249404289118,
        "functions_per_token": 0.006354249404289118,
        "loc_per_token": 0.10246227164416204,
        "ccn_per_loc": 0.06201550387596899,
        "functions_per_loc": 0.06201550387596899,
        "tokens_per_loc": 9.75968992248062
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 107,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 21.4,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.2,
        "tokens": 971,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 194.2,
        "ccn_per_token": 0.005149330587023687,
        "functions_per_token": 0.005149330587023687,
        "loc_per_token": 0.1101956745623069,
        "ccn_per_loc": 0.04672897196261682,
        "functions_per_loc": 0.04672897196261682,
        "tokens_per_loc": 9.074766355140186
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 9.11,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 558,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.0,
        "ccn_per_token": 0.016129032258064516,
        "functions_per_token": 0.016129032258064516,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.10975609756097561,
        "functions_per_loc": 0.10975609756097561,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 67,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageDescriptionNode.java",
        "comments": 20,
        "loc_per_function": 8.38,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.3,
        "tokens": 388,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.020618556701030927,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.17268041237113402,
        "ccn_per_loc": 0.11940298507462686,
        "functions_per_loc": 0.11940298507462686,
        "tokens_per_loc": 5.791044776119403
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.43,
        "tokens": 393,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 131.0,
        "ccn_per_token": 0.007633587786259542,
        "functions_per_token": 0.007633587786259542,
        "loc_per_token": 0.12468193384223919,
        "ccn_per_loc": 0.061224489795918366,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 8.020408163265307
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 68,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 9.71,
        "blanks_per_loc": 0.15,
        "num_funs": 7,
        "comments_per_loc": 0.34,
        "tokens": 431,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.57142857142857,
        "ccn_per_token": 0.016241299303944315,
        "functions_per_token": 0.016241299303944315,
        "loc_per_token": 0.15777262180974477,
        "ccn_per_loc": 0.10294117647058823,
        "functions_per_loc": 0.10294117647058823,
        "tokens_per_loc": 6.338235294117647
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 135,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.0,
        "ccn_per_token": 0.007407407407407408,
        "functions_per_token": 0.007407407407407408,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 188,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.11,
        "tokens": 1869,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 116.8125,
        "ccn_per_token": 0.008560727661851257,
        "functions_per_token": 0.008560727661851257,
        "loc_per_token": 0.10058855002675228,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 9.941489361702128
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 12.73,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1562,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 142.0,
        "ccn_per_token": 0.007042253521126761,
        "functions_per_token": 0.007042253521126761,
        "loc_per_token": 0.08962868117797695,
        "ccn_per_loc": 0.07857142857142857,
        "functions_per_loc": 0.07857142857142857,
        "tokens_per_loc": 11.157142857142857
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 106,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1081,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.125,
        "ccn_per_token": 0.0074005550416281225,
        "functions_per_token": 0.0074005550416281225,
        "loc_per_token": 0.09805735430157261,
        "ccn_per_loc": 0.07547169811320754,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 10.19811320754717
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 217,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 33,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.15,
        "tokens": 1486,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.875,
        "ccn_per_token": 0.010767160161507403,
        "functions_per_token": 0.010767160161507403,
        "loc_per_token": 0.14602960969044415,
        "ccn_per_loc": 0.07373271889400922,
        "functions_per_loc": 0.07373271889400922,
        "tokens_per_loc": 6.847926267281106
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 169,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 18.78,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.12,
        "tokens": 1534,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 170.44444444444446,
        "ccn_per_token": 0.005867014341590613,
        "functions_per_token": 0.005867014341590613,
        "loc_per_token": 0.11016949152542373,
        "ccn_per_loc": 0.05325443786982249,
        "functions_per_loc": 0.05325443786982249,
        "tokens_per_loc": 9.076923076923077
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 457,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 28,
        "loc_per_function": 11.72,
        "blanks_per_loc": 0.12,
        "num_funs": 39,
        "comments_per_loc": 0.06,
        "tokens": 3647,
        "ccn": 39,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.51282051282051,
        "ccn_per_token": 0.010693720866465589,
        "functions_per_token": 0.010693720866465589,
        "loc_per_token": 0.1253084727173019,
        "ccn_per_loc": 0.08533916849015317,
        "functions_per_loc": 0.08533916849015317,
        "tokens_per_loc": 7.980306345733042
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 210,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.14,
        "num_funs": 14,
        "comments_per_loc": 0.1,
        "tokens": 1768,
        "ccn": 15,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 126.28571428571429,
        "ccn_per_token": 0.008484162895927601,
        "functions_per_token": 0.007918552036199095,
        "loc_per_token": 0.11877828054298642,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 8.41904761904762
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 87,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.23,
        "tokens": 647,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.88888888888889,
        "ccn_per_token": 0.013910355486862442,
        "functions_per_token": 0.013910355486862442,
        "loc_per_token": 0.13446676970633695,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 7.436781609195402
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 57,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.21,
        "num_funs": 6,
        "comments_per_loc": 0.35,
        "tokens": 565,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 94.16666666666667,
        "ccn_per_token": 0.010619469026548672,
        "functions_per_token": 0.010619469026548672,
        "loc_per_token": 0.10088495575221239,
        "ccn_per_loc": 0.10526315789473684,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 9.912280701754385
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 166,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 7.9,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.12,
        "tokens": 1122,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 53.42857142857143,
        "ccn_per_token": 0.01871657754010695,
        "functions_per_token": 0.01871657754010695,
        "loc_per_token": 0.14795008912655971,
        "ccn_per_loc": 0.12650602409638553,
        "functions_per_loc": 0.12650602409638553,
        "tokens_per_loc": 6.759036144578313
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 179,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.95,
        "blanks_per_loc": 0.15,
        "num_funs": 20,
        "comments_per_loc": 0.11,
        "tokens": 1354,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.7,
        "ccn_per_token": 0.014771048744460856,
        "functions_per_token": 0.014771048744460856,
        "loc_per_token": 0.13220088626292467,
        "ccn_per_loc": 0.11173184357541899,
        "functions_per_loc": 0.11173184357541899,
        "tokens_per_loc": 7.564245810055866
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9.38,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.27,
        "tokens": 519,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.875,
        "ccn_per_token": 0.015414258188824663,
        "functions_per_token": 0.015414258188824663,
        "loc_per_token": 0.14450867052023122,
        "ccn_per_loc": 0.10666666666666667,
        "functions_per_loc": 0.10666666666666667,
        "tokens_per_loc": 6.92
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 95,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.64,
        "blanks_per_loc": 0.19,
        "num_funs": 11,
        "comments_per_loc": 0.21,
        "tokens": 636,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 57.81818181818182,
        "ccn_per_token": 0.01729559748427673,
        "functions_per_token": 0.01729559748427673,
        "loc_per_token": 0.14937106918238993,
        "ccn_per_loc": 0.11578947368421053,
        "functions_per_loc": 0.11578947368421053,
        "tokens_per_loc": 6.6947368421052635
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 118,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestVersion.java",
        "comments": 20,
        "loc_per_function": 5.9,
        "blanks_per_loc": 0.19,
        "num_funs": 20,
        "comments_per_loc": 0.17,
        "tokens": 705,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.25,
        "ccn_per_token": 0.028368794326241134,
        "functions_per_token": 0.028368794326241134,
        "loc_per_token": 0.1673758865248227,
        "ccn_per_loc": 0.1694915254237288,
        "functions_per_loc": 0.1694915254237288,
        "tokens_per_loc": 5.97457627118644
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 99,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.5,
        "ccn_per_token": 0.020202020202020204,
        "functions_per_token": 0.020202020202020204,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 745,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 93.125,
        "ccn_per_token": 0.013422818791946308,
        "functions_per_token": 0.010738255033557046,
        "loc_per_token": 0.14630872483221477,
        "ccn_per_loc": 0.09174311926605505,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 6.834862385321101
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 61,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.17,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.33,
        "tokens": 532,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 88.66666666666667,
        "ccn_per_token": 0.013157894736842105,
        "functions_per_token": 0.011278195488721804,
        "loc_per_token": 0.11466165413533834,
        "ccn_per_loc": 0.11475409836065574,
        "functions_per_loc": 0.09836065573770492,
        "tokens_per_loc": 8.721311475409836
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 183,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 13.07,
        "blanks_per_loc": 0.17,
        "num_funs": 14,
        "comments_per_loc": 0.11,
        "tokens": 1428,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011204481792717087,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.12815126050420167,
        "ccn_per_loc": 0.08743169398907104,
        "functions_per_loc": 0.07650273224043716,
        "tokens_per_loc": 7.80327868852459
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 166,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 24,
        "loc_per_function": 33.2,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1586,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 317.2,
        "ccn_per_token": 0.0037831021437578815,
        "functions_per_token": 0.0031525851197982345,
        "loc_per_token": 0.10466582597730138,
        "ccn_per_loc": 0.03614457831325301,
        "functions_per_loc": 0.030120481927710843,
        "tokens_per_loc": 9.55421686746988
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1506,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 301.2,
        "ccn_per_token": 0.0033200531208499337,
        "functions_per_token": 0.0033200531208499337,
        "loc_per_token": 0.09229747675962816,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.83453237410072
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 249,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.83,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2665,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.05555555555554,
        "ccn_per_token": 0.00675422138836773,
        "functions_per_token": 0.00675422138836773,
        "loc_per_token": 0.09343339587242026,
        "ccn_per_loc": 0.07228915662650602,
        "functions_per_loc": 0.07228915662650602,
        "tokens_per_loc": 10.70281124497992
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 21,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 619,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 77.375,
        "ccn_per_token": 0.01615508885298869,
        "functions_per_token": 0.012924071082390954,
        "loc_per_token": 0.1518578352180937,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.585106382978723
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 56,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramCanvasController.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.36,
        "tokens": 388,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 64.66666666666667,
        "ccn_per_token": 0.01804123711340206,
        "functions_per_token": 0.015463917525773196,
        "loc_per_token": 0.14432989690721648,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.928571428571429
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 485,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 41,
        "loc_per_function": 12.12,
        "blanks_per_loc": 0.11,
        "num_funs": 40,
        "comments_per_loc": 0.08,
        "tokens": 3504,
        "ccn": 42,
        "ccn_per_function": 1.05,
        "tokens_per_function": 87.6,
        "ccn_per_token": 0.011986301369863013,
        "functions_per_token": 0.01141552511415525,
        "loc_per_token": 0.1384132420091324,
        "ccn_per_loc": 0.0865979381443299,
        "functions_per_loc": 0.08247422680412371,
        "tokens_per_loc": 7.224742268041237
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramTabToolBar.java",
        "comments": 28,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.37,
        "tokens": 457,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 76.16666666666667,
        "ccn_per_token": 0.0175054704595186,
        "functions_per_token": 0.01312910284463895,
        "loc_per_token": 0.16411378555798686,
        "ccn_per_loc": 0.10666666666666667,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 6.093333333333334
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 70,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/tips/TestViewedTips.java",
        "comments": 24,
        "loc_per_function": 8.75,
        "blanks_per_loc": 0.29,
        "num_funs": 8,
        "comments_per_loc": 0.34,
        "tokens": 381,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 47.625,
        "ccn_per_token": 0.023622047244094488,
        "functions_per_token": 0.02099737532808399,
        "loc_per_token": 0.1837270341207349,
        "ccn_per_loc": 0.12857142857142856,
        "functions_per_loc": 0.11428571428571428,
        "tokens_per_loc": 5.442857142857143
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/tips/TestTipLoader.java",
        "comments": 20,
        "loc_per_function": 11.71,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 552,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 78.85714285714286,
        "ccn_per_token": 0.014492753623188406,
        "functions_per_token": 0.012681159420289856,
        "loc_per_token": 0.14855072463768115,
        "ccn_per_loc": 0.0975609756097561,
        "functions_per_loc": 0.08536585365853659,
        "tokens_per_loc": 6.7317073170731705
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 357,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/tips/TestTipDialog.java",
        "comments": 24,
        "loc_per_function": 12.31,
        "blanks_per_loc": 0.2,
        "num_funs": 29,
        "comments_per_loc": 0.07,
        "tokens": 2195,
        "ccn": 44,
        "ccn_per_function": 1.5172413793103448,
        "tokens_per_function": 75.6896551724138,
        "ccn_per_token": 0.020045558086560365,
        "functions_per_token": 0.013211845102505695,
        "loc_per_token": 0.16264236902050114,
        "ccn_per_loc": 0.12324929971988796,
        "functions_per_loc": 0.08123249299719888,
        "tokens_per_loc": 6.148459383753502
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 152,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/tips/TestTipJsons.java",
        "comments": 23,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.13,
        "num_funs": 12,
        "comments_per_loc": 0.15,
        "tokens": 949,
        "ccn": 22,
        "ccn_per_function": 1.8333333333333333,
        "tokens_per_function": 79.08333333333333,
        "ccn_per_token": 0.023182297154899896,
        "functions_per_token": 0.012644889357218124,
        "loc_per_token": 0.1601685985247629,
        "ccn_per_loc": 0.14473684210526316,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 6.243421052631579
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 165,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/CollectionAssertions.java",
        "comments": 56,
        "loc_per_function": 12.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.34,
        "tokens": 1058,
        "ccn": 49,
        "ccn_per_function": 3.769230769230769,
        "tokens_per_function": 81.38461538461539,
        "ccn_per_token": 0.046313799621928164,
        "functions_per_token": 0.012287334593572778,
        "loc_per_token": 0.15595463137996218,
        "ccn_per_loc": 0.296969696969697,
        "functions_per_loc": 0.07878787878787878,
        "tokens_per_loc": 6.412121212121212
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/GeometryUtils.java",
        "comments": 32,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 3,
        "comments_per_loc": 0.71,
        "tokens": 190,
        "ccn": 9,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.333333333333336,
        "ccn_per_token": 0.04736842105263158,
        "functions_per_token": 0.015789473684210527,
        "loc_per_token": 0.23684210526315788,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 4.222222222222222
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 28,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 172,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 57.333333333333336,
        "ccn_per_token": 0.01744186046511628,
        "functions_per_token": 0.01744186046511628,
        "loc_per_token": 0.16279069767441862,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.142857142857143
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 555,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 37,
        "blanks_per_loc": 0.24,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7594,
        "ccn": 17,
        "ccn_per_function": 1.1333333333333333,
        "tokens_per_function": 506.26666666666665,
        "ccn_per_token": 0.002238609428496181,
        "functions_per_token": 0.0019752436133789832,
        "loc_per_token": 0.07308401369502239,
        "ccn_per_loc": 0.03063063063063063,
        "functions_per_loc": 0.02702702702702703,
        "tokens_per_loc": 13.682882882882883
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 64,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 23,
        "loc_per_function": 12.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 534,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.8,
        "ccn_per_token": 0.009363295880149813,
        "functions_per_token": 0.009363295880149813,
        "loc_per_token": 0.1198501872659176,
        "ccn_per_loc": 0.078125,
        "functions_per_loc": 0.078125,
        "tokens_per_loc": 8.34375
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 20,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.22,
        "tokens": 518,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.1776061776061776,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.630434782608695
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 22,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.29,
        "tokens": 538,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 107.6,
        "ccn_per_token": 0.011152416356877323,
        "functions_per_token": 0.00929368029739777,
        "loc_per_token": 0.13940520446096655,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.173333333333333
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 192,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 31,
        "loc_per_function": 17.45,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1887,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 171.54545454545453,
        "ccn_per_token": 0.005829358770535241,
        "functions_per_token": 0.005829358770535241,
        "loc_per_token": 0.10174880763116058,
        "ccn_per_loc": 0.057291666666666664,
        "functions_per_loc": 0.057291666666666664,
        "tokens_per_loc": 9.828125
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 614,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 102.33333333333333,
        "ccn_per_token": 0.03745928338762215,
        "functions_per_token": 0.009771986970684038,
        "loc_per_token": 0.18241042345276873,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.482142857142857
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 124,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 27,
        "loc_per_function": 13.78,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1153,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 128.11111111111111,
        "ccn_per_token": 0.007805724197745013,
        "functions_per_token": 0.007805724197745013,
        "loc_per_token": 0.10754553339115351,
        "ccn_per_loc": 0.07258064516129033,
        "functions_per_loc": 0.07258064516129033,
        "tokens_per_loc": 9.298387096774194
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 10,
        "file_path": "src/module-info.java",
        "comments": 20,
        "loc_per_function": 10,
        "blanks_per_loc": 0,
        "num_funs": 0,
        "comments_per_loc": 2,
        "tokens": 59,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 59,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1694915254237288,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.9
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/JetUML.java",
        "comments": 33,
        "loc_per_function": 15.4,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 576,
        "ccn": 9,
        "ccn_per_function": 1.8,
        "tokens_per_function": 115.2,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.008680555555555556,
        "loc_per_token": 0.13368055555555555,
        "ccn_per_loc": 0.11688311688311688,
        "functions_per_loc": 0.06493506493506493,
        "tokens_per_loc": 7.48051948051948
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 43,
        "loc_per_function": 8.29,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.74,
        "tokens": 271,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 38.714285714285715,
        "ccn_per_token": 0.04797047970479705,
        "functions_per_token": 0.025830258302583026,
        "loc_per_token": 0.2140221402214022,
        "ccn_per_loc": 0.22413793103448276,
        "functions_per_loc": 0.1206896551724138,
        "tokens_per_loc": 4.672413793103448
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 70,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 54,
        "loc_per_function": 7,
        "blanks_per_loc": 0.16,
        "num_funs": 10,
        "comments_per_loc": 0.77,
        "tokens": 283,
        "ccn": 14,
        "ccn_per_function": 1.4,
        "tokens_per_function": 28.3,
        "ccn_per_token": 0.04946996466431095,
        "functions_per_token": 0.0353356890459364,
        "loc_per_token": 0.24734982332155478,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.042857142857143
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 164,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/GeomUtils.java",
        "comments": 74,
        "loc_per_function": 20.5,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.45,
        "tokens": 1842,
        "ccn": 29,
        "ccn_per_function": 3.625,
        "tokens_per_function": 230.25,
        "ccn_per_token": 0.015743756786102063,
        "functions_per_token": 0.004343105320304018,
        "loc_per_token": 0.08903365906623235,
        "ccn_per_loc": 0.17682926829268292,
        "functions_per_loc": 0.04878048780487805,
        "tokens_per_loc": 11.231707317073171
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 81,
        "loc_per_function": 7.2,
        "blanks_per_loc": 0.29,
        "num_funs": 10,
        "comments_per_loc": 1.12,
        "tokens": 477,
        "ccn": 18,
        "ccn_per_function": 1.8,
        "tokens_per_function": 47.7,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.020964360587002098,
        "loc_per_token": 0.1509433962264151,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.1388888888888889,
        "tokens_per_loc": 6.625
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 31,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 45,
        "loc_per_function": 6.2,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 1.45,
        "tokens": 256,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.2,
        "ccn_per_token": 0.01953125,
        "functions_per_token": 0.01953125,
        "loc_per_token": 0.12109375,
        "ccn_per_loc": 0.16129032258064516,
        "functions_per_loc": 0.16129032258064516,
        "tokens_per_loc": 8.258064516129032
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 52,
        "loc_per_function": 5.56,
        "blanks_per_loc": 0.26,
        "num_funs": 9,
        "comments_per_loc": 1.04,
        "tokens": 242,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.88888888888889,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.0371900826446281,
        "loc_per_token": 0.2066115702479339,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.18,
        "tokens_per_loc": 4.84
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 137,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 8.06,
        "blanks_per_loc": 0.14,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 741,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 43.588235294117645,
        "ccn_per_token": 0.04588394062078273,
        "functions_per_token": 0.022941970310391364,
        "loc_per_token": 0.18488529014844804,
        "ccn_per_loc": 0.24817518248175183,
        "functions_per_loc": 0.12408759124087591,
        "tokens_per_loc": 5.408759124087592
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 12,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectCollaborationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 1,
        "comments_per_loc": 2.17,
        "tokens": 92,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.13043478260869565,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.666666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 220,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentedEdgeViewer.java",
        "comments": 56,
        "loc_per_function": 20,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 1944,
        "ccn": 26,
        "ccn_per_function": 2.3636363636363638,
        "tokens_per_function": 176.72727272727272,
        "ccn_per_token": 0.013374485596707819,
        "functions_per_token": 0.00565843621399177,
        "loc_per_token": 0.11316872427983539,
        "ccn_per_loc": 0.11818181818181818,
        "functions_per_loc": 0.05,
        "tokens_per_loc": 8.836363636363636
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 31,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseDependencyEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.13,
        "num_funs": 3,
        "comments_per_loc": 0.87,
        "tokens": 294,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 98.0,
        "ccn_per_token": 0.01020408163265306,
        "functions_per_token": 0.01020408163265306,
        "loc_per_token": 0.1054421768707483,
        "ccn_per_loc": 0.0967741935483871,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 9.483870967741936
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewerRegistry.java",
        "comments": 68,
        "loc_per_function": 9.25,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.92,
        "tokens": 728,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.012362637362637362,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.10164835164835165,
        "ccn_per_loc": 0.12162162162162163,
        "functions_per_loc": 0.10810810810810811,
        "tokens_per_loc": 9.837837837837839
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseGeneralizationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/NoteEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ReturnEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 18.33,
        "blanks_per_loc": 0.09,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 579,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 193.0,
        "ccn_per_token": 0.008635578583765112,
        "functions_per_token": 0.0051813471502590676,
        "loc_per_token": 0.09499136442141623,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.05454545454545454,
        "tokens_per_loc": 10.527272727272727
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StraightEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 456,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.010964912280701754,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.11842105263157894,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 8.444444444444445
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/LabeledStraightEdgeViewer.java",
        "comments": 30,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.57,
        "tokens": 452,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 113.0,
        "ccn_per_token": 0.015486725663716814,
        "functions_per_token": 0.008849557522123894,
        "loc_per_token": 0.1172566371681416,
        "ccn_per_loc": 0.1320754716981132,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 8.528301886792454
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 177,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/CallEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 19.67,
        "blanks_per_loc": 0.09,
        "num_funs": 9,
        "comments_per_loc": 0.15,
        "tokens": 1553,
        "ccn": 19,
        "ccn_per_function": 2.111111111111111,
        "tokens_per_function": 172.55555555555554,
        "ccn_per_token": 0.012234385061171926,
        "functions_per_token": 0.005795235028976175,
        "loc_per_token": 0.11397295556986478,
        "ccn_per_loc": 0.10734463276836158,
        "functions_per_loc": 0.05084745762711865,
        "tokens_per_loc": 8.774011299435028
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/GeneralizationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 165,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 82.5,
        "ccn_per_token": 0.01818181818181818,
        "functions_per_token": 0.012121212121212121,
        "loc_per_token": 0.15757575757575756,
        "ccn_per_loc": 0.11538461538461539,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.346153846153846
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AssociationEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.1,
        "num_funs": 3,
        "comments_per_loc": 0.8,
        "tokens": 243,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.1646090534979424,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.075
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 570,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyleFactory.java",
        "comments": 95,
        "loc_per_function": 17.27,
        "blanks_per_loc": 0.1,
        "num_funs": 33,
        "comments_per_loc": 0.17,
        "tokens": 3842,
        "ccn": 120,
        "ccn_per_function": 3.6363636363636362,
        "tokens_per_function": 116.42424242424242,
        "ccn_per_token": 0.031233732431025507,
        "functions_per_token": 0.008589276418532014,
        "loc_per_token": 0.14836022904737117,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.05789473684210526,
        "tokens_per_loc": 6.7403508771929825
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AbstractEdgeViewer.java",
        "comments": 44,
        "loc_per_function": 12,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.61,
        "tokens": 631,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 105.16666666666667,
        "ccn_per_token": 0.012678288431061807,
        "functions_per_token": 0.009508716323296355,
        "loc_per_token": 0.11410459587955626,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 8.76388888888889
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 114,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectReferenceEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 16.29,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 1045,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 149.28571428571428,
        "ccn_per_token": 0.009569377990430622,
        "functions_per_token": 0.0066985645933014355,
        "loc_per_token": 0.10909090909090909,
        "ccn_per_loc": 0.08771929824561403,
        "functions_per_loc": 0.06140350877192982,
        "tokens_per_loc": 9.166666666666666
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 48,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyle.java",
        "comments": 49,
        "loc_per_function": 16,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 207,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.057971014492753624,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.2318840579710145,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 4.3125
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 357,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StateTransitionEdgeViewer.java",
        "comments": 62,
        "loc_per_function": 17,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.17,
        "tokens": 2924,
        "ccn": 48,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 139.23809523809524,
        "ccn_per_token": 0.016415868673050615,
        "functions_per_token": 0.007181942544459644,
        "loc_per_token": 0.12209302325581395,
        "ccn_per_loc": 0.13445378151260504,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 8.19047619047619
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/DependencyEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.04,
        "tokens": 219,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1141552511415525,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 8.76
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseAssociationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewer.java",
        "comments": 63,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 3.94,
        "tokens": 139,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 139,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11510791366906475,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.6875
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AggregationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 2,
        "comments_per_loc": 1.07,
        "tokens": 192,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/InterfaceNodeViewer.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 1,
        "comments_per_loc": 3.33,
        "tokens": 54,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.0,
        "ccn_per_token": 0.018518518518518517,
        "functions_per_token": 0.018518518518518517,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NoteNodeViewer.java",
        "comments": 27,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.44,
        "tokens": 667,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 166.75,
        "ccn_per_token": 0.005997001499250375,
        "functions_per_token": 0.005997001499250375,
        "loc_per_token": 0.09295352323838081,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 10.758064516129032
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 130,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ImplicitParameterNodeViewer.java",
        "comments": 39,
        "loc_per_function": 14.44,
        "blanks_per_loc": 0.1,
        "num_funs": 9,
        "comments_per_loc": 0.3,
        "tokens": 1083,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 120.33333333333333,
        "ccn_per_token": 0.01662049861495845,
        "functions_per_token": 0.008310249307479225,
        "loc_per_token": 0.12003693444136658,
        "ccn_per_loc": 0.13846153846153847,
        "functions_per_loc": 0.06923076923076923,
        "tokens_per_loc": 8.330769230769231
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageNodeViewer.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.19,
        "num_funs": 4,
        "comments_per_loc": 0.47,
        "tokens": 525,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 131.25,
        "ccn_per_token": 0.017142857142857144,
        "functions_per_token": 0.007619047619047619,
        "loc_per_token": 0.1219047619047619,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.203125
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 90,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ObjectNodeViewer.java",
        "comments": 32,
        "loc_per_function": 18,
        "blanks_per_loc": 0.08,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 827,
        "ccn": 11,
        "ccn_per_function": 2.2,
        "tokens_per_function": 165.4,
        "ccn_per_token": 0.013301088270858524,
        "functions_per_token": 0.006045949214026602,
        "loc_per_token": 0.10882708585247884,
        "ccn_per_loc": 0.12222222222222222,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 9.188888888888888
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 70,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractNodeViewer.java",
        "comments": 33,
        "loc_per_function": 14,
        "blanks_per_loc": 0.11,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 582,
        "ccn": 9,
        "ccn_per_function": 1.8,
        "tokens_per_function": 116.4,
        "ccn_per_token": 0.015463917525773196,
        "functions_per_token": 0.00859106529209622,
        "loc_per_token": 0.12027491408934708,
        "ccn_per_loc": 0.12857142857142856,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 8.314285714285715
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 42,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageDescriptionNodeViewer.java",
        "comments": 26,
        "loc_per_function": 14,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 0.62,
        "tokens": 444,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.0,
        "ccn_per_token": 0.006756756756756757,
        "functions_per_token": 0.006756756756756757,
        "loc_per_token": 0.0945945945945946,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 10.571428571428571
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/UseCaseNodeViewer.java",
        "comments": 23,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.57,
        "tokens": 419,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 139.66666666666666,
        "ccn_per_token": 0.007159904534606206,
        "functions_per_token": 0.007159904534606206,
        "loc_per_token": 0.0954653937947494,
        "ccn_per_loc": 0.075,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 10.475
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 111,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/TypeNodeViewer.java",
        "comments": 34,
        "loc_per_function": 13.88,
        "blanks_per_loc": 0.12,
        "num_funs": 8,
        "comments_per_loc": 0.31,
        "tokens": 967,
        "ccn": 15,
        "ccn_per_function": 1.875,
        "tokens_per_function": 120.875,
        "ccn_per_token": 0.015511892450879007,
        "functions_per_token": 0.008273009307135471,
        "loc_per_token": 0.11478800413650465,
        "ccn_per_loc": 0.13513513513513514,
        "functions_per_loc": 0.07207207207207207,
        "tokens_per_loc": 8.711711711711711
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 82,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractPackageNodeViewer.java",
        "comments": 33,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.4,
        "tokens": 718,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 119.66666666666667,
        "ccn_per_token": 0.012534818941504178,
        "functions_per_token": 0.008356545961002786,
        "loc_per_token": 0.11420612813370473,
        "ccn_per_loc": 0.10975609756097561,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 8.75609756097561
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewer.java",
        "comments": 66,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 4.12,
        "tokens": 142,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 142,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11267605633802817,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.875
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CircularStateNodeViewer.java",
        "comments": 26,
        "loc_per_function": 11,
        "blanks_per_loc": 0.14,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 337,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 84.25,
        "ccn_per_token": 0.01483679525222552,
        "functions_per_token": 0.011869436201780416,
        "loc_per_token": 0.13056379821958458,
        "ccn_per_loc": 0.11363636363636363,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.659090909090909
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 38,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/StateNodeViewer.java",
        "comments": 23,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.13,
        "num_funs": 3,
        "comments_per_loc": 0.61,
        "tokens": 374,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 124.66666666666667,
        "ccn_per_token": 0.008021390374331552,
        "functions_per_token": 0.008021390374331552,
        "loc_per_token": 0.10160427807486631,
        "ccn_per_loc": 0.07894736842105263,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 9.842105263157896
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 168,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CallNodeViewer.java",
        "comments": 37,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1148,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 127.55555555555556,
        "ccn_per_token": 0.02264808362369338,
        "functions_per_token": 0.0078397212543554,
        "loc_per_token": 0.14634146341463414,
        "ccn_per_loc": 0.15476190476190477,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 6.833333333333333
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewerRegistry.java",
        "comments": 69,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.91,
        "tokens": 764,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 95.5,
        "ccn_per_token": 0.011780104712041885,
        "functions_per_token": 0.010471204188481676,
        "loc_per_token": 0.09947643979057591,
        "ccn_per_loc": 0.11842105263157894,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 10.052631578947368
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 108,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/FieldNodeViewer.java",
        "comments": 38,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.09,
        "num_funs": 8,
        "comments_per_loc": 0.35,
        "tokens": 1036,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 129.5,
        "ccn_per_token": 0.010617760617760617,
        "functions_per_token": 0.007722007722007722,
        "loc_per_token": 0.10424710424710425,
        "ccn_per_loc": 0.10185185185185185,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 9.592592592592593
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ActorNodeViewer.java",
        "comments": 23,
        "loc_per_function": 24,
        "blanks_per_loc": 0.11,
        "num_funs": 3,
        "comments_per_loc": 0.32,
        "tokens": 770,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 256.6666666666667,
        "ccn_per_token": 0.003896103896103896,
        "functions_per_token": 0.003896103896103896,
        "loc_per_token": 0.09350649350649351,
        "ccn_per_loc": 0.041666666666666664,
        "functions_per_loc": 0.041666666666666664,
        "tokens_per_loc": 10.694444444444445
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PointNodeViewer.java",
        "comments": 24,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.83,
        "tokens": 193,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.25,
        "ccn_per_token": 0.02072538860103627,
        "functions_per_token": 0.02072538860103627,
        "loc_per_token": 0.15025906735751296,
        "ccn_per_loc": 0.13793103448275862,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 6.655172413793103
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramViewer.java",
        "comments": 32,
        "loc_per_function": 27.5,
        "blanks_per_loc": 0.07,
        "num_funs": 2,
        "comments_per_loc": 0.58,
        "tokens": 321,
        "ccn": 12,
        "ccn_per_function": 6.0,
        "tokens_per_function": 160.5,
        "ccn_per_token": 0.037383177570093455,
        "functions_per_token": 0.006230529595015576,
        "loc_per_token": 0.17133956386292834,
        "ccn_per_loc": 0.21818181818181817,
        "functions_per_loc": 0.03636363636363636,
        "tokens_per_loc": 5.836363636363636
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramViewer.java",
        "comments": 75,
        "loc_per_function": 16.71,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.64,
        "tokens": 694,
        "ccn": 26,
        "ccn_per_function": 3.7142857142857144,
        "tokens_per_function": 99.14285714285714,
        "ccn_per_token": 0.037463976945244955,
        "functions_per_token": 0.010086455331412104,
        "loc_per_token": 0.1685878962536023,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.05982905982905983,
        "tokens_per_loc": 5.931623931623932
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 179,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 52,
        "loc_per_function": 12.79,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.29,
        "tokens": 1114,
        "ccn": 40,
        "ccn_per_function": 2.857142857142857,
        "tokens_per_function": 79.57142857142857,
        "ccn_per_token": 0.03590664272890485,
        "functions_per_token": 0.012567324955116697,
        "loc_per_token": 0.1606822262118492,
        "ccn_per_loc": 0.22346368715083798,
        "functions_per_loc": 0.0782122905027933,
        "tokens_per_loc": 6.223463687150838
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 0.94,
        "tokens": 283,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 141.5,
        "ccn_per_token": 0.007067137809187279,
        "functions_per_token": 0.007067137809187279,
        "loc_per_token": 0.11307420494699646,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.84375
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/views/FontMetrics.java",
        "comments": 52,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.32,
        "num_funs": 2,
        "comments_per_loc": 2.08,
        "tokens": 178,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 89.0,
        "ccn_per_token": 0.011235955056179775,
        "functions_per_token": 0.011235955056179775,
        "loc_per_token": 0.1404494382022472,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 7.12
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 56,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 575,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 95.83333333333333,
        "ccn_per_token": 0.017391304347826087,
        "functions_per_token": 0.010434782608695653,
        "loc_per_token": 0.13217391304347825,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.565789473684211
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewerUtilities.java",
        "comments": 46,
        "loc_per_function": 13,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.88,
        "tokens": 291,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 72.75,
        "ccn_per_token": 0.027491408934707903,
        "functions_per_token": 0.013745704467353952,
        "loc_per_token": 0.17869415807560138,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.596153846153846
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 27,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 1.93,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 741,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 247.0,
        "ccn_per_token": 0.014844804318488529,
        "functions_per_token": 0.004048582995951417,
        "loc_per_token": 0.09986504723346828,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 10.013513513513514
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 200,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 135,
        "loc_per_function": 8.7,
        "blanks_per_loc": 0.14,
        "num_funs": 23,
        "comments_per_loc": 0.68,
        "tokens": 1079,
        "ccn": 51,
        "ccn_per_function": 2.217391304347826,
        "tokens_per_function": 46.91304347826087,
        "ccn_per_token": 0.047265987025023166,
        "functions_per_token": 0.021316033364226137,
        "loc_per_token": 0.18535681186283595,
        "ccn_per_loc": 0.255,
        "functions_per_loc": 0.115,
        "tokens_per_loc": 5.395
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 99,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Prototypes.java",
        "comments": 32,
        "loc_per_function": 24.75,
        "blanks_per_loc": 0.14,
        "num_funs": 4,
        "comments_per_loc": 0.32,
        "tokens": 1080,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 270.0,
        "ccn_per_token": 0.006481481481481481,
        "functions_per_token": 0.003703703703703704,
        "loc_per_token": 0.09166666666666666,
        "ccn_per_loc": 0.0707070707070707,
        "functions_per_loc": 0.04040404040404041,
        "tokens_per_loc": 10.909090909090908
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 31,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.43,
        "tokens": 39,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 39,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1794871794871795,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.571428571428571
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 62,
        "loc_per_function": 16.88,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.46,
        "tokens": 684,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 85.5,
        "ccn_per_token": 0.014619883040935672,
        "functions_per_token": 0.011695906432748537,
        "loc_per_token": 0.19736842105263158,
        "ccn_per_loc": 0.07407407407407407,
        "functions_per_loc": 0.05925925925925926,
        "tokens_per_loc": 5.066666666666666
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 334,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 124,
        "loc_per_function": 14.52,
        "blanks_per_loc": 0.09,
        "num_funs": 23,
        "comments_per_loc": 0.37,
        "tokens": 2141,
        "ccn": 95,
        "ccn_per_function": 4.130434782608695,
        "tokens_per_function": 93.08695652173913,
        "ccn_per_token": 0.044371788883699206,
        "functions_per_token": 0.010742643624474545,
        "loc_per_token": 0.15600186828584772,
        "ccn_per_loc": 0.2844311377245509,
        "functions_per_loc": 0.0688622754491018,
        "tokens_per_loc": 6.410179640718563
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 134,
        "loc_per_function": 25,
        "blanks_per_loc": 0.84,
        "num_funs": 0,
        "comments_per_loc": 5.36,
        "tokens": 163,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 163,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15337423312883436,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.52
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.78,
        "num_funs": 0,
        "comments_per_loc": 4.89,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 23,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 23,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21739130434782608,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.6
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 35,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.27,
        "num_funs": 3,
        "comments_per_loc": 1.59,
        "tokens": 105,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.0,
        "ccn_per_token": 0.02857142857142857,
        "functions_per_token": 0.02857142857142857,
        "loc_per_token": 0.20952380952380953,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.7727272727272725
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 35,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.4,
        "tokens": 108,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.027777777777777776,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.23148148148148148,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.32
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 40,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.3,
        "num_funs": 5,
        "comments_per_loc": 1.48,
        "tokens": 141,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 28.2,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03546099290780142,
        "loc_per_token": 0.19148936170212766,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 5.222222222222222
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 23,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 238,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 39.666666666666664,
        "ccn_per_token": 0.037815126050420166,
        "functions_per_token": 0.025210084033613446,
        "loc_per_token": 0.21008403361344538,
        "ccn_per_loc": 0.18,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.76
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 41,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.52,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ConstructorEdge.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 3.25,
        "tokens": 34,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.23529411764705882,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.25
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 42,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.56,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 37,
        "loc_per_function": 5,
        "blanks_per_loc": 0.3,
        "num_funs": 6,
        "comments_per_loc": 1.23,
        "tokens": 146,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.333333333333332,
        "ccn_per_token": 0.0410958904109589,
        "functions_per_token": 0.0410958904109589,
        "loc_per_token": 0.2054794520547945,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 4.866666666666666
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 1.5,
        "tokens": 106,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.22641509433962265,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.416666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 24,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.38,
        "tokens": 348,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 49.714285714285715,
        "ccn_per_token": 0.028735632183908046,
        "functions_per_token": 0.020114942528735632,
        "loc_per_token": 0.1839080459770115,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 5.4375
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 25,
        "loc_per_function": 6.1,
        "blanks_per_loc": 0.2,
        "num_funs": 20,
        "comments_per_loc": 0.2,
        "tokens": 569,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.45,
        "ccn_per_token": 0.0351493848857645,
        "functions_per_token": 0.0351493848857645,
        "loc_per_token": 0.21441124780316345,
        "ccn_per_loc": 0.16393442622950818,
        "functions_per_loc": 0.16393442622950818,
        "tokens_per_loc": 4.663934426229508
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 20,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 20,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.666666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageDescriptionNode.java",
        "comments": 32,
        "loc_per_function": 6.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 1.28,
        "tokens": 112,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.0,
        "ccn_per_token": 0.03571428571428571,
        "functions_per_token": 0.03571428571428571,
        "loc_per_token": 0.22321428571428573,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.16,
        "tokens_per_loc": 4.48
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 29,
        "loc_per_function": 9.17,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.53,
        "tokens": 278,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.02877697841726619,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.19784172661870503,
        "ccn_per_loc": 0.14545454545454545,
        "functions_per_loc": 0.10909090909090909,
        "tokens_per_loc": 5.054545454545455
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 42,
        "loc_per_function": 6.22,
        "blanks_per_loc": 0.25,
        "num_funs": 9,
        "comments_per_loc": 0.75,
        "tokens": 250,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.77777777777778,
        "ccn_per_token": 0.036,
        "functions_per_token": 0.036,
        "loc_per_token": 0.224,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.16071428571428573,
        "tokens_per_loc": 4.464285714285714
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.26,
        "num_funs": 9,
        "comments_per_loc": 0.63,
        "tokens": 235,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.11111111111111,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03829787234042553,
        "loc_per_token": 0.2297872340425532,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.351851851851852
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractPackageNode.java",
        "comments": 32,
        "loc_per_function": 6.43,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.71,
        "tokens": 208,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 29.714285714285715,
        "ccn_per_token": 0.038461538461538464,
        "functions_per_token": 0.03365384615384615,
        "loc_per_token": 0.21634615384615385,
        "ccn_per_loc": 0.17777777777777778,
        "functions_per_loc": 0.15555555555555556,
        "tokens_per_loc": 4.622222222222222
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 1,
        "comments_per_loc": 2.89,
        "tokens": 40,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.025,
        "functions_per_token": 0.025,
        "loc_per_token": 0.225,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.444444444444445
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/TypeNode.java",
        "comments": 38,
        "loc_per_function": 6.11,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.69,
        "tokens": 236,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.22222222222222,
        "ccn_per_token": 0.0423728813559322,
        "functions_per_token": 0.038135593220338986,
        "loc_per_token": 0.2330508474576271,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.16363636363636364,
        "tokens_per_loc": 4.290909090909091
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 8.71,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 327,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 46.714285714285715,
        "ccn_per_token": 0.027522935779816515,
        "functions_per_token": 0.021406727828746176,
        "loc_per_token": 0.18654434250764526,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.11475409836065574,
        "tokens_per_loc": 5.360655737704918
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 1.35,
        "tokens": 174,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 87.0,
        "ccn_per_token": 0.011494252873563218,
        "functions_per_token": 0.011494252873563218,
        "loc_per_token": 0.14942528735632185,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.6923076923076925
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 17.43,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.29,
        "tokens": 707,
        "ccn": 21,
        "ccn_per_function": 3.0,
        "tokens_per_function": 101.0,
        "ccn_per_token": 0.0297029702970297,
        "functions_per_token": 0.009900990099009901,
        "loc_per_token": 0.17256011315417255,
        "ccn_per_loc": 0.1721311475409836,
        "functions_per_loc": 0.05737704918032787,
        "tokens_per_loc": 5.795081967213115
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 348,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 143,
        "loc_per_function": 19.33,
        "blanks_per_loc": 0.09,
        "num_funs": 18,
        "comments_per_loc": 0.41,
        "tokens": 2468,
        "ccn": 63,
        "ccn_per_function": 3.5,
        "tokens_per_function": 137.11111111111111,
        "ccn_per_token": 0.025526742301458672,
        "functions_per_token": 0.007293354943273906,
        "loc_per_token": 0.14100486223662884,
        "ccn_per_loc": 0.1810344827586207,
        "functions_per_loc": 0.05172413793103448,
        "tokens_per_loc": 7.091954022988506
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 261,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 104,
        "loc_per_function": 17.4,
        "blanks_per_loc": 0.08,
        "num_funs": 15,
        "comments_per_loc": 0.4,
        "tokens": 1492,
        "ccn": 49,
        "ccn_per_function": 3.2666666666666666,
        "tokens_per_function": 99.46666666666667,
        "ccn_per_token": 0.03284182305630027,
        "functions_per_token": 0.010053619302949061,
        "loc_per_token": 0.17493297587131368,
        "ccn_per_loc": 0.18773946360153257,
        "functions_per_loc": 0.05747126436781609,
        "tokens_per_loc": 5.716475095785441
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 61,
        "loc_per_function": 8.11,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.84,
        "tokens": 356,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 39.55555555555556,
        "ccn_per_token": 0.033707865168539325,
        "functions_per_token": 0.025280898876404494,
        "loc_per_token": 0.2050561797752809,
        "ccn_per_loc": 0.1643835616438356,
        "functions_per_loc": 0.1232876712328767,
        "tokens_per_loc": 4.876712328767123
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 34,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.55,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 199,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 42,
        "loc_per_function": 22.11,
        "blanks_per_loc": 0.08,
        "num_funs": 9,
        "comments_per_loc": 0.21,
        "tokens": 1339,
        "ccn": 32,
        "ccn_per_function": 3.5555555555555554,
        "tokens_per_function": 148.77777777777777,
        "ccn_per_token": 0.02389843166542196,
        "functions_per_token": 0.006721433905899925,
        "loc_per_token": 0.1486183719193428,
        "ccn_per_loc": 0.16080402010050251,
        "functions_per_loc": 0.04522613065326633,
        "tokens_per_loc": 6.728643216080402
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.29,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 151,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 75.5,
        "ccn_per_token": 0.013245033112582781,
        "functions_per_token": 0.013245033112582781,
        "loc_per_token": 0.15894039735099338,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.291666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8.67,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.15,
        "tokens": 223,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.017937219730941704,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.11659192825112108,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.11538461538461539,
        "tokens_per_loc": 8.576923076923077
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 40,
        "loc_per_function": 10.17,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.66,
        "tokens": 539,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 89.83333333333333,
        "ccn_per_token": 0.03525046382189239,
        "functions_per_token": 0.011131725417439703,
        "loc_per_token": 0.11317254174397032,
        "ccn_per_loc": 0.3114754098360656,
        "functions_per_loc": 0.09836065573770492,
        "tokens_per_loc": 8.836065573770492
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 9.17,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.75,
        "tokens": 462,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11904761904761904,
        "ccn_per_loc": 0.32727272727272727,
        "functions_per_loc": 0.10909090909090909,
        "tokens_per_loc": 8.4
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.03,
        "tokens": 275,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 91.66666666666667,
        "ccn_per_token": 0.025454545454545455,
        "functions_per_token": 0.01090909090909091,
        "loc_per_token": 0.10545454545454545,
        "ccn_per_loc": 0.2413793103448276,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 9.482758620689655
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 41,
        "loc_per_function": 15,
        "blanks_per_loc": 0.2,
        "num_funs": 2,
        "comments_per_loc": 1.37,
        "tokens": 210,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 105.0,
        "ccn_per_token": 0.01904761904761905,
        "functions_per_token": 0.009523809523809525,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ClassDiagramEdgeConstraints.java",
        "comments": 36,
        "loc_per_function": 13.2,
        "blanks_per_loc": 0.11,
        "num_funs": 5,
        "comments_per_loc": 0.55,
        "tokens": 509,
        "ccn": 21,
        "ccn_per_function": 4.2,
        "tokens_per_function": 101.8,
        "ccn_per_token": 0.0412573673870334,
        "functions_per_token": 0.009823182711198428,
        "loc_per_token": 0.12966601178781925,
        "ccn_per_loc": 0.3181818181818182,
        "functions_per_loc": 0.07575757575757576,
        "tokens_per_loc": 7.712121212121212
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/Constraint.java",
        "comments": 32,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 3.56,
        "tokens": 94,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 94,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.09574468085106383,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 10.444444444444445
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.75,
        "tokens": 385,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 192.5,
        "ccn_per_token": 0.02077922077922078,
        "functions_per_token": 0.005194805194805195,
        "loc_per_token": 0.13246753246753246,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.0392156862745098,
        "tokens_per_loc": 7.549019607843137
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.98,
        "tokens": 279,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.021505376344086023,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 177,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 86,
        "loc_per_function": 11.8,
        "blanks_per_loc": 0.11,
        "num_funs": 15,
        "comments_per_loc": 0.49,
        "tokens": 987,
        "ccn": 40,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 65.8,
        "ccn_per_token": 0.040526849037487336,
        "functions_per_token": 0.015197568389057751,
        "loc_per_token": 0.17933130699088146,
        "ccn_per_loc": 0.22598870056497175,
        "functions_per_loc": 0.0847457627118644,
        "tokens_per_loc": 5.576271186440678
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 43,
        "loc_per_function": 11.2,
        "blanks_per_loc": 0.23,
        "num_funs": 5,
        "comments_per_loc": 0.77,
        "tokens": 419,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 83.8,
        "ccn_per_token": 0.016706443914081145,
        "functions_per_token": 0.011933174224343675,
        "loc_per_token": 0.13365155131264916,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.08928571428571429,
        "tokens_per_loc": 7.482142857142857
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 88,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.24,
        "num_funs": 12,
        "comments_per_loc": 0.78,
        "tokens": 529,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 44.083333333333336,
        "ccn_per_token": 0.026465028355387523,
        "functions_per_token": 0.022684310018903593,
        "loc_per_token": 0.166351606805293,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.011363636363637
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 107,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Version.java",
        "comments": 54,
        "loc_per_function": 11.89,
        "blanks_per_loc": 0.11,
        "num_funs": 9,
        "comments_per_loc": 0.5,
        "tokens": 583,
        "ccn": 22,
        "ccn_per_function": 2.4444444444444446,
        "tokens_per_function": 64.77777777777777,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.015437392795883362,
        "loc_per_token": 0.1835334476843911,
        "ccn_per_loc": 0.205607476635514,
        "functions_per_loc": 0.08411214953271028,
        "tokens_per_loc": 5.4485981308411215
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 102,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 81,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1552511415525114,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 6.4411764705882355
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/TipDialog.java",
        "comments": 33,
        "loc_per_function": 19,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 0.43,
        "tokens": 610,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 152.5,
        "ccn_per_token": 0.00819672131147541,
        "functions_per_token": 0.006557377049180328,
        "loc_per_token": 0.12459016393442623,
        "ccn_per_loc": 0.06578947368421052,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.026315789473685
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 589,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.8,
        "ccn_per_token": 0.011884550084889643,
        "functions_per_token": 0.008488964346349746,
        "loc_per_token": 0.12224108658743633,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.180555555555555
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 49,
        "loc_per_function": 10.9,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.45,
        "tokens": 743,
        "ccn": 14,
        "ccn_per_function": 1.4,
        "tokens_per_function": 74.3,
        "ccn_per_token": 0.018842530282637954,
        "functions_per_token": 0.013458950201884253,
        "loc_per_token": 0.14670255720053835,
        "ccn_per_loc": 0.12844036697247707,
        "functions_per_loc": 0.09174311926605505,
        "tokens_per_loc": 6.81651376146789
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 624,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 156.0,
        "ccn_per_token": 0.008012820512820512,
        "functions_per_token": 0.00641025641025641,
        "loc_per_token": 0.1233974358974359,
        "ccn_per_loc": 0.06493506493506493,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 8.103896103896103
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.85,
        "tokens": 398,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 99.5,
        "ccn_per_token": 0.020100502512562814,
        "functions_per_token": 0.010050251256281407,
        "loc_per_token": 0.1306532663316583,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.653846153846154
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 567,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 100,
        "loc_per_function": 16.68,
        "blanks_per_loc": 0.12,
        "num_funs": 34,
        "comments_per_loc": 0.18,
        "tokens": 4266,
        "ccn": 79,
        "ccn_per_function": 2.323529411764706,
        "tokens_per_function": 125.47058823529412,
        "ccn_per_token": 0.018518518518518517,
        "functions_per_token": 0.007969995311767463,
        "loc_per_token": 0.13291139240506328,
        "ccn_per_loc": 0.13932980599647266,
        "functions_per_loc": 0.059964726631393295,
        "tokens_per_loc": 7.523809523809524
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 448,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 97,
        "loc_per_function": 14,
        "blanks_per_loc": 0.1,
        "num_funs": 32,
        "comments_per_loc": 0.22,
        "tokens": 2813,
        "ccn": 87,
        "ccn_per_function": 2.71875,
        "tokens_per_function": 87.90625,
        "ccn_per_token": 0.030927835051546393,
        "functions_per_token": 0.011375755421258443,
        "loc_per_token": 0.1592605758976182,
        "ccn_per_loc": 0.19419642857142858,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 6.279017857142857
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 193,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 71,
        "loc_per_function": 12.06,
        "blanks_per_loc": 0.1,
        "num_funs": 16,
        "comments_per_loc": 0.37,
        "tokens": 1426,
        "ccn": 26,
        "ccn_per_function": 1.625,
        "tokens_per_function": 89.125,
        "ccn_per_token": 0.0182328190743338,
        "functions_per_token": 0.011220196353436185,
        "loc_per_token": 0.135343618513324,
        "ccn_per_loc": 0.13471502590673576,
        "functions_per_loc": 0.08290155440414508,
        "tokens_per_loc": 7.38860103626943
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/KeyEventHandler.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1232,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.2,
        "ccn_per_token": 0.025162337662337664,
        "functions_per_token": 0.008116883116883116,
        "loc_per_token": 0.15746753246753248,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.350515463917525
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 224,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 135,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.14,
        "num_funs": 26,
        "comments_per_loc": 0.6,
        "tokens": 1164,
        "ccn": 42,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 44.76923076923077,
        "ccn_per_token": 0.03608247422680412,
        "functions_per_token": 0.022336769759450172,
        "loc_per_token": 0.19243986254295534,
        "ccn_per_loc": 0.1875,
        "functions_per_loc": 0.11607142857142858,
        "tokens_per_loc": 5.196428571428571
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.76,
        "tokens": 578,
        "ccn": 29,
        "ccn_per_function": 1.8125,
        "tokens_per_function": 36.125,
        "ccn_per_token": 0.050173010380622836,
        "functions_per_token": 0.02768166089965398,
        "loc_per_token": 0.20069204152249134,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.982758620689655
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 203,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 105,
        "loc_per_function": 8.12,
        "blanks_per_loc": 0.19,
        "num_funs": 25,
        "comments_per_loc": 0.52,
        "tokens": 1241,
        "ccn": 32,
        "ccn_per_function": 1.28,
        "tokens_per_function": 49.64,
        "ccn_per_token": 0.0257856567284448,
        "functions_per_token": 0.020145044319097503,
        "loc_per_token": 0.1635777598710717,
        "ccn_per_loc": 0.15763546798029557,
        "functions_per_loc": 0.12315270935960591,
        "tokens_per_loc": 6.113300492610837
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 40,
        "loc_per_function": 13,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.13978494623655913,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.153846153846154
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 260,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/TipDialog.java",
        "comments": 72,
        "loc_per_function": 17.33,
        "blanks_per_loc": 0.2,
        "num_funs": 15,
        "comments_per_loc": 0.28,
        "tokens": 1823,
        "ccn": 21,
        "ccn_per_function": 1.4,
        "tokens_per_function": 121.53333333333333,
        "ccn_per_token": 0.01151947339550192,
        "functions_per_token": 0.008228195282501372,
        "loc_per_token": 0.1426220515633571,
        "ccn_per_loc": 0.08076923076923077,
        "functions_per_loc": 0.057692307692307696,
        "tokens_per_loc": 7.0115384615384615
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 68,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/UserGuideGenerator.java",
        "comments": 22,
        "loc_per_function": 11.33,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.32,
        "tokens": 534,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 89.0,
        "ccn_per_token": 0.016853932584269662,
        "functions_per_token": 0.011235955056179775,
        "loc_per_token": 0.12734082397003746,
        "ccn_per_loc": 0.1323529411764706,
        "functions_per_loc": 0.08823529411764706,
        "tokens_per_loc": 7.852941176470588
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/TipElement.java",
        "comments": 35,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.75,
        "tokens": 75,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 25.0,
        "ccn_per_token": 0.05333333333333334,
        "functions_per_token": 0.04,
        "loc_per_token": 0.26666666666666666,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 3.75
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/Media.java",
        "comments": 23,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 4.6,
        "tokens": 20,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 20,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 71,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/ViewedTips.java",
        "comments": 46,
        "loc_per_function": 10.14,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.65,
        "tokens": 220,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 31.428571428571427,
        "ccn_per_token": 0.05909090909090909,
        "functions_per_token": 0.031818181818181815,
        "loc_per_token": 0.32272727272727275,
        "ccn_per_loc": 0.18309859154929578,
        "functions_per_loc": 0.09859154929577464,
        "tokens_per_loc": 3.0985915492957745
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/TipFieldName.java",
        "comments": 25,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 1,
        "comments_per_loc": 2.78,
        "tokens": 37,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.02702702702702703,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.24324324324324326,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.111111111111111
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 75,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/TipLoader.java",
        "comments": 53,
        "loc_per_function": 10.71,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.71,
        "tokens": 500,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 71.42857142857143,
        "ccn_per_token": 0.02,
        "functions_per_token": 0.014,
        "loc_per_token": 0.15,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.09333333333333334,
        "tokens_per_loc": 6.666666666666667
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.13,
        "tokens": 259,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 86.33333333333333,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.011583011583011582,
        "loc_per_token": 0.15057915057915058,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.641025641025641
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.37,
        "tokens": 606,
        "ccn": 15,
        "ccn_per_function": 2.142857142857143,
        "tokens_per_function": 86.57142857142857,
        "ccn_per_token": 0.024752475247524754,
        "functions_per_token": 0.01155115511551155,
        "loc_per_token": 0.13861386138613863,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.214285714285714
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 4,
        "comments_per_loc": 1.05,
        "tokens": 194,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.041237113402061855,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.20103092783505155,
        "ccn_per_loc": 0.20512820512820512,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 4.9743589743589745
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 17.67,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 721,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 120.16666666666667,
        "ccn_per_token": 0.024965325936199722,
        "functions_per_token": 0.008321775312066574,
        "loc_per_token": 0.14701803051317613,
        "ccn_per_loc": 0.16981132075471697,
        "functions_per_loc": 0.05660377358490566,
        "tokens_per_loc": 6.80188679245283
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 31,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.75,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.32,
        "tokens": 171,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 42.75,
        "ccn_per_token": 0.023391812865497075,
        "functions_per_token": 0.023391812865497075,
        "loc_per_token": 0.18128654970760233,
        "ccn_per_loc": 0.12903225806451613,
        "functions_per_loc": 0.12903225806451613,
        "tokens_per_loc": 5.516129032258065
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 47,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 1.38,
        "tokens": 148,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.0472972972972973,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.22972972972972974,
        "ccn_per_loc": 0.20588235294117646,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.352941176470588
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 179,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionMigrator.java",
        "comments": 57,
        "loc_per_function": 17.9,
        "blanks_per_loc": 0.11,
        "num_funs": 10,
        "comments_per_loc": 0.32,
        "tokens": 1238,
        "ccn": 35,
        "ccn_per_function": 3.5,
        "tokens_per_function": 123.8,
        "ccn_per_token": 0.02827140549273021,
        "functions_per_token": 0.008077544426494346,
        "loc_per_token": 0.14458804523424879,
        "ccn_per_loc": 0.19553072625698323,
        "functions_per_loc": 0.055865921787709494,
        "tokens_per_loc": 6.916201117318436
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionedDiagram.java",
        "comments": 37,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 113,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.25,
        "ccn_per_token": 0.035398230088495575,
        "functions_per_token": 0.035398230088495575,
        "loc_per_token": 0.23893805309734514,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.185185185185185
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/annotations/Immutable.java",
        "comments": 23,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 2.56,
        "tokens": 67,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 67,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13432835820895522,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.444444444444445
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/annotations/Flyweight.java",
        "comments": 24,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 2.67,
        "tokens": 67,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 67,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13432835820895522,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.444444444444445
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 213,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 134,
        "loc_per_function": 14.2,
        "blanks_per_loc": 0.15,
        "num_funs": 15,
        "comments_per_loc": 0.63,
        "tokens": 1150,
        "ccn": 65,
        "ccn_per_function": 4.333333333333333,
        "tokens_per_function": 76.66666666666667,
        "ccn_per_token": 0.05652173913043478,
        "functions_per_token": 0.013043478260869565,
        "loc_per_token": 0.18521739130434783,
        "ccn_per_loc": 0.3051643192488263,
        "functions_per_loc": 0.07042253521126761,
        "tokens_per_loc": 5.39906103286385
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 17,
        "file_path": "src/org/json/JSONException.java",
        "comments": 19,
        "loc_per_function": 5.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 67,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 22.333333333333332,
        "ccn_per_token": 0.04477611940298507,
        "functions_per_token": 0.04477611940298507,
        "loc_per_token": 0.2537313432835821,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.17647058823529413,
        "tokens_per_loc": 3.9411764705882355
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 534,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 450,
        "loc_per_function": 14.83,
        "blanks_per_loc": 0.12,
        "num_funs": 36,
        "comments_per_loc": 0.84,
        "tokens": 3518,
        "ccn": 195,
        "ccn_per_function": 5.416666666666667,
        "tokens_per_function": 97.72222222222223,
        "ccn_per_token": 0.05542922114837976,
        "functions_per_token": 0.01023308698123934,
        "loc_per_token": 0.15179079022171688,
        "ccn_per_loc": 0.3651685393258427,
        "functions_per_loc": 0.06741573033707865,
        "tokens_per_loc": 6.588014981273409
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 179,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 11.93,
        "blanks_per_loc": 0.17,
        "num_funs": 15,
        "comments_per_loc": 1.11,
        "tokens": 1134,
        "ccn": 59,
        "ccn_per_function": 3.933333333333333,
        "tokens_per_function": 75.6,
        "ccn_per_token": 0.05202821869488536,
        "functions_per_token": 0.013227513227513227,
        "loc_per_token": 0.15784832451499117,
        "ccn_per_loc": 0.329608938547486,
        "functions_per_loc": 0.08379888268156424,
        "tokens_per_loc": 6.335195530726257
    },
    {
        "date": "2021-04-07 Rel 3.2",
        "loc": 204,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 228,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 1.12,
        "tokens": 1246,
        "ccn": 53,
        "ccn_per_function": 3.1176470588235294,
        "tokens_per_function": 73.29411764705883,
        "ccn_per_token": 0.04253611556982344,
        "functions_per_token": 0.013643659711075442,
        "loc_per_token": 0.1637239165329053,
        "ccn_per_loc": 0.25980392156862747,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.107843137254902
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 9,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 24,
        "loc_per_function": 4.5,
        "blanks_per_loc": 0.44,
        "num_funs": 2,
        "comments_per_loc": 2.67,
        "tokens": 53,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.16981132075471697,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.2222222222222222,
        "tokens_per_loc": 5.888888888888889
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestDimension.java",
        "comments": 21,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.45,
        "tokens": 387,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.4,
        "ccn_per_token": 0.012919896640826873,
        "functions_per_token": 0.012919896640826873,
        "loc_per_token": 0.12144702842377261,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 8.23404255319149
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 365,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 73.0,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0136986301369863,
        "loc_per_token": 0.13424657534246576,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.448979591836735
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 466,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.2,
        "ccn_per_token": 0.01072961373390558,
        "functions_per_token": 0.01072961373390558,
        "loc_per_token": 0.11802575107296137,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.472727272727273
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestUtil.java",
        "comments": 20,
        "loc_per_function": 6,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 238,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 737,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.88888888888889,
        "ccn_per_token": 0.012211668928086838,
        "functions_per_token": 0.012211668928086838,
        "loc_per_token": 0.11533242876526459,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.670588235294117
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 484,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 21.04,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.09,
        "tokens": 4860,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 211.30434782608697,
        "ccn_per_token": 0.004732510288065843,
        "functions_per_token": 0.004732510288065843,
        "loc_per_token": 0.09958847736625515,
        "ccn_per_loc": 0.047520661157024795,
        "functions_per_loc": 0.047520661157024795,
        "tokens_per_loc": 10.041322314049587
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestDependencyEdgeViewer.java",
        "comments": 20,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 289,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 96.33333333333333,
        "ccn_per_token": 0.010380622837370242,
        "functions_per_token": 0.010380622837370242,
        "loc_per_token": 0.14186851211072665,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 7.048780487804878
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestNoteEdgeViewer.java",
        "comments": 25,
        "loc_per_function": 18,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.35,
        "tokens": 631,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.75,
        "ccn_per_token": 0.006339144215530904,
        "functions_per_token": 0.006339144215530904,
        "loc_per_token": 0.11410459587955626,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 8.76388888888889
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 120,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestFieldNodeViewer.java",
        "comments": 35,
        "loc_per_function": 9.23,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.29,
        "tokens": 977,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 75.15384615384616,
        "ccn_per_token": 0.01330603889457523,
        "functions_per_token": 0.01330603889457523,
        "loc_per_token": 0.12282497441146366,
        "ccn_per_loc": 0.10833333333333334,
        "functions_per_loc": 0.10833333333333334,
        "tokens_per_loc": 8.141666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 33,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCircularNodeViewer.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 0.61,
        "tokens": 241,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.33333333333333,
        "ccn_per_token": 0.012448132780082987,
        "functions_per_token": 0.012448132780082987,
        "loc_per_token": 0.13692946058091288,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.303030303030303
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestTypeNodeViewer.java",
        "comments": 26,
        "loc_per_function": 8.4,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 0.21,
        "tokens": 831,
        "ccn": 16,
        "ccn_per_function": 1.0666666666666667,
        "tokens_per_function": 55.4,
        "ccn_per_token": 0.019253910950661854,
        "functions_per_token": 0.018050541516245487,
        "loc_per_token": 0.15162454873646208,
        "ccn_per_loc": 0.12698412698412698,
        "functions_per_loc": 0.11904761904761904,
        "tokens_per_loc": 6.595238095238095
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestUseCaseNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 117,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestObjectNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.17,
        "tokens": 863,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.91666666666667,
        "ccn_per_token": 0.013904982618771726,
        "functions_per_token": 0.013904982618771726,
        "loc_per_token": 0.13557358053302435,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.3760683760683765
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 77,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCallNodeViewer.java",
        "comments": 20,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.26,
        "tokens": 591,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 147.75,
        "ccn_per_token": 0.00676818950930626,
        "functions_per_token": 0.00676818950930626,
        "loc_per_token": 0.13028764805414553,
        "ccn_per_loc": 0.05194805194805195,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 7.675324675324675
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestPackageNodeViewer.java",
        "comments": 20,
        "loc_per_function": 8.54,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.18,
        "tokens": 682,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 52.46153846153846,
        "ccn_per_token": 0.021994134897360705,
        "functions_per_token": 0.01906158357771261,
        "loc_per_token": 0.1627565982404692,
        "ccn_per_loc": 0.13513513513513514,
        "functions_per_loc": 0.11711711711711711,
        "tokens_per_loc": 6.1441441441441444
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 113,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestImplicitParameterNodeViewer.java",
        "comments": 27,
        "loc_per_function": 16.14,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 874,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 124.85714285714286,
        "ccn_per_token": 0.008009153318077803,
        "functions_per_token": 0.008009153318077803,
        "loc_per_token": 0.12929061784897025,
        "ccn_per_loc": 0.061946902654867256,
        "functions_per_loc": 0.061946902654867256,
        "tokens_per_loc": 7.734513274336283
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestActorNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 360,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.0,
        "ccn_per_token": 0.013888888888888888,
        "functions_per_token": 0.013888888888888888,
        "loc_per_token": 0.13055555555555556,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 7.659574468085107
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestStateNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestGrid.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.24,
        "tokens": 1233,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 246.6,
        "ccn_per_token": 0.0040551500405515,
        "functions_per_token": 0.0040551500405515,
        "loc_per_token": 0.0689375506893755,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 14.505882352941176
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 134,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 24,
        "loc_per_function": 7.44,
        "blanks_per_loc": 0.16,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 793,
        "ccn": 23,
        "ccn_per_function": 1.2777777777777777,
        "tokens_per_function": 44.05555555555556,
        "ccn_per_token": 0.029003783102143757,
        "functions_per_token": 0.02269861286254729,
        "loc_per_token": 0.16897856242118536,
        "ccn_per_loc": 0.17164179104477612,
        "functions_per_loc": 0.13432835820895522,
        "tokens_per_loc": 5.917910447761194
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2699,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.6875,
        "ccn_per_token": 0.005928121526491293,
        "functions_per_token": 0.005928121526491293,
        "loc_per_token": 0.10633567988143756,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.404181184668989
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 244,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 24,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.11,
        "num_funs": 18,
        "comments_per_loc": 0.1,
        "tokens": 1859,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.27777777777777,
        "ccn_per_token": 0.009682625067240451,
        "functions_per_token": 0.009682625067240451,
        "loc_per_token": 0.1312533620225928,
        "ccn_per_loc": 0.07377049180327869,
        "functions_per_loc": 0.07377049180327869,
        "tokens_per_loc": 7.618852459016393
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 100,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagram.java",
        "comments": 22,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 737,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.125,
        "ccn_per_token": 0.010854816824966078,
        "functions_per_token": 0.010854816824966078,
        "loc_per_token": 0.13568521031207598,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 7.37
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3510,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 219.375,
        "ccn_per_token": 0.004558404558404558,
        "functions_per_token": 0.004558404558404558,
        "loc_per_token": 0.09316239316239316,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.73394495412844
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 186,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 21,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.11,
        "tokens": 1809,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 100.5,
        "ccn_per_token": 0.010503040353786623,
        "functions_per_token": 0.009950248756218905,
        "loc_per_token": 0.10281923714759536,
        "ccn_per_loc": 0.10215053763440861,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 9.725806451612904
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 396,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 33,
        "loc_per_function": 9.43,
        "blanks_per_loc": 0.14,
        "num_funs": 42,
        "comments_per_loc": 0.08,
        "tokens": 2598,
        "ccn": 42,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.857142857142854,
        "ccn_per_token": 0.016166281755196306,
        "functions_per_token": 0.016166281755196306,
        "loc_per_token": 0.15242494226327943,
        "ccn_per_loc": 0.10606060606060606,
        "functions_per_loc": 0.10606060606060606,
        "tokens_per_loc": 6.5606060606060606
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.21,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 159,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.0,
        "ccn_per_token": 0.006289308176100629,
        "functions_per_token": 0.006289308176100629,
        "loc_per_token": 0.11949685534591195,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.368421052631579
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 469,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.75,
        "blanks_per_loc": 0.19,
        "num_funs": 28,
        "comments_per_loc": 0.06,
        "tokens": 4287,
        "ccn": 30,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 153.10714285714286,
        "ccn_per_token": 0.006997900629811057,
        "functions_per_token": 0.006531373921156987,
        "loc_per_token": 0.10940051317937952,
        "ccn_per_loc": 0.06396588486140725,
        "functions_per_loc": 0.05970149253731343,
        "tokens_per_loc": 9.140724946695096
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 313,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.08,
        "blanks_per_loc": 0.2,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3086,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 237.3846153846154,
        "ccn_per_token": 0.004212572909915748,
        "functions_per_token": 0.004212572909915748,
        "loc_per_token": 0.10142579390797149,
        "ccn_per_loc": 0.04153354632587859,
        "functions_per_loc": 0.04153354632587859,
        "tokens_per_loc": 9.859424920127795
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 333,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 19.59,
        "blanks_per_loc": 0.23,
        "num_funs": 17,
        "comments_per_loc": 0.08,
        "tokens": 2881,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 169.47058823529412,
        "ccn_per_token": 0.005900728913571677,
        "functions_per_token": 0.005900728913571677,
        "loc_per_token": 0.1155848663658452,
        "ccn_per_loc": 0.05105105105105105,
        "functions_per_loc": 0.05105105105105105,
        "tokens_per_loc": 8.651651651651651
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 115,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramDuplicate.java",
        "comments": 23,
        "loc_per_function": 16.43,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.2,
        "tokens": 1064,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.006578947368421052,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1080827067669173,
        "ccn_per_loc": 0.06086956521739131,
        "functions_per_loc": 0.06086956521739131,
        "tokens_per_loc": 9.252173913043478
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 458,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.6,
        "ccn_per_token": 0.010917030567685589,
        "functions_per_token": 0.010917030567685589,
        "loc_per_token": 0.10262008733624454,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 9.74468085106383
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 24,
        "loc_per_function": 14,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.57,
        "tokens": 310,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.33333333333333,
        "ccn_per_token": 0.00967741935483871,
        "functions_per_token": 0.00967741935483871,
        "loc_per_token": 0.13548387096774195,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 7.380952380952381
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 0.65,
        "tokens": 292,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.0,
        "ccn_per_token": 0.00684931506849315,
        "functions_per_token": 0.00684931506849315,
        "loc_per_token": 0.10616438356164383,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 9.419354838709678
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 1.18,
        "tokens": 167,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 167.0,
        "ccn_per_token": 0.005988023952095809,
        "functions_per_token": 0.005988023952095809,
        "loc_per_token": 0.10179640718562874,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 9.823529411764707
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 46,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestEdgeProperties.java",
        "comments": 23,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.5,
        "tokens": 506,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.66666666666666,
        "ccn_per_token": 0.005928853754940711,
        "functions_per_token": 0.005928853754940711,
        "loc_per_token": 0.09090909090909091,
        "ccn_per_loc": 0.06521739130434782,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 11.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 29,
        "loc_per_function": 7.93,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.26,
        "tokens": 759,
        "ccn": 14,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.214285714285715,
        "ccn_per_token": 0.01844532279314888,
        "functions_per_token": 0.01844532279314888,
        "loc_per_token": 0.14624505928853754,
        "ccn_per_loc": 0.12612612612612611,
        "functions_per_loc": 0.12612612612612611,
        "tokens_per_loc": 6.837837837837838
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 20,
        "loc_per_function": 10.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 250,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.5,
        "ccn_per_token": 0.016,
        "functions_per_token": 0.016,
        "loc_per_token": 0.164,
        "ccn_per_loc": 0.0975609756097561,
        "functions_per_loc": 0.0975609756097561,
        "tokens_per_loc": 6.097560975609756
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 129,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 16.12,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1259,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.375,
        "ccn_per_token": 0.006354249404289118,
        "functions_per_token": 0.006354249404289118,
        "loc_per_token": 0.10246227164416204,
        "ccn_per_loc": 0.06201550387596899,
        "functions_per_loc": 0.06201550387596899,
        "tokens_per_loc": 9.75968992248062
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 107,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 21.4,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.2,
        "tokens": 971,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 194.2,
        "ccn_per_token": 0.005149330587023687,
        "functions_per_token": 0.005149330587023687,
        "loc_per_token": 0.1101956745623069,
        "ccn_per_loc": 0.04672897196261682,
        "functions_per_loc": 0.04672897196261682,
        "tokens_per_loc": 9.074766355140186
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 9.11,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 558,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.0,
        "ccn_per_token": 0.016129032258064516,
        "functions_per_token": 0.016129032258064516,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.10975609756097561,
        "functions_per_loc": 0.10975609756097561,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 67,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageDescriptionNode.java",
        "comments": 20,
        "loc_per_function": 8.38,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.3,
        "tokens": 388,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.020618556701030927,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.17268041237113402,
        "ccn_per_loc": 0.11940298507462686,
        "functions_per_loc": 0.11940298507462686,
        "tokens_per_loc": 5.791044776119403
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.43,
        "tokens": 393,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 131.0,
        "ccn_per_token": 0.007633587786259542,
        "functions_per_token": 0.007633587786259542,
        "loc_per_token": 0.12468193384223919,
        "ccn_per_loc": 0.061224489795918366,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 8.020408163265307
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 68,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 9.71,
        "blanks_per_loc": 0.15,
        "num_funs": 7,
        "comments_per_loc": 0.34,
        "tokens": 431,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.57142857142857,
        "ccn_per_token": 0.016241299303944315,
        "functions_per_token": 0.016241299303944315,
        "loc_per_token": 0.15777262180974477,
        "ccn_per_loc": 0.10294117647058823,
        "functions_per_loc": 0.10294117647058823,
        "tokens_per_loc": 6.338235294117647
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 135,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.0,
        "ccn_per_token": 0.007407407407407408,
        "functions_per_token": 0.007407407407407408,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 188,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.11,
        "tokens": 1869,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 116.8125,
        "ccn_per_token": 0.008560727661851257,
        "functions_per_token": 0.008560727661851257,
        "loc_per_token": 0.10058855002675228,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 9.941489361702128
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 12.73,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1562,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 142.0,
        "ccn_per_token": 0.007042253521126761,
        "functions_per_token": 0.007042253521126761,
        "loc_per_token": 0.08962868117797695,
        "ccn_per_loc": 0.07857142857142857,
        "functions_per_loc": 0.07857142857142857,
        "tokens_per_loc": 11.157142857142857
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 106,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1081,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.125,
        "ccn_per_token": 0.0074005550416281225,
        "functions_per_token": 0.0074005550416281225,
        "loc_per_token": 0.09805735430157261,
        "ccn_per_loc": 0.07547169811320754,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 10.19811320754717
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 217,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 33,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.15,
        "tokens": 1486,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.875,
        "ccn_per_token": 0.010767160161507403,
        "functions_per_token": 0.010767160161507403,
        "loc_per_token": 0.14602960969044415,
        "ccn_per_loc": 0.07373271889400922,
        "functions_per_loc": 0.07373271889400922,
        "tokens_per_loc": 6.847926267281106
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 169,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 18.78,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.12,
        "tokens": 1534,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 170.44444444444446,
        "ccn_per_token": 0.005867014341590613,
        "functions_per_token": 0.005867014341590613,
        "loc_per_token": 0.11016949152542373,
        "ccn_per_loc": 0.05325443786982249,
        "functions_per_loc": 0.05325443786982249,
        "tokens_per_loc": 9.076923076923077
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 457,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 28,
        "loc_per_function": 11.72,
        "blanks_per_loc": 0.12,
        "num_funs": 39,
        "comments_per_loc": 0.06,
        "tokens": 3647,
        "ccn": 39,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.51282051282051,
        "ccn_per_token": 0.010693720866465589,
        "functions_per_token": 0.010693720866465589,
        "loc_per_token": 0.1253084727173019,
        "ccn_per_loc": 0.08533916849015317,
        "functions_per_loc": 0.08533916849015317,
        "tokens_per_loc": 7.980306345733042
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 210,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.14,
        "num_funs": 14,
        "comments_per_loc": 0.1,
        "tokens": 1762,
        "ccn": 15,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 125.85714285714286,
        "ccn_per_token": 0.00851305334846765,
        "functions_per_token": 0.007945516458569807,
        "loc_per_token": 0.1191827468785471,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 8.39047619047619
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 89,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9.89,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 586,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.11111111111111,
        "ccn_per_token": 0.015358361774744027,
        "functions_per_token": 0.015358361774744027,
        "loc_per_token": 0.15187713310580206,
        "ccn_per_loc": 0.10112359550561797,
        "functions_per_loc": 0.10112359550561797,
        "tokens_per_loc": 6.584269662921348
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 84,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 595,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.11111111111111,
        "ccn_per_token": 0.015126050420168067,
        "functions_per_token": 0.015126050420168067,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 7.81,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.12,
        "tokens": 1014,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.285714285714285,
        "ccn_per_token": 0.020710059171597635,
        "functions_per_token": 0.020710059171597635,
        "loc_per_token": 0.16173570019723865,
        "ccn_per_loc": 0.12804878048780488,
        "functions_per_loc": 0.12804878048780488,
        "tokens_per_loc": 6.182926829268292
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 177,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.85,
        "blanks_per_loc": 0.14,
        "num_funs": 20,
        "comments_per_loc": 0.11,
        "tokens": 1234,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.7,
        "ccn_per_token": 0.01620745542949757,
        "functions_per_token": 0.01620745542949757,
        "loc_per_token": 0.14343598055105347,
        "ccn_per_loc": 0.11299435028248588,
        "functions_per_loc": 0.11299435028248588,
        "tokens_per_loc": 6.971751412429379
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 448,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 56.0,
        "ccn_per_token": 0.017857142857142856,
        "functions_per_token": 0.017857142857142856,
        "loc_per_token": 0.16071428571428573,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.222222222222222
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 93,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.45,
        "blanks_per_loc": 0.19,
        "num_funs": 11,
        "comments_per_loc": 0.22,
        "tokens": 574,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 52.18181818181818,
        "ccn_per_token": 0.01916376306620209,
        "functions_per_token": 0.01916376306620209,
        "loc_per_token": 0.16202090592334495,
        "ccn_per_loc": 0.11827956989247312,
        "functions_per_loc": 0.11827956989247312,
        "tokens_per_loc": 6.172043010752688
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 118,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestVersion.java",
        "comments": 20,
        "loc_per_function": 5.9,
        "blanks_per_loc": 0.19,
        "num_funs": 20,
        "comments_per_loc": 0.17,
        "tokens": 705,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.25,
        "ccn_per_token": 0.028368794326241134,
        "functions_per_token": 0.028368794326241134,
        "loc_per_token": 0.1673758865248227,
        "ccn_per_loc": 0.1694915254237288,
        "functions_per_loc": 0.1694915254237288,
        "tokens_per_loc": 5.97457627118644
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 99,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.5,
        "ccn_per_token": 0.020202020202020204,
        "functions_per_token": 0.020202020202020204,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 745,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 93.125,
        "ccn_per_token": 0.013422818791946308,
        "functions_per_token": 0.010738255033557046,
        "loc_per_token": 0.14630872483221477,
        "ccn_per_loc": 0.09174311926605505,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 6.834862385321101
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 61,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.17,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.33,
        "tokens": 532,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 88.66666666666667,
        "ccn_per_token": 0.013157894736842105,
        "functions_per_token": 0.011278195488721804,
        "loc_per_token": 0.11466165413533834,
        "ccn_per_loc": 0.11475409836065574,
        "functions_per_loc": 0.09836065573770492,
        "tokens_per_loc": 8.721311475409836
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 183,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 13.07,
        "blanks_per_loc": 0.17,
        "num_funs": 14,
        "comments_per_loc": 0.11,
        "tokens": 1428,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011204481792717087,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.12815126050420167,
        "ccn_per_loc": 0.08743169398907104,
        "functions_per_loc": 0.07650273224043716,
        "tokens_per_loc": 7.80327868852459
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 166,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 24,
        "loc_per_function": 33.2,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1586,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 317.2,
        "ccn_per_token": 0.0037831021437578815,
        "functions_per_token": 0.0031525851197982345,
        "loc_per_token": 0.10466582597730138,
        "ccn_per_loc": 0.03614457831325301,
        "functions_per_loc": 0.030120481927710843,
        "tokens_per_loc": 9.55421686746988
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1506,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 301.2,
        "ccn_per_token": 0.0033200531208499337,
        "functions_per_token": 0.0033200531208499337,
        "loc_per_token": 0.09229747675962816,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.83453237410072
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 249,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.83,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2665,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.05555555555554,
        "ccn_per_token": 0.00675422138836773,
        "functions_per_token": 0.00675422138836773,
        "loc_per_token": 0.09343339587242026,
        "ccn_per_loc": 0.07228915662650602,
        "functions_per_loc": 0.07228915662650602,
        "tokens_per_loc": 10.70281124497992
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 21,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 619,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 77.375,
        "ccn_per_token": 0.01615508885298869,
        "functions_per_token": 0.012924071082390954,
        "loc_per_token": 0.1518578352180937,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.585106382978723
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 56,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramCanvasController.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.36,
        "tokens": 388,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 64.66666666666667,
        "ccn_per_token": 0.01804123711340206,
        "functions_per_token": 0.015463917525773196,
        "loc_per_token": 0.14432989690721648,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.928571428571429
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 481,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 41,
        "loc_per_function": 12.03,
        "blanks_per_loc": 0.1,
        "num_funs": 40,
        "comments_per_loc": 0.09,
        "tokens": 3477,
        "ccn": 42,
        "ccn_per_function": 1.05,
        "tokens_per_function": 86.925,
        "ccn_per_token": 0.012079378774805867,
        "functions_per_token": 0.011504170261719874,
        "loc_per_token": 0.1383376473971815,
        "ccn_per_loc": 0.08731808731808732,
        "functions_per_loc": 0.08316008316008316,
        "tokens_per_loc": 7.228690228690229
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramTabToolBar.java",
        "comments": 28,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.37,
        "tokens": 457,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 76.16666666666667,
        "ccn_per_token": 0.0175054704595186,
        "functions_per_token": 0.01312910284463895,
        "loc_per_token": 0.16411378555798686,
        "ccn_per_loc": 0.10666666666666667,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 6.093333333333334
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 70,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/tips/TestViewedTips.java",
        "comments": 24,
        "loc_per_function": 8.75,
        "blanks_per_loc": 0.29,
        "num_funs": 8,
        "comments_per_loc": 0.34,
        "tokens": 381,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 47.625,
        "ccn_per_token": 0.023622047244094488,
        "functions_per_token": 0.02099737532808399,
        "loc_per_token": 0.1837270341207349,
        "ccn_per_loc": 0.12857142857142856,
        "functions_per_loc": 0.11428571428571428,
        "tokens_per_loc": 5.442857142857143
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/tips/TestTipLoader.java",
        "comments": 20,
        "loc_per_function": 11.71,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 552,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 78.85714285714286,
        "ccn_per_token": 0.014492753623188406,
        "functions_per_token": 0.012681159420289856,
        "loc_per_token": 0.14855072463768115,
        "ccn_per_loc": 0.0975609756097561,
        "functions_per_loc": 0.08536585365853659,
        "tokens_per_loc": 6.7317073170731705
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 365,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/tips/TestTipDialog.java",
        "comments": 24,
        "loc_per_function": 12.17,
        "blanks_per_loc": 0.19,
        "num_funs": 30,
        "comments_per_loc": 0.07,
        "tokens": 2255,
        "ccn": 45,
        "ccn_per_function": 1.5,
        "tokens_per_function": 75.16666666666667,
        "ccn_per_token": 0.019955654101995565,
        "functions_per_token": 0.013303769401330377,
        "loc_per_token": 0.16186252771618626,
        "ccn_per_loc": 0.1232876712328767,
        "functions_per_loc": 0.0821917808219178,
        "tokens_per_loc": 6.178082191780822
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 152,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/tips/TestTipJsons.java",
        "comments": 23,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.13,
        "num_funs": 12,
        "comments_per_loc": 0.15,
        "tokens": 949,
        "ccn": 22,
        "ccn_per_function": 1.8333333333333333,
        "tokens_per_function": 79.08333333333333,
        "ccn_per_token": 0.023182297154899896,
        "functions_per_token": 0.012644889357218124,
        "loc_per_token": 0.1601685985247629,
        "ccn_per_loc": 0.14473684210526316,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 6.243421052631579
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 165,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/CollectionAssertions.java",
        "comments": 56,
        "loc_per_function": 12.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.34,
        "tokens": 1058,
        "ccn": 49,
        "ccn_per_function": 3.769230769230769,
        "tokens_per_function": 81.38461538461539,
        "ccn_per_token": 0.046313799621928164,
        "functions_per_token": 0.012287334593572778,
        "loc_per_token": 0.15595463137996218,
        "ccn_per_loc": 0.296969696969697,
        "functions_per_loc": 0.07878787878787878,
        "tokens_per_loc": 6.412121212121212
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/GeometryUtils.java",
        "comments": 32,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 3,
        "comments_per_loc": 0.71,
        "tokens": 190,
        "ccn": 9,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.333333333333336,
        "ccn_per_token": 0.04736842105263158,
        "functions_per_token": 0.015789473684210527,
        "loc_per_token": 0.23684210526315788,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 4.222222222222222
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 28,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 172,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 57.333333333333336,
        "ccn_per_token": 0.01744186046511628,
        "functions_per_token": 0.01744186046511628,
        "loc_per_token": 0.16279069767441862,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.142857142857143
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 555,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 37,
        "blanks_per_loc": 0.24,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7522,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 501.46666666666664,
        "ccn_per_token": 0.0026588673225206062,
        "functions_per_token": 0.0019941504918904547,
        "loc_per_token": 0.07378356819994682,
        "ccn_per_loc": 0.036036036036036036,
        "functions_per_loc": 0.02702702702702703,
        "tokens_per_loc": 13.553153153153152
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 64,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 23,
        "loc_per_function": 12.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 534,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.8,
        "ccn_per_token": 0.009363295880149813,
        "functions_per_token": 0.009363295880149813,
        "loc_per_token": 0.1198501872659176,
        "ccn_per_loc": 0.078125,
        "functions_per_loc": 0.078125,
        "tokens_per_loc": 8.34375
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 20,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.22,
        "tokens": 518,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.1776061776061776,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.630434782608695
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 22,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.29,
        "tokens": 538,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 107.6,
        "ccn_per_token": 0.011152416356877323,
        "functions_per_token": 0.00929368029739777,
        "loc_per_token": 0.13940520446096655,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.173333333333333
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 192,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 31,
        "loc_per_function": 17.45,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1887,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 171.54545454545453,
        "ccn_per_token": 0.005829358770535241,
        "functions_per_token": 0.005829358770535241,
        "loc_per_token": 0.10174880763116058,
        "ccn_per_loc": 0.057291666666666664,
        "functions_per_loc": 0.057291666666666664,
        "tokens_per_loc": 9.828125
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 614,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 102.33333333333333,
        "ccn_per_token": 0.03745928338762215,
        "functions_per_token": 0.009771986970684038,
        "loc_per_token": 0.18241042345276873,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.482142857142857
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 124,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 27,
        "loc_per_function": 13.78,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1153,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 128.11111111111111,
        "ccn_per_token": 0.007805724197745013,
        "functions_per_token": 0.007805724197745013,
        "loc_per_token": 0.10754553339115351,
        "ccn_per_loc": 0.07258064516129033,
        "functions_per_loc": 0.07258064516129033,
        "tokens_per_loc": 9.298387096774194
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 10,
        "file_path": "src/module-info.java",
        "comments": 20,
        "loc_per_function": 10,
        "blanks_per_loc": 0,
        "num_funs": 0,
        "comments_per_loc": 2,
        "tokens": 59,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 59,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1694915254237288,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.9
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/JetUML.java",
        "comments": 33,
        "loc_per_function": 15.4,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 576,
        "ccn": 9,
        "ccn_per_function": 1.8,
        "tokens_per_function": 115.2,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.008680555555555556,
        "loc_per_token": 0.13368055555555555,
        "ccn_per_loc": 0.11688311688311688,
        "functions_per_loc": 0.06493506493506493,
        "tokens_per_loc": 7.48051948051948
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 59,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 43,
        "loc_per_function": 8.43,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.73,
        "tokens": 269,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 38.42857142857143,
        "ccn_per_token": 0.048327137546468404,
        "functions_per_token": 0.026022304832713755,
        "loc_per_token": 0.21933085501858737,
        "ccn_per_loc": 0.22033898305084745,
        "functions_per_loc": 0.11864406779661017,
        "tokens_per_loc": 4.559322033898305
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Util.java",
        "comments": 28,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 2,
        "comments_per_loc": 1.47,
        "tokens": 72,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.2638888888888889,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 3.789473684210526
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 51,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 1.31,
        "tokens": 300,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.0,
        "ccn_per_token": 0.02,
        "functions_per_token": 0.02,
        "loc_per_token": 0.13,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 7.6923076923076925
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 56,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.16,
        "num_funs": 12,
        "comments_per_loc": 0.64,
        "tokens": 385,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 32.083333333333336,
        "ccn_per_token": 0.046753246753246755,
        "functions_per_token": 0.03116883116883117,
        "loc_per_token": 0.22597402597402597,
        "ccn_per_loc": 0.20689655172413793,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.425287356321839
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 12,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectCollaborationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 1,
        "comments_per_loc": 2.17,
        "tokens": 92,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.13043478260869565,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.666666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 223,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentedEdgeViewer.java",
        "comments": 56,
        "loc_per_function": 20.27,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 2011,
        "ccn": 25,
        "ccn_per_function": 2.272727272727273,
        "tokens_per_function": 182.8181818181818,
        "ccn_per_token": 0.012431626056688214,
        "functions_per_token": 0.005469915464942815,
        "loc_per_token": 0.11089010442565887,
        "ccn_per_loc": 0.11210762331838565,
        "functions_per_loc": 0.04932735426008968,
        "tokens_per_loc": 9.01793721973094
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseDependencyEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.93,
        "tokens": 265,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.33333333333333,
        "ccn_per_token": 0.011320754716981131,
        "functions_per_token": 0.011320754716981131,
        "loc_per_token": 0.10943396226415095,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 9.137931034482758
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewerRegistry.java",
        "comments": 68,
        "loc_per_function": 9.25,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.92,
        "tokens": 728,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.012362637362637362,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.10164835164835165,
        "ccn_per_loc": 0.12162162162162163,
        "functions_per_loc": 0.10810810810810811,
        "tokens_per_loc": 9.837837837837839
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseGeneralizationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/NoteEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ReturnEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 18.33,
        "blanks_per_loc": 0.09,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 579,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 193.0,
        "ccn_per_token": 0.008635578583765112,
        "functions_per_token": 0.0051813471502590676,
        "loc_per_token": 0.09499136442141623,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.05454545454545454,
        "tokens_per_loc": 10.527272727272727
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StraightEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 456,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.010964912280701754,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.11842105263157894,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 8.444444444444445
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/LabeledStraightEdgeViewer.java",
        "comments": 30,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 423,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 105.75,
        "ccn_per_token": 0.016548463356973995,
        "functions_per_token": 0.009456264775413711,
        "loc_per_token": 0.12056737588652482,
        "ccn_per_loc": 0.13725490196078433,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 8.294117647058824
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 171,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/CallEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 19,
        "blanks_per_loc": 0.09,
        "num_funs": 9,
        "comments_per_loc": 0.15,
        "tokens": 1517,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 168.55555555555554,
        "ccn_per_token": 0.011865524060646011,
        "functions_per_token": 0.005932762030323006,
        "loc_per_token": 0.11272247857613711,
        "ccn_per_loc": 0.10526315789473684,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.871345029239766
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/GeneralizationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 165,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 82.5,
        "ccn_per_token": 0.01818181818181818,
        "functions_per_token": 0.012121212121212121,
        "loc_per_token": 0.15757575757575756,
        "ccn_per_loc": 0.11538461538461539,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.346153846153846
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AssociationEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.1,
        "num_funs": 3,
        "comments_per_loc": 0.8,
        "tokens": 243,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.1646090534979424,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.075
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 570,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyleFactory.java",
        "comments": 95,
        "loc_per_function": 17.27,
        "blanks_per_loc": 0.1,
        "num_funs": 33,
        "comments_per_loc": 0.17,
        "tokens": 3842,
        "ccn": 120,
        "ccn_per_function": 3.6363636363636362,
        "tokens_per_function": 116.42424242424242,
        "ccn_per_token": 0.031233732431025507,
        "functions_per_token": 0.008589276418532014,
        "loc_per_token": 0.14836022904737117,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.05789473684210526,
        "tokens_per_loc": 6.7403508771929825
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AbstractEdgeViewer.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.56,
        "tokens": 664,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 110.66666666666667,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.009036144578313253,
        "loc_per_token": 0.11746987951807229,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.512820512820513
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 114,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectReferenceEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 16.29,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 1045,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 149.28571428571428,
        "ccn_per_token": 0.009569377990430622,
        "functions_per_token": 0.0066985645933014355,
        "loc_per_token": 0.10909090909090909,
        "ccn_per_loc": 0.08771929824561403,
        "functions_per_loc": 0.06140350877192982,
        "tokens_per_loc": 9.166666666666666
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 48,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyle.java",
        "comments": 49,
        "loc_per_function": 16,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 207,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.057971014492753624,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.2318840579710145,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 4.3125
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 362,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StateTransitionEdgeViewer.java",
        "comments": 62,
        "loc_per_function": 17.24,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.17,
        "tokens": 2916,
        "ccn": 48,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 138.85714285714286,
        "ccn_per_token": 0.01646090534979424,
        "functions_per_token": 0.00720164609053498,
        "loc_per_token": 0.12414266117969822,
        "ccn_per_loc": 0.13259668508287292,
        "functions_per_loc": 0.058011049723756904,
        "tokens_per_loc": 8.05524861878453
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/DependencyEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.04,
        "tokens": 219,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1141552511415525,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 8.76
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseAssociationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewer.java",
        "comments": 63,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 3.94,
        "tokens": 139,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 139,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11510791366906475,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.6875
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AggregationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 2,
        "comments_per_loc": 1.07,
        "tokens": 192,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/InterfaceNodeViewer.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 1,
        "comments_per_loc": 3.33,
        "tokens": 54,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.0,
        "ccn_per_token": 0.018518518518518517,
        "functions_per_token": 0.018518518518518517,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NoteNodeViewer.java",
        "comments": 27,
        "loc_per_function": 15,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 638,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.5,
        "ccn_per_token": 0.006269592476489028,
        "functions_per_token": 0.006269592476489028,
        "loc_per_token": 0.09404388714733543,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 10.633333333333333
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 128,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ImplicitParameterNodeViewer.java",
        "comments": 39,
        "loc_per_function": 14.22,
        "blanks_per_loc": 0.1,
        "num_funs": 9,
        "comments_per_loc": 0.3,
        "tokens": 1052,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 116.88888888888889,
        "ccn_per_token": 0.017110266159695818,
        "functions_per_token": 0.008555133079847909,
        "loc_per_token": 0.12167300380228137,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.0703125,
        "tokens_per_loc": 8.21875
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageNodeViewer.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.19,
        "num_funs": 4,
        "comments_per_loc": 0.47,
        "tokens": 525,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 131.25,
        "ccn_per_token": 0.017142857142857144,
        "functions_per_token": 0.007619047619047619,
        "loc_per_token": 0.1219047619047619,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.203125
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ObjectNodeViewer.java",
        "comments": 32,
        "loc_per_function": 17.4,
        "blanks_per_loc": 0.08,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 790,
        "ccn": 11,
        "ccn_per_function": 2.2,
        "tokens_per_function": 158.0,
        "ccn_per_token": 0.013924050632911392,
        "functions_per_token": 0.006329113924050633,
        "loc_per_token": 0.11012658227848102,
        "ccn_per_loc": 0.12643678160919541,
        "functions_per_loc": 0.05747126436781609,
        "tokens_per_loc": 9.080459770114942
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 79,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractNodeViewer.java",
        "comments": 35,
        "loc_per_function": 19.75,
        "blanks_per_loc": 0.09,
        "num_funs": 4,
        "comments_per_loc": 0.44,
        "tokens": 598,
        "ccn": 10,
        "ccn_per_function": 2.5,
        "tokens_per_function": 149.5,
        "ccn_per_token": 0.016722408026755852,
        "functions_per_token": 0.006688963210702341,
        "loc_per_token": 0.13210702341137123,
        "ccn_per_loc": 0.12658227848101267,
        "functions_per_loc": 0.05063291139240506,
        "tokens_per_loc": 7.569620253164557
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageDescriptionNodeViewer.java",
        "comments": 26,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.65,
        "tokens": 415,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 138.33333333333334,
        "ccn_per_token": 0.007228915662650603,
        "functions_per_token": 0.007228915662650603,
        "loc_per_token": 0.0963855421686747,
        "ccn_per_loc": 0.075,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 10.375
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/UseCaseNodeViewer.java",
        "comments": 23,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 2,
        "comments_per_loc": 0.77,
        "tokens": 324,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 162.0,
        "ccn_per_token": 0.006172839506172839,
        "functions_per_token": 0.006172839506172839,
        "loc_per_token": 0.09259259259259259,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 10.8
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/TypeNodeViewer.java",
        "comments": 34,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.12,
        "num_funs": 8,
        "comments_per_loc": 0.31,
        "tokens": 935,
        "ccn": 15,
        "ccn_per_function": 1.875,
        "tokens_per_function": 116.875,
        "ccn_per_token": 0.016042780748663103,
        "functions_per_token": 0.008556149732620321,
        "loc_per_token": 0.11657754010695187,
        "ccn_per_loc": 0.13761467889908258,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 8.577981651376147
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 80,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractPackageNodeViewer.java",
        "comments": 33,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.41,
        "tokens": 689,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 114.83333333333333,
        "ccn_per_token": 0.013062409288824383,
        "functions_per_token": 0.008708272859216255,
        "loc_per_token": 0.11611030478955008,
        "ccn_per_loc": 0.1125,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 8.6125
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewer.java",
        "comments": 66,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 4.12,
        "tokens": 142,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 142,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11267605633802817,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.875
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CircularStateNodeViewer.java",
        "comments": 26,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 502,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 125.5,
        "ccn_per_token": 0.017928286852589643,
        "functions_per_token": 0.00796812749003984,
        "loc_per_token": 0.11553784860557768,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.655172413793103
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/StateNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 279,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 139.5,
        "ccn_per_token": 0.007168458781362007,
        "functions_per_token": 0.007168458781362007,
        "loc_per_token": 0.1003584229390681,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 9.964285714285714
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 168,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CallNodeViewer.java",
        "comments": 37,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1150,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 127.77777777777777,
        "ccn_per_token": 0.022608695652173914,
        "functions_per_token": 0.00782608695652174,
        "loc_per_token": 0.14608695652173914,
        "ccn_per_loc": 0.15476190476190477,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 6.845238095238095
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewerRegistry.java",
        "comments": 69,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.91,
        "tokens": 764,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 95.5,
        "ccn_per_token": 0.011780104712041885,
        "functions_per_token": 0.010471204188481676,
        "loc_per_token": 0.09947643979057591,
        "ccn_per_loc": 0.11842105263157894,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 10.052631578947368
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/FieldNodeViewer.java",
        "comments": 38,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.09,
        "num_funs": 8,
        "comments_per_loc": 0.36,
        "tokens": 1009,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 126.125,
        "ccn_per_token": 0.010901883052527254,
        "functions_per_token": 0.007928642220019821,
        "loc_per_token": 0.10505450941526263,
        "ccn_per_loc": 0.10377358490566038,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 9.518867924528301
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ActorNodeViewer.java",
        "comments": 23,
        "loc_per_function": 22,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.35,
        "tokens": 729,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 243.0,
        "ccn_per_token": 0.00411522633744856,
        "functions_per_token": 0.00411522633744856,
        "loc_per_token": 0.09053497942386832,
        "ccn_per_loc": 0.045454545454545456,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 11.045454545454545
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PointNodeViewer.java",
        "comments": 24,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.83,
        "tokens": 193,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.25,
        "ccn_per_token": 0.02072538860103627,
        "functions_per_token": 0.02072538860103627,
        "loc_per_token": 0.15025906735751296,
        "ccn_per_loc": 0.13793103448275862,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 6.655172413793103
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramViewer.java",
        "comments": 32,
        "loc_per_function": 27.5,
        "blanks_per_loc": 0.07,
        "num_funs": 2,
        "comments_per_loc": 0.58,
        "tokens": 321,
        "ccn": 12,
        "ccn_per_function": 6.0,
        "tokens_per_function": 160.5,
        "ccn_per_token": 0.037383177570093455,
        "functions_per_token": 0.006230529595015576,
        "loc_per_token": 0.17133956386292834,
        "ccn_per_loc": 0.21818181818181817,
        "functions_per_loc": 0.03636363636363636,
        "tokens_per_loc": 5.836363636363636
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramViewer.java",
        "comments": 75,
        "loc_per_function": 16.71,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.64,
        "tokens": 694,
        "ccn": 26,
        "ccn_per_function": 3.7142857142857144,
        "tokens_per_function": 99.14285714285714,
        "ccn_per_token": 0.037463976945244955,
        "functions_per_token": 0.010086455331412104,
        "loc_per_token": 0.1685878962536023,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.05982905982905983,
        "tokens_per_loc": 5.931623931623932
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 50,
        "loc_per_function": 23,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 760,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.021052631578947368,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1513157894736842,
        "ccn_per_loc": 0.1391304347826087,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 6.608695652173913
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 0.94,
        "tokens": 283,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 141.5,
        "ccn_per_token": 0.007067137809187279,
        "functions_per_token": 0.007067137809187279,
        "loc_per_token": 0.11307420494699646,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.84375
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 56,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 575,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 95.83333333333333,
        "ccn_per_token": 0.017391304347826087,
        "functions_per_token": 0.010434782608695653,
        "loc_per_token": 0.13217391304347825,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.565789473684211
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewerUtilities.java",
        "comments": 46,
        "loc_per_function": 13,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.88,
        "tokens": 291,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 72.75,
        "ccn_per_token": 0.027491408934707903,
        "functions_per_token": 0.013745704467353952,
        "loc_per_token": 0.17869415807560138,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.596153846153846
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 27,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 1.93,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 741,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 247.0,
        "ccn_per_token": 0.014844804318488529,
        "functions_per_token": 0.004048582995951417,
        "loc_per_token": 0.09986504723346828,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 10.013513513513514
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 200,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 135,
        "loc_per_function": 8.7,
        "blanks_per_loc": 0.14,
        "num_funs": 23,
        "comments_per_loc": 0.68,
        "tokens": 1079,
        "ccn": 51,
        "ccn_per_function": 2.217391304347826,
        "tokens_per_function": 46.91304347826087,
        "ccn_per_token": 0.047265987025023166,
        "functions_per_token": 0.021316033364226137,
        "loc_per_token": 0.18535681186283595,
        "ccn_per_loc": 0.255,
        "functions_per_loc": 0.115,
        "tokens_per_loc": 5.395
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 99,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Prototypes.java",
        "comments": 32,
        "loc_per_function": 24.75,
        "blanks_per_loc": 0.14,
        "num_funs": 4,
        "comments_per_loc": 0.32,
        "tokens": 1080,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 270.0,
        "ccn_per_token": 0.006481481481481481,
        "functions_per_token": 0.003703703703703704,
        "loc_per_token": 0.09166666666666666,
        "ccn_per_loc": 0.0707070707070707,
        "functions_per_loc": 0.04040404040404041,
        "tokens_per_loc": 10.909090909090908
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 31,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.43,
        "tokens": 39,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 39,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1794871794871795,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.571428571428571
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 62,
        "loc_per_function": 16.88,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.46,
        "tokens": 684,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 85.5,
        "ccn_per_token": 0.014619883040935672,
        "functions_per_token": 0.011695906432748537,
        "loc_per_token": 0.19736842105263158,
        "ccn_per_loc": 0.07407407407407407,
        "functions_per_loc": 0.05925925925925926,
        "tokens_per_loc": 5.066666666666666
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 334,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 124,
        "loc_per_function": 14.52,
        "blanks_per_loc": 0.09,
        "num_funs": 23,
        "comments_per_loc": 0.37,
        "tokens": 2141,
        "ccn": 95,
        "ccn_per_function": 4.130434782608695,
        "tokens_per_function": 93.08695652173913,
        "ccn_per_token": 0.044371788883699206,
        "functions_per_token": 0.010742643624474545,
        "loc_per_token": 0.15600186828584772,
        "ccn_per_loc": 0.2844311377245509,
        "functions_per_loc": 0.0688622754491018,
        "tokens_per_loc": 6.410179640718563
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 134,
        "loc_per_function": 25,
        "blanks_per_loc": 0.84,
        "num_funs": 0,
        "comments_per_loc": 5.36,
        "tokens": 163,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 163,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15337423312883436,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.52
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.78,
        "num_funs": 0,
        "comments_per_loc": 4.89,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 23,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 23,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21739130434782608,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.6
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 35,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.27,
        "num_funs": 3,
        "comments_per_loc": 1.59,
        "tokens": 105,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.0,
        "ccn_per_token": 0.02857142857142857,
        "functions_per_token": 0.02857142857142857,
        "loc_per_token": 0.20952380952380953,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.7727272727272725
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 35,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.4,
        "tokens": 108,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.027777777777777776,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.23148148148148148,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.32
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 40,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.3,
        "num_funs": 5,
        "comments_per_loc": 1.48,
        "tokens": 141,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 28.2,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03546099290780142,
        "loc_per_token": 0.19148936170212766,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 5.222222222222222
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 23,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 238,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 39.666666666666664,
        "ccn_per_token": 0.037815126050420166,
        "functions_per_token": 0.025210084033613446,
        "loc_per_token": 0.21008403361344538,
        "ccn_per_loc": 0.18,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.76
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 41,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.52,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ConstructorEdge.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 3.25,
        "tokens": 34,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.23529411764705882,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.25
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 42,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.56,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 37,
        "loc_per_function": 5,
        "blanks_per_loc": 0.3,
        "num_funs": 6,
        "comments_per_loc": 1.23,
        "tokens": 146,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.333333333333332,
        "ccn_per_token": 0.0410958904109589,
        "functions_per_token": 0.0410958904109589,
        "loc_per_token": 0.2054794520547945,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 4.866666666666666
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 1.5,
        "tokens": 106,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.22641509433962265,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.416666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 24,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.38,
        "tokens": 348,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 49.714285714285715,
        "ccn_per_token": 0.028735632183908046,
        "functions_per_token": 0.020114942528735632,
        "loc_per_token": 0.1839080459770115,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 5.4375
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 25,
        "loc_per_function": 6.1,
        "blanks_per_loc": 0.2,
        "num_funs": 20,
        "comments_per_loc": 0.2,
        "tokens": 569,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.45,
        "ccn_per_token": 0.0351493848857645,
        "functions_per_token": 0.0351493848857645,
        "loc_per_token": 0.21441124780316345,
        "ccn_per_loc": 0.16393442622950818,
        "functions_per_loc": 0.16393442622950818,
        "tokens_per_loc": 4.663934426229508
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 20,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 20,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.666666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageDescriptionNode.java",
        "comments": 32,
        "loc_per_function": 6.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 1.28,
        "tokens": 112,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.0,
        "ccn_per_token": 0.03571428571428571,
        "functions_per_token": 0.03571428571428571,
        "loc_per_token": 0.22321428571428573,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.16,
        "tokens_per_loc": 4.48
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 29,
        "loc_per_function": 9.17,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.53,
        "tokens": 278,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.02877697841726619,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.19784172661870503,
        "ccn_per_loc": 0.14545454545454545,
        "functions_per_loc": 0.10909090909090909,
        "tokens_per_loc": 5.054545454545455
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 42,
        "loc_per_function": 6.22,
        "blanks_per_loc": 0.25,
        "num_funs": 9,
        "comments_per_loc": 0.75,
        "tokens": 250,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.77777777777778,
        "ccn_per_token": 0.036,
        "functions_per_token": 0.036,
        "loc_per_token": 0.224,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.16071428571428573,
        "tokens_per_loc": 4.464285714285714
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.26,
        "num_funs": 9,
        "comments_per_loc": 0.63,
        "tokens": 235,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.11111111111111,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03829787234042553,
        "loc_per_token": 0.2297872340425532,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.351851851851852
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractPackageNode.java",
        "comments": 32,
        "loc_per_function": 6.43,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.71,
        "tokens": 208,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 29.714285714285715,
        "ccn_per_token": 0.038461538461538464,
        "functions_per_token": 0.03365384615384615,
        "loc_per_token": 0.21634615384615385,
        "ccn_per_loc": 0.17777777777777778,
        "functions_per_loc": 0.15555555555555556,
        "tokens_per_loc": 4.622222222222222
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 1,
        "comments_per_loc": 2.89,
        "tokens": 40,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.025,
        "functions_per_token": 0.025,
        "loc_per_token": 0.225,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.444444444444445
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/TypeNode.java",
        "comments": 38,
        "loc_per_function": 6.11,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.69,
        "tokens": 236,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.22222222222222,
        "ccn_per_token": 0.0423728813559322,
        "functions_per_token": 0.038135593220338986,
        "loc_per_token": 0.2330508474576271,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.16363636363636364,
        "tokens_per_loc": 4.290909090909091
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 8.71,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 327,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 46.714285714285715,
        "ccn_per_token": 0.027522935779816515,
        "functions_per_token": 0.021406727828746176,
        "loc_per_token": 0.18654434250764526,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.11475409836065574,
        "tokens_per_loc": 5.360655737704918
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 219,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0091324200913242,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1187214611872146,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.423076923076923
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 119,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 17,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.29,
        "tokens": 719,
        "ccn": 21,
        "ccn_per_function": 3.0,
        "tokens_per_function": 102.71428571428571,
        "ccn_per_token": 0.02920723226703755,
        "functions_per_token": 0.009735744089012517,
        "loc_per_token": 0.16550764951321278,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.042016806722689
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 354,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 149,
        "loc_per_function": 19.67,
        "blanks_per_loc": 0.09,
        "num_funs": 18,
        "comments_per_loc": 0.42,
        "tokens": 2549,
        "ccn": 63,
        "ccn_per_function": 3.5,
        "tokens_per_function": 141.61111111111111,
        "ccn_per_token": 0.02471557473519027,
        "functions_per_token": 0.007061592781482934,
        "loc_per_token": 0.13887799136916437,
        "ccn_per_loc": 0.17796610169491525,
        "functions_per_loc": 0.05084745762711865,
        "tokens_per_loc": 7.200564971751413
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 259,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 104,
        "loc_per_function": 17.27,
        "blanks_per_loc": 0.08,
        "num_funs": 15,
        "comments_per_loc": 0.4,
        "tokens": 1546,
        "ccn": 49,
        "ccn_per_function": 3.2666666666666666,
        "tokens_per_function": 103.06666666666666,
        "ccn_per_token": 0.03169469598965071,
        "functions_per_token": 0.009702457956015523,
        "loc_per_token": 0.16752910737386806,
        "ccn_per_loc": 0.1891891891891892,
        "functions_per_loc": 0.05791505791505792,
        "tokens_per_loc": 5.969111969111969
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 61,
        "loc_per_function": 8.11,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.84,
        "tokens": 356,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 39.55555555555556,
        "ccn_per_token": 0.033707865168539325,
        "functions_per_token": 0.025280898876404494,
        "loc_per_token": 0.2050561797752809,
        "ccn_per_loc": 0.1643835616438356,
        "functions_per_loc": 0.1232876712328767,
        "tokens_per_loc": 4.876712328767123
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 34,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.55,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 198,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 42,
        "loc_per_function": 22,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.21,
        "tokens": 1354,
        "ccn": 32,
        "ccn_per_function": 3.5555555555555554,
        "tokens_per_function": 150.44444444444446,
        "ccn_per_token": 0.023633677991137372,
        "functions_per_token": 0.0066469719350073855,
        "loc_per_token": 0.14623338257016247,
        "ccn_per_loc": 0.16161616161616163,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 6.838383838383838
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 195,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 97.5,
        "ccn_per_token": 0.010256410256410256,
        "functions_per_token": 0.010256410256410256,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.25,
        "tokens": 170,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 56.666666666666664,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.01764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 38,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.69,
        "tokens": 448,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.033482142857142856,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.12276785714285714,
        "ccn_per_loc": 0.2727272727272727,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.145454545454545
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 8.83,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 414,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.043478260869565216,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.1280193236714976,
        "ccn_per_loc": 0.33962264150943394,
        "functions_per_loc": 0.11320754716981132,
        "tokens_per_loc": 7.811320754716981
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 231,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11688311688311688,
        "ccn_per_loc": 0.25925925925925924,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 8.555555555555555
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 43,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.48,
        "tokens": 145,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 48.333333333333336,
        "ccn_per_token": 0.034482758620689655,
        "functions_per_token": 0.020689655172413793,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ClassDiagramEdgeConstraints.java",
        "comments": 36,
        "loc_per_function": 13,
        "blanks_per_loc": 0.11,
        "num_funs": 5,
        "comments_per_loc": 0.55,
        "tokens": 448,
        "ccn": 21,
        "ccn_per_function": 4.2,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.046875,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.14508928571428573,
        "ccn_per_loc": 0.3230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.892307692307693
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/Constraint.java",
        "comments": 27,
        "loc_per_function": 5,
        "blanks_per_loc": 0.4,
        "num_funs": 0,
        "comments_per_loc": 5.4,
        "tokens": 25,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 25,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.75,
        "tokens": 385,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 192.5,
        "ccn_per_token": 0.02077922077922078,
        "functions_per_token": 0.005194805194805195,
        "loc_per_token": 0.13246753246753246,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.0392156862745098,
        "tokens_per_loc": 7.549019607843137
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.98,
        "tokens": 279,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.021505376344086023,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 177,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 86,
        "loc_per_function": 11.8,
        "blanks_per_loc": 0.11,
        "num_funs": 15,
        "comments_per_loc": 0.49,
        "tokens": 987,
        "ccn": 40,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 65.8,
        "ccn_per_token": 0.040526849037487336,
        "functions_per_token": 0.015197568389057751,
        "loc_per_token": 0.17933130699088146,
        "ccn_per_loc": 0.22598870056497175,
        "functions_per_loc": 0.0847457627118644,
        "tokens_per_loc": 5.576271186440678
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 43,
        "loc_per_function": 11.2,
        "blanks_per_loc": 0.23,
        "num_funs": 5,
        "comments_per_loc": 0.77,
        "tokens": 419,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 83.8,
        "ccn_per_token": 0.016706443914081145,
        "functions_per_token": 0.011933174224343675,
        "loc_per_token": 0.13365155131264916,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.08928571428571429,
        "tokens_per_loc": 7.482142857142857
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 88,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.24,
        "num_funs": 12,
        "comments_per_loc": 0.78,
        "tokens": 529,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 44.083333333333336,
        "ccn_per_token": 0.026465028355387523,
        "functions_per_token": 0.022684310018903593,
        "loc_per_token": 0.166351606805293,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.011363636363637
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 107,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Version.java",
        "comments": 54,
        "loc_per_function": 11.89,
        "blanks_per_loc": 0.11,
        "num_funs": 9,
        "comments_per_loc": 0.5,
        "tokens": 583,
        "ccn": 22,
        "ccn_per_function": 2.4444444444444446,
        "tokens_per_function": 64.77777777777777,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.015437392795883362,
        "loc_per_token": 0.1835334476843911,
        "ccn_per_loc": 0.205607476635514,
        "functions_per_loc": 0.08411214953271028,
        "tokens_per_loc": 5.4485981308411215
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 102,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 81,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1552511415525114,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 6.4411764705882355
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/TipDialog.java",
        "comments": 33,
        "loc_per_function": 19,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 0.43,
        "tokens": 610,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 152.5,
        "ccn_per_token": 0.00819672131147541,
        "functions_per_token": 0.006557377049180328,
        "loc_per_token": 0.12459016393442623,
        "ccn_per_loc": 0.06578947368421052,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.026315789473685
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 589,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.8,
        "ccn_per_token": 0.011884550084889643,
        "functions_per_token": 0.008488964346349746,
        "loc_per_token": 0.12224108658743633,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.180555555555555
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 49,
        "loc_per_function": 10.9,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.45,
        "tokens": 743,
        "ccn": 14,
        "ccn_per_function": 1.4,
        "tokens_per_function": 74.3,
        "ccn_per_token": 0.018842530282637954,
        "functions_per_token": 0.013458950201884253,
        "loc_per_token": 0.14670255720053835,
        "ccn_per_loc": 0.12844036697247707,
        "functions_per_loc": 0.09174311926605505,
        "tokens_per_loc": 6.81651376146789
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 624,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 156.0,
        "ccn_per_token": 0.008012820512820512,
        "functions_per_token": 0.00641025641025641,
        "loc_per_token": 0.1233974358974359,
        "ccn_per_loc": 0.06493506493506493,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 8.103896103896103
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.85,
        "tokens": 398,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 99.5,
        "ccn_per_token": 0.020100502512562814,
        "functions_per_token": 0.010050251256281407,
        "loc_per_token": 0.1306532663316583,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.653846153846154
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 567,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 100,
        "loc_per_function": 16.68,
        "blanks_per_loc": 0.12,
        "num_funs": 34,
        "comments_per_loc": 0.18,
        "tokens": 4266,
        "ccn": 79,
        "ccn_per_function": 2.323529411764706,
        "tokens_per_function": 125.47058823529412,
        "ccn_per_token": 0.018518518518518517,
        "functions_per_token": 0.007969995311767463,
        "loc_per_token": 0.13291139240506328,
        "ccn_per_loc": 0.13932980599647266,
        "functions_per_loc": 0.059964726631393295,
        "tokens_per_loc": 7.523809523809524
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 455,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 98,
        "loc_per_function": 14.22,
        "blanks_per_loc": 0.1,
        "num_funs": 32,
        "comments_per_loc": 0.22,
        "tokens": 2872,
        "ccn": 89,
        "ccn_per_function": 2.78125,
        "tokens_per_function": 89.75,
        "ccn_per_token": 0.030988857938718663,
        "functions_per_token": 0.011142061281337047,
        "loc_per_token": 0.15842618384401114,
        "ccn_per_loc": 0.1956043956043956,
        "functions_per_loc": 0.07032967032967033,
        "tokens_per_loc": 6.312087912087912
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 193,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 71,
        "loc_per_function": 12.06,
        "blanks_per_loc": 0.1,
        "num_funs": 16,
        "comments_per_loc": 0.37,
        "tokens": 1426,
        "ccn": 26,
        "ccn_per_function": 1.625,
        "tokens_per_function": 89.125,
        "ccn_per_token": 0.0182328190743338,
        "functions_per_token": 0.011220196353436185,
        "loc_per_token": 0.135343618513324,
        "ccn_per_loc": 0.13471502590673576,
        "functions_per_loc": 0.08290155440414508,
        "tokens_per_loc": 7.38860103626943
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/KeyEventHandler.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1232,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.2,
        "ccn_per_token": 0.025162337662337664,
        "functions_per_token": 0.008116883116883116,
        "loc_per_token": 0.15746753246753248,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.350515463917525
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 224,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 135,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.14,
        "num_funs": 26,
        "comments_per_loc": 0.6,
        "tokens": 1164,
        "ccn": 42,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 44.76923076923077,
        "ccn_per_token": 0.03608247422680412,
        "functions_per_token": 0.022336769759450172,
        "loc_per_token": 0.19243986254295534,
        "ccn_per_loc": 0.1875,
        "functions_per_loc": 0.11607142857142858,
        "tokens_per_loc": 5.196428571428571
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.76,
        "tokens": 578,
        "ccn": 29,
        "ccn_per_function": 1.8125,
        "tokens_per_function": 36.125,
        "ccn_per_token": 0.050173010380622836,
        "functions_per_token": 0.02768166089965398,
        "loc_per_token": 0.20069204152249134,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.982758620689655
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 203,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 105,
        "loc_per_function": 8.12,
        "blanks_per_loc": 0.19,
        "num_funs": 25,
        "comments_per_loc": 0.52,
        "tokens": 1241,
        "ccn": 32,
        "ccn_per_function": 1.28,
        "tokens_per_function": 49.64,
        "ccn_per_token": 0.0257856567284448,
        "functions_per_token": 0.020145044319097503,
        "loc_per_token": 0.1635777598710717,
        "ccn_per_loc": 0.15763546798029557,
        "functions_per_loc": 0.12315270935960591,
        "tokens_per_loc": 6.113300492610837
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 40,
        "loc_per_function": 13,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.13978494623655913,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.153846153846154
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 260,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/TipDialog.java",
        "comments": 72,
        "loc_per_function": 17.33,
        "blanks_per_loc": 0.2,
        "num_funs": 15,
        "comments_per_loc": 0.28,
        "tokens": 1823,
        "ccn": 21,
        "ccn_per_function": 1.4,
        "tokens_per_function": 121.53333333333333,
        "ccn_per_token": 0.01151947339550192,
        "functions_per_token": 0.008228195282501372,
        "loc_per_token": 0.1426220515633571,
        "ccn_per_loc": 0.08076923076923077,
        "functions_per_loc": 0.057692307692307696,
        "tokens_per_loc": 7.0115384615384615
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/TipElement.java",
        "comments": 35,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.75,
        "tokens": 75,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 25.0,
        "ccn_per_token": 0.05333333333333334,
        "functions_per_token": 0.04,
        "loc_per_token": 0.26666666666666666,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 3.75
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/Media.java",
        "comments": 23,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 4.6,
        "tokens": 20,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 20,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 71,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/ViewedTips.java",
        "comments": 46,
        "loc_per_function": 10.14,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.65,
        "tokens": 220,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 31.428571428571427,
        "ccn_per_token": 0.05909090909090909,
        "functions_per_token": 0.031818181818181815,
        "loc_per_token": 0.32272727272727275,
        "ccn_per_loc": 0.18309859154929578,
        "functions_per_loc": 0.09859154929577464,
        "tokens_per_loc": 3.0985915492957745
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/TipFieldName.java",
        "comments": 25,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 1,
        "comments_per_loc": 2.78,
        "tokens": 37,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.02702702702702703,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.24324324324324326,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.111111111111111
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 75,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/tips/TipLoader.java",
        "comments": 53,
        "loc_per_function": 10.71,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.71,
        "tokens": 500,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 71.42857142857143,
        "ccn_per_token": 0.02,
        "functions_per_token": 0.014,
        "loc_per_token": 0.15,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.09333333333333334,
        "tokens_per_loc": 6.666666666666667
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.13,
        "tokens": 259,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 86.33333333333333,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.011583011583011582,
        "loc_per_token": 0.15057915057915058,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.641025641025641
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.37,
        "tokens": 606,
        "ccn": 15,
        "ccn_per_function": 2.142857142857143,
        "tokens_per_function": 86.57142857142857,
        "ccn_per_token": 0.024752475247524754,
        "functions_per_token": 0.01155115511551155,
        "loc_per_token": 0.13861386138613863,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.214285714285714
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 4,
        "comments_per_loc": 1.05,
        "tokens": 194,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.041237113402061855,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.20103092783505155,
        "ccn_per_loc": 0.20512820512820512,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 4.9743589743589745
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 17.67,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 721,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 120.16666666666667,
        "ccn_per_token": 0.024965325936199722,
        "functions_per_token": 0.008321775312066574,
        "loc_per_token": 0.14701803051317613,
        "ccn_per_loc": 0.16981132075471697,
        "functions_per_loc": 0.05660377358490566,
        "tokens_per_loc": 6.80188679245283
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 31,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.75,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.32,
        "tokens": 171,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 42.75,
        "ccn_per_token": 0.023391812865497075,
        "functions_per_token": 0.023391812865497075,
        "loc_per_token": 0.18128654970760233,
        "ccn_per_loc": 0.12903225806451613,
        "functions_per_loc": 0.12903225806451613,
        "tokens_per_loc": 5.516129032258065
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 47,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 1.38,
        "tokens": 148,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.0472972972972973,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.22972972972972974,
        "ccn_per_loc": 0.20588235294117646,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.352941176470588
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 179,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionMigrator.java",
        "comments": 57,
        "loc_per_function": 17.9,
        "blanks_per_loc": 0.11,
        "num_funs": 10,
        "comments_per_loc": 0.32,
        "tokens": 1238,
        "ccn": 35,
        "ccn_per_function": 3.5,
        "tokens_per_function": 123.8,
        "ccn_per_token": 0.02827140549273021,
        "functions_per_token": 0.008077544426494346,
        "loc_per_token": 0.14458804523424879,
        "ccn_per_loc": 0.19553072625698323,
        "functions_per_loc": 0.055865921787709494,
        "tokens_per_loc": 6.916201117318436
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionedDiagram.java",
        "comments": 37,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 113,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.25,
        "ccn_per_token": 0.035398230088495575,
        "functions_per_token": 0.035398230088495575,
        "loc_per_token": 0.23893805309734514,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.185185185185185
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 213,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 134,
        "loc_per_function": 14.2,
        "blanks_per_loc": 0.15,
        "num_funs": 15,
        "comments_per_loc": 0.63,
        "tokens": 1150,
        "ccn": 65,
        "ccn_per_function": 4.333333333333333,
        "tokens_per_function": 76.66666666666667,
        "ccn_per_token": 0.05652173913043478,
        "functions_per_token": 0.013043478260869565,
        "loc_per_token": 0.18521739130434783,
        "ccn_per_loc": 0.3051643192488263,
        "functions_per_loc": 0.07042253521126761,
        "tokens_per_loc": 5.39906103286385
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 17,
        "file_path": "src/org/json/JSONException.java",
        "comments": 19,
        "loc_per_function": 5.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 67,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 22.333333333333332,
        "ccn_per_token": 0.04477611940298507,
        "functions_per_token": 0.04477611940298507,
        "loc_per_token": 0.2537313432835821,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.17647058823529413,
        "tokens_per_loc": 3.9411764705882355
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 534,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 450,
        "loc_per_function": 14.83,
        "blanks_per_loc": 0.12,
        "num_funs": 36,
        "comments_per_loc": 0.84,
        "tokens": 3518,
        "ccn": 195,
        "ccn_per_function": 5.416666666666667,
        "tokens_per_function": 97.72222222222223,
        "ccn_per_token": 0.05542922114837976,
        "functions_per_token": 0.01023308698123934,
        "loc_per_token": 0.15179079022171688,
        "ccn_per_loc": 0.3651685393258427,
        "functions_per_loc": 0.06741573033707865,
        "tokens_per_loc": 6.588014981273409
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 179,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 11.93,
        "blanks_per_loc": 0.17,
        "num_funs": 15,
        "comments_per_loc": 1.11,
        "tokens": 1134,
        "ccn": 59,
        "ccn_per_function": 3.933333333333333,
        "tokens_per_function": 75.6,
        "ccn_per_token": 0.05202821869488536,
        "functions_per_token": 0.013227513227513227,
        "loc_per_token": 0.15784832451499117,
        "ccn_per_loc": 0.329608938547486,
        "functions_per_loc": 0.08379888268156424,
        "tokens_per_loc": 6.335195530726257
    },
    {
        "date": "2020-12-04 Rel 3.1",
        "loc": 204,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 228,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 1.12,
        "tokens": 1246,
        "ccn": 53,
        "ccn_per_function": 3.1176470588235294,
        "tokens_per_function": 73.29411764705883,
        "ccn_per_token": 0.04253611556982344,
        "functions_per_token": 0.013643659711075442,
        "loc_per_token": 0.1637239165329053,
        "ccn_per_loc": 0.25980392156862747,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.107843137254902
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 9,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 24,
        "loc_per_function": 4.5,
        "blanks_per_loc": 0.44,
        "num_funs": 2,
        "comments_per_loc": 2.67,
        "tokens": 53,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.16981132075471697,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.2222222222222222,
        "tokens_per_loc": 5.888888888888889
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestDimension.java",
        "comments": 21,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.45,
        "tokens": 387,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.4,
        "ccn_per_token": 0.012919896640826873,
        "functions_per_token": 0.012919896640826873,
        "loc_per_token": 0.12144702842377261,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 8.23404255319149
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 365,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 73.0,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0136986301369863,
        "loc_per_token": 0.13424657534246576,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.448979591836735
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 466,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.2,
        "ccn_per_token": 0.01072961373390558,
        "functions_per_token": 0.01072961373390558,
        "loc_per_token": 0.11802575107296137,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.472727272727273
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestUtil.java",
        "comments": 20,
        "loc_per_function": 6,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 238,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 737,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.88888888888889,
        "ccn_per_token": 0.012211668928086838,
        "functions_per_token": 0.012211668928086838,
        "loc_per_token": 0.11533242876526459,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.670588235294117
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 484,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 21.04,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.09,
        "tokens": 4926,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 214.17391304347825,
        "ccn_per_token": 0.004669102720259845,
        "functions_per_token": 0.004669102720259845,
        "loc_per_token": 0.09825416159155502,
        "ccn_per_loc": 0.047520661157024795,
        "functions_per_loc": 0.047520661157024795,
        "tokens_per_loc": 10.177685950413224
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestDependencyEdgeViewer.java",
        "comments": 20,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 289,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 96.33333333333333,
        "ccn_per_token": 0.010380622837370242,
        "functions_per_token": 0.010380622837370242,
        "loc_per_token": 0.14186851211072665,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 7.048780487804878
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestNoteEdgeViewer.java",
        "comments": 25,
        "loc_per_function": 18,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.35,
        "tokens": 631,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.75,
        "ccn_per_token": 0.006339144215530904,
        "functions_per_token": 0.006339144215530904,
        "loc_per_token": 0.11410459587955626,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 8.76388888888889
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 120,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestFieldNodeViewer.java",
        "comments": 35,
        "loc_per_function": 9.23,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.29,
        "tokens": 977,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 75.15384615384616,
        "ccn_per_token": 0.01330603889457523,
        "functions_per_token": 0.01330603889457523,
        "loc_per_token": 0.12282497441146366,
        "ccn_per_loc": 0.10833333333333334,
        "functions_per_loc": 0.10833333333333334,
        "tokens_per_loc": 8.141666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 33,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCircularNodeViewer.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 0.61,
        "tokens": 241,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.33333333333333,
        "ccn_per_token": 0.012448132780082987,
        "functions_per_token": 0.012448132780082987,
        "loc_per_token": 0.13692946058091288,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.303030303030303
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestTypeNodeViewer.java",
        "comments": 26,
        "loc_per_function": 8.4,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 0.21,
        "tokens": 831,
        "ccn": 16,
        "ccn_per_function": 1.0666666666666667,
        "tokens_per_function": 55.4,
        "ccn_per_token": 0.019253910950661854,
        "functions_per_token": 0.018050541516245487,
        "loc_per_token": 0.15162454873646208,
        "ccn_per_loc": 0.12698412698412698,
        "functions_per_loc": 0.11904761904761904,
        "tokens_per_loc": 6.595238095238095
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestUseCaseNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 117,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestObjectNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.17,
        "tokens": 863,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.91666666666667,
        "ccn_per_token": 0.013904982618771726,
        "functions_per_token": 0.013904982618771726,
        "loc_per_token": 0.13557358053302435,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.3760683760683765
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 77,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCallNodeViewer.java",
        "comments": 20,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.26,
        "tokens": 591,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 147.75,
        "ccn_per_token": 0.00676818950930626,
        "functions_per_token": 0.00676818950930626,
        "loc_per_token": 0.13028764805414553,
        "ccn_per_loc": 0.05194805194805195,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 7.675324675324675
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestPackageNodeViewer.java",
        "comments": 20,
        "loc_per_function": 8.54,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.18,
        "tokens": 682,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 52.46153846153846,
        "ccn_per_token": 0.021994134897360705,
        "functions_per_token": 0.01906158357771261,
        "loc_per_token": 0.1627565982404692,
        "ccn_per_loc": 0.13513513513513514,
        "functions_per_loc": 0.11711711711711711,
        "tokens_per_loc": 6.1441441441441444
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 113,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestImplicitParameterNodeViewer.java",
        "comments": 27,
        "loc_per_function": 16.14,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 874,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 124.85714285714286,
        "ccn_per_token": 0.008009153318077803,
        "functions_per_token": 0.008009153318077803,
        "loc_per_token": 0.12929061784897025,
        "ccn_per_loc": 0.061946902654867256,
        "functions_per_loc": 0.061946902654867256,
        "tokens_per_loc": 7.734513274336283
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestActorNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 360,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.0,
        "ccn_per_token": 0.013888888888888888,
        "functions_per_token": 0.013888888888888888,
        "loc_per_token": 0.13055555555555556,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 7.659574468085107
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestStateNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestGrid.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.24,
        "tokens": 1233,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 246.6,
        "ccn_per_token": 0.0040551500405515,
        "functions_per_token": 0.0040551500405515,
        "loc_per_token": 0.0689375506893755,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 14.505882352941176
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 134,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 24,
        "loc_per_function": 7.44,
        "blanks_per_loc": 0.16,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 793,
        "ccn": 23,
        "ccn_per_function": 1.2777777777777777,
        "tokens_per_function": 44.05555555555556,
        "ccn_per_token": 0.029003783102143757,
        "functions_per_token": 0.02269861286254729,
        "loc_per_token": 0.16897856242118536,
        "ccn_per_loc": 0.17164179104477612,
        "functions_per_loc": 0.13432835820895522,
        "tokens_per_loc": 5.917910447761194
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2699,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.6875,
        "ccn_per_token": 0.005928121526491293,
        "functions_per_token": 0.005928121526491293,
        "loc_per_token": 0.10633567988143756,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.404181184668989
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 244,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 24,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.11,
        "num_funs": 18,
        "comments_per_loc": 0.1,
        "tokens": 1859,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.27777777777777,
        "ccn_per_token": 0.009682625067240451,
        "functions_per_token": 0.009682625067240451,
        "loc_per_token": 0.1312533620225928,
        "ccn_per_loc": 0.07377049180327869,
        "functions_per_loc": 0.07377049180327869,
        "tokens_per_loc": 7.618852459016393
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 100,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagram.java",
        "comments": 22,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 737,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.125,
        "ccn_per_token": 0.010854816824966078,
        "functions_per_token": 0.010854816824966078,
        "loc_per_token": 0.13568521031207598,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 7.37
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3510,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 219.375,
        "ccn_per_token": 0.004558404558404558,
        "functions_per_token": 0.004558404558404558,
        "loc_per_token": 0.09316239316239316,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.73394495412844
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 186,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 21,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.11,
        "tokens": 1809,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 100.5,
        "ccn_per_token": 0.010503040353786623,
        "functions_per_token": 0.009950248756218905,
        "loc_per_token": 0.10281923714759536,
        "ccn_per_loc": 0.10215053763440861,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 9.725806451612904
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 396,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 33,
        "loc_per_function": 9.43,
        "blanks_per_loc": 0.14,
        "num_funs": 42,
        "comments_per_loc": 0.08,
        "tokens": 2598,
        "ccn": 42,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.857142857142854,
        "ccn_per_token": 0.016166281755196306,
        "functions_per_token": 0.016166281755196306,
        "loc_per_token": 0.15242494226327943,
        "ccn_per_loc": 0.10606060606060606,
        "functions_per_loc": 0.10606060606060606,
        "tokens_per_loc": 6.5606060606060606
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.21,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 159,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.0,
        "ccn_per_token": 0.006289308176100629,
        "functions_per_token": 0.006289308176100629,
        "loc_per_token": 0.11949685534591195,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.368421052631579
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 469,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.75,
        "blanks_per_loc": 0.19,
        "num_funs": 28,
        "comments_per_loc": 0.06,
        "tokens": 4287,
        "ccn": 30,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 153.10714285714286,
        "ccn_per_token": 0.006997900629811057,
        "functions_per_token": 0.006531373921156987,
        "loc_per_token": 0.10940051317937952,
        "ccn_per_loc": 0.06396588486140725,
        "functions_per_loc": 0.05970149253731343,
        "tokens_per_loc": 9.140724946695096
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 313,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.08,
        "blanks_per_loc": 0.2,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3086,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 237.3846153846154,
        "ccn_per_token": 0.004212572909915748,
        "functions_per_token": 0.004212572909915748,
        "loc_per_token": 0.10142579390797149,
        "ccn_per_loc": 0.04153354632587859,
        "functions_per_loc": 0.04153354632587859,
        "tokens_per_loc": 9.859424920127795
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 333,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 19.59,
        "blanks_per_loc": 0.23,
        "num_funs": 17,
        "comments_per_loc": 0.08,
        "tokens": 2881,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 169.47058823529412,
        "ccn_per_token": 0.005900728913571677,
        "functions_per_token": 0.005900728913571677,
        "loc_per_token": 0.1155848663658452,
        "ccn_per_loc": 0.05105105105105105,
        "functions_per_loc": 0.05105105105105105,
        "tokens_per_loc": 8.651651651651651
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 115,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramDuplicate.java",
        "comments": 23,
        "loc_per_function": 16.43,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.2,
        "tokens": 1064,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.006578947368421052,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1080827067669173,
        "ccn_per_loc": 0.06086956521739131,
        "functions_per_loc": 0.06086956521739131,
        "tokens_per_loc": 9.252173913043478
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 458,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.6,
        "ccn_per_token": 0.010917030567685589,
        "functions_per_token": 0.010917030567685589,
        "loc_per_token": 0.10262008733624454,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 9.74468085106383
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 24,
        "loc_per_function": 14,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.57,
        "tokens": 310,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.33333333333333,
        "ccn_per_token": 0.00967741935483871,
        "functions_per_token": 0.00967741935483871,
        "loc_per_token": 0.13548387096774195,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 7.380952380952381
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 0.65,
        "tokens": 292,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.0,
        "ccn_per_token": 0.00684931506849315,
        "functions_per_token": 0.00684931506849315,
        "loc_per_token": 0.10616438356164383,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 9.419354838709678
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 1.18,
        "tokens": 167,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 167.0,
        "ccn_per_token": 0.005988023952095809,
        "functions_per_token": 0.005988023952095809,
        "loc_per_token": 0.10179640718562874,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 9.823529411764707
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 46,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestEdgeProperties.java",
        "comments": 23,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.5,
        "tokens": 506,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.66666666666666,
        "ccn_per_token": 0.005928853754940711,
        "functions_per_token": 0.005928853754940711,
        "loc_per_token": 0.09090909090909091,
        "ccn_per_loc": 0.06521739130434782,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 11.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 29,
        "loc_per_function": 7.93,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.26,
        "tokens": 759,
        "ccn": 14,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.214285714285715,
        "ccn_per_token": 0.01844532279314888,
        "functions_per_token": 0.01844532279314888,
        "loc_per_token": 0.14624505928853754,
        "ccn_per_loc": 0.12612612612612611,
        "functions_per_loc": 0.12612612612612611,
        "tokens_per_loc": 6.837837837837838
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 20,
        "loc_per_function": 10.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 250,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.5,
        "ccn_per_token": 0.016,
        "functions_per_token": 0.016,
        "loc_per_token": 0.164,
        "ccn_per_loc": 0.0975609756097561,
        "functions_per_loc": 0.0975609756097561,
        "tokens_per_loc": 6.097560975609756
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 129,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 16.12,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1259,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.375,
        "ccn_per_token": 0.006354249404289118,
        "functions_per_token": 0.006354249404289118,
        "loc_per_token": 0.10246227164416204,
        "ccn_per_loc": 0.06201550387596899,
        "functions_per_loc": 0.06201550387596899,
        "tokens_per_loc": 9.75968992248062
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 107,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 21.4,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.2,
        "tokens": 971,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 194.2,
        "ccn_per_token": 0.005149330587023687,
        "functions_per_token": 0.005149330587023687,
        "loc_per_token": 0.1101956745623069,
        "ccn_per_loc": 0.04672897196261682,
        "functions_per_loc": 0.04672897196261682,
        "tokens_per_loc": 9.074766355140186
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 9.11,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 558,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.0,
        "ccn_per_token": 0.016129032258064516,
        "functions_per_token": 0.016129032258064516,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.10975609756097561,
        "functions_per_loc": 0.10975609756097561,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 67,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageDescriptionNode.java",
        "comments": 20,
        "loc_per_function": 8.38,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.3,
        "tokens": 388,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.020618556701030927,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.17268041237113402,
        "ccn_per_loc": 0.11940298507462686,
        "functions_per_loc": 0.11940298507462686,
        "tokens_per_loc": 5.791044776119403
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.43,
        "tokens": 393,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 131.0,
        "ccn_per_token": 0.007633587786259542,
        "functions_per_token": 0.007633587786259542,
        "loc_per_token": 0.12468193384223919,
        "ccn_per_loc": 0.061224489795918366,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 8.020408163265307
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 68,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 9.71,
        "blanks_per_loc": 0.15,
        "num_funs": 7,
        "comments_per_loc": 0.34,
        "tokens": 431,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.57142857142857,
        "ccn_per_token": 0.016241299303944315,
        "functions_per_token": 0.016241299303944315,
        "loc_per_token": 0.15777262180974477,
        "ccn_per_loc": 0.10294117647058823,
        "functions_per_loc": 0.10294117647058823,
        "tokens_per_loc": 6.338235294117647
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 135,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.0,
        "ccn_per_token": 0.007407407407407408,
        "functions_per_token": 0.007407407407407408,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 188,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.11,
        "tokens": 1869,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 116.8125,
        "ccn_per_token": 0.008560727661851257,
        "functions_per_token": 0.008560727661851257,
        "loc_per_token": 0.10058855002675228,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 9.941489361702128
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 12.73,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1562,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 142.0,
        "ccn_per_token": 0.007042253521126761,
        "functions_per_token": 0.007042253521126761,
        "loc_per_token": 0.08962868117797695,
        "ccn_per_loc": 0.07857142857142857,
        "functions_per_loc": 0.07857142857142857,
        "tokens_per_loc": 11.157142857142857
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 106,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1081,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.125,
        "ccn_per_token": 0.0074005550416281225,
        "functions_per_token": 0.0074005550416281225,
        "loc_per_token": 0.09805735430157261,
        "ccn_per_loc": 0.07547169811320754,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 10.19811320754717
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 217,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 33,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.15,
        "tokens": 1486,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.875,
        "ccn_per_token": 0.010767160161507403,
        "functions_per_token": 0.010767160161507403,
        "loc_per_token": 0.14602960969044415,
        "ccn_per_loc": 0.07373271889400922,
        "functions_per_loc": 0.07373271889400922,
        "tokens_per_loc": 6.847926267281106
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 169,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 18.78,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.12,
        "tokens": 1534,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 170.44444444444446,
        "ccn_per_token": 0.005867014341590613,
        "functions_per_token": 0.005867014341590613,
        "loc_per_token": 0.11016949152542373,
        "ccn_per_loc": 0.05325443786982249,
        "functions_per_loc": 0.05325443786982249,
        "tokens_per_loc": 9.076923076923077
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 457,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 28,
        "loc_per_function": 11.72,
        "blanks_per_loc": 0.12,
        "num_funs": 39,
        "comments_per_loc": 0.06,
        "tokens": 3647,
        "ccn": 39,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.51282051282051,
        "ccn_per_token": 0.010693720866465589,
        "functions_per_token": 0.010693720866465589,
        "loc_per_token": 0.1253084727173019,
        "ccn_per_loc": 0.08533916849015317,
        "functions_per_loc": 0.08533916849015317,
        "tokens_per_loc": 7.980306345733042
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 210,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.14,
        "num_funs": 14,
        "comments_per_loc": 0.1,
        "tokens": 1762,
        "ccn": 15,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 125.85714285714286,
        "ccn_per_token": 0.00851305334846765,
        "functions_per_token": 0.007945516458569807,
        "loc_per_token": 0.1191827468785471,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 8.39047619047619
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 89,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9.89,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 586,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.11111111111111,
        "ccn_per_token": 0.015358361774744027,
        "functions_per_token": 0.015358361774744027,
        "loc_per_token": 0.15187713310580206,
        "ccn_per_loc": 0.10112359550561797,
        "functions_per_loc": 0.10112359550561797,
        "tokens_per_loc": 6.584269662921348
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 84,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 595,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.11111111111111,
        "ccn_per_token": 0.015126050420168067,
        "functions_per_token": 0.015126050420168067,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 7.81,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.12,
        "tokens": 1014,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.285714285714285,
        "ccn_per_token": 0.020710059171597635,
        "functions_per_token": 0.020710059171597635,
        "loc_per_token": 0.16173570019723865,
        "ccn_per_loc": 0.12804878048780488,
        "functions_per_loc": 0.12804878048780488,
        "tokens_per_loc": 6.182926829268292
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 177,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.85,
        "blanks_per_loc": 0.14,
        "num_funs": 20,
        "comments_per_loc": 0.11,
        "tokens": 1234,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.7,
        "ccn_per_token": 0.01620745542949757,
        "functions_per_token": 0.01620745542949757,
        "loc_per_token": 0.14343598055105347,
        "ccn_per_loc": 0.11299435028248588,
        "functions_per_loc": 0.11299435028248588,
        "tokens_per_loc": 6.971751412429379
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 448,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 56.0,
        "ccn_per_token": 0.017857142857142856,
        "functions_per_token": 0.017857142857142856,
        "loc_per_token": 0.16071428571428573,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.222222222222222
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 93,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.45,
        "blanks_per_loc": 0.19,
        "num_funs": 11,
        "comments_per_loc": 0.22,
        "tokens": 574,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 52.18181818181818,
        "ccn_per_token": 0.01916376306620209,
        "functions_per_token": 0.01916376306620209,
        "loc_per_token": 0.16202090592334495,
        "ccn_per_loc": 0.11827956989247312,
        "functions_per_loc": 0.11827956989247312,
        "tokens_per_loc": 6.172043010752688
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 118,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestVersion.java",
        "comments": 20,
        "loc_per_function": 5.9,
        "blanks_per_loc": 0.19,
        "num_funs": 20,
        "comments_per_loc": 0.17,
        "tokens": 705,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.25,
        "ccn_per_token": 0.028368794326241134,
        "functions_per_token": 0.028368794326241134,
        "loc_per_token": 0.1673758865248227,
        "ccn_per_loc": 0.1694915254237288,
        "functions_per_loc": 0.1694915254237288,
        "tokens_per_loc": 5.97457627118644
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 99,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.5,
        "ccn_per_token": 0.020202020202020204,
        "functions_per_token": 0.020202020202020204,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 745,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 93.125,
        "ccn_per_token": 0.013422818791946308,
        "functions_per_token": 0.010738255033557046,
        "loc_per_token": 0.14630872483221477,
        "ccn_per_loc": 0.09174311926605505,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 6.834862385321101
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 61,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.17,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.33,
        "tokens": 532,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 88.66666666666667,
        "ccn_per_token": 0.013157894736842105,
        "functions_per_token": 0.011278195488721804,
        "loc_per_token": 0.11466165413533834,
        "ccn_per_loc": 0.11475409836065574,
        "functions_per_loc": 0.09836065573770492,
        "tokens_per_loc": 8.721311475409836
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 183,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 13.07,
        "blanks_per_loc": 0.17,
        "num_funs": 14,
        "comments_per_loc": 0.11,
        "tokens": 1428,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011204481792717087,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.12815126050420167,
        "ccn_per_loc": 0.08743169398907104,
        "functions_per_loc": 0.07650273224043716,
        "tokens_per_loc": 7.80327868852459
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 166,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 24,
        "loc_per_function": 33.2,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1586,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 317.2,
        "ccn_per_token": 0.0037831021437578815,
        "functions_per_token": 0.0031525851197982345,
        "loc_per_token": 0.10466582597730138,
        "ccn_per_loc": 0.03614457831325301,
        "functions_per_loc": 0.030120481927710843,
        "tokens_per_loc": 9.55421686746988
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1506,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 301.2,
        "ccn_per_token": 0.0033200531208499337,
        "functions_per_token": 0.0033200531208499337,
        "loc_per_token": 0.09229747675962816,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.83453237410072
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 249,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.83,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2665,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.05555555555554,
        "ccn_per_token": 0.00675422138836773,
        "functions_per_token": 0.00675422138836773,
        "loc_per_token": 0.09343339587242026,
        "ccn_per_loc": 0.07228915662650602,
        "functions_per_loc": 0.07228915662650602,
        "tokens_per_loc": 10.70281124497992
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 21,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 619,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 77.375,
        "ccn_per_token": 0.01615508885298869,
        "functions_per_token": 0.012924071082390954,
        "loc_per_token": 0.1518578352180937,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.585106382978723
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 481,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 41,
        "loc_per_function": 12.03,
        "blanks_per_loc": 0.1,
        "num_funs": 40,
        "comments_per_loc": 0.09,
        "tokens": 3477,
        "ccn": 42,
        "ccn_per_function": 1.05,
        "tokens_per_function": 86.925,
        "ccn_per_token": 0.012079378774805867,
        "functions_per_token": 0.011504170261719874,
        "loc_per_token": 0.1383376473971815,
        "ccn_per_loc": 0.08731808731808732,
        "functions_per_loc": 0.08316008316008316,
        "tokens_per_loc": 7.228690228690229
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramTabToolBar.java",
        "comments": 28,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.37,
        "tokens": 457,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 76.16666666666667,
        "ccn_per_token": 0.0175054704595186,
        "functions_per_token": 0.01312910284463895,
        "loc_per_token": 0.16411378555798686,
        "ccn_per_loc": 0.10666666666666667,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 6.093333333333334
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 165,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/CollectionAssertions.java",
        "comments": 56,
        "loc_per_function": 12.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.34,
        "tokens": 1058,
        "ccn": 49,
        "ccn_per_function": 3.769230769230769,
        "tokens_per_function": 81.38461538461539,
        "ccn_per_token": 0.046313799621928164,
        "functions_per_token": 0.012287334593572778,
        "loc_per_token": 0.15595463137996218,
        "ccn_per_loc": 0.296969696969697,
        "functions_per_loc": 0.07878787878787878,
        "tokens_per_loc": 6.412121212121212
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/GeometryUtils.java",
        "comments": 32,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 3,
        "comments_per_loc": 0.71,
        "tokens": 190,
        "ccn": 9,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.333333333333336,
        "ccn_per_token": 0.04736842105263158,
        "functions_per_token": 0.015789473684210527,
        "loc_per_token": 0.23684210526315788,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 4.222222222222222
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 28,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 172,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 57.333333333333336,
        "ccn_per_token": 0.01744186046511628,
        "functions_per_token": 0.01744186046511628,
        "loc_per_token": 0.16279069767441862,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.142857142857143
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 555,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 37,
        "blanks_per_loc": 0.24,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7522,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 501.46666666666664,
        "ccn_per_token": 0.0026588673225206062,
        "functions_per_token": 0.0019941504918904547,
        "loc_per_token": 0.07378356819994682,
        "ccn_per_loc": 0.036036036036036036,
        "functions_per_loc": 0.02702702702702703,
        "tokens_per_loc": 13.553153153153152
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 64,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 23,
        "loc_per_function": 12.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 534,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.8,
        "ccn_per_token": 0.009363295880149813,
        "functions_per_token": 0.009363295880149813,
        "loc_per_token": 0.1198501872659176,
        "ccn_per_loc": 0.078125,
        "functions_per_loc": 0.078125,
        "tokens_per_loc": 8.34375
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 20,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.22,
        "tokens": 518,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.1776061776061776,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.630434782608695
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 22,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.29,
        "tokens": 538,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 107.6,
        "ccn_per_token": 0.011152416356877323,
        "functions_per_token": 0.00929368029739777,
        "loc_per_token": 0.13940520446096655,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.173333333333333
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 192,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 31,
        "loc_per_function": 17.45,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1887,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 171.54545454545453,
        "ccn_per_token": 0.005829358770535241,
        "functions_per_token": 0.005829358770535241,
        "loc_per_token": 0.10174880763116058,
        "ccn_per_loc": 0.057291666666666664,
        "functions_per_loc": 0.057291666666666664,
        "tokens_per_loc": 9.828125
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 614,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 102.33333333333333,
        "ccn_per_token": 0.03745928338762215,
        "functions_per_token": 0.009771986970684038,
        "loc_per_token": 0.18241042345276873,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.482142857142857
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 124,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 27,
        "loc_per_function": 13.78,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1153,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 128.11111111111111,
        "ccn_per_token": 0.007805724197745013,
        "functions_per_token": 0.007805724197745013,
        "loc_per_token": 0.10754553339115351,
        "ccn_per_loc": 0.07258064516129033,
        "functions_per_loc": 0.07258064516129033,
        "tokens_per_loc": 9.298387096774194
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 10,
        "file_path": "src/module-info.java",
        "comments": 20,
        "loc_per_function": 10,
        "blanks_per_loc": 0,
        "num_funs": 0,
        "comments_per_loc": 2,
        "tokens": 59,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 59,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1694915254237288,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.9
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/JetUML.java",
        "comments": 32,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 0.63,
        "tokens": 404,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 101.0,
        "ccn_per_token": 0.009900990099009901,
        "functions_per_token": 0.009900990099009901,
        "loc_per_token": 0.12623762376237624,
        "ccn_per_loc": 0.0784313725490196,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 7.921568627450981
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 59,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 43,
        "loc_per_function": 8.43,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.73,
        "tokens": 269,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 38.42857142857143,
        "ccn_per_token": 0.048327137546468404,
        "functions_per_token": 0.026022304832713755,
        "loc_per_token": 0.21933085501858737,
        "ccn_per_loc": 0.22033898305084745,
        "functions_per_loc": 0.11864406779661017,
        "tokens_per_loc": 4.559322033898305
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Util.java",
        "comments": 28,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 2,
        "comments_per_loc": 1.47,
        "tokens": 72,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.2638888888888889,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 3.789473684210526
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 51,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 1.31,
        "tokens": 300,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.0,
        "ccn_per_token": 0.02,
        "functions_per_token": 0.02,
        "loc_per_token": 0.13,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 7.6923076923076925
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 56,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.16,
        "num_funs": 12,
        "comments_per_loc": 0.64,
        "tokens": 385,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 32.083333333333336,
        "ccn_per_token": 0.046753246753246755,
        "functions_per_token": 0.03116883116883117,
        "loc_per_token": 0.22597402597402597,
        "ccn_per_loc": 0.20689655172413793,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.425287356321839
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 12,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectCollaborationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 1,
        "comments_per_loc": 2.17,
        "tokens": 92,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.13043478260869565,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.666666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 223,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentedEdgeViewer.java",
        "comments": 56,
        "loc_per_function": 20.27,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 2017,
        "ccn": 25,
        "ccn_per_function": 2.272727272727273,
        "tokens_per_function": 183.36363636363637,
        "ccn_per_token": 0.012394645513138325,
        "functions_per_token": 0.005453644025780862,
        "loc_per_token": 0.11056023797719385,
        "ccn_per_loc": 0.11210762331838565,
        "functions_per_loc": 0.04932735426008968,
        "tokens_per_loc": 9.044843049327355
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseDependencyEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.93,
        "tokens": 265,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.33333333333333,
        "ccn_per_token": 0.011320754716981131,
        "functions_per_token": 0.011320754716981131,
        "loc_per_token": 0.10943396226415095,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 9.137931034482758
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewerRegistry.java",
        "comments": 68,
        "loc_per_function": 9.25,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.92,
        "tokens": 728,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.012362637362637362,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.10164835164835165,
        "ccn_per_loc": 0.12162162162162163,
        "functions_per_loc": 0.10810810810810811,
        "tokens_per_loc": 9.837837837837839
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseGeneralizationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/NoteEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ReturnEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 18.33,
        "blanks_per_loc": 0.09,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 579,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 193.0,
        "ccn_per_token": 0.008635578583765112,
        "functions_per_token": 0.0051813471502590676,
        "loc_per_token": 0.09499136442141623,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.05454545454545454,
        "tokens_per_loc": 10.527272727272727
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StraightEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 456,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.010964912280701754,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.11842105263157894,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 8.444444444444445
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/LabeledStraightEdgeViewer.java",
        "comments": 30,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 423,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 105.75,
        "ccn_per_token": 0.016548463356973995,
        "functions_per_token": 0.009456264775413711,
        "loc_per_token": 0.12056737588652482,
        "ccn_per_loc": 0.13725490196078433,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 8.294117647058824
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 171,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/CallEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 19,
        "blanks_per_loc": 0.09,
        "num_funs": 9,
        "comments_per_loc": 0.15,
        "tokens": 1517,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 168.55555555555554,
        "ccn_per_token": 0.011865524060646011,
        "functions_per_token": 0.005932762030323006,
        "loc_per_token": 0.11272247857613711,
        "ccn_per_loc": 0.10526315789473684,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.871345029239766
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/GeneralizationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 165,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 82.5,
        "ccn_per_token": 0.01818181818181818,
        "functions_per_token": 0.012121212121212121,
        "loc_per_token": 0.15757575757575756,
        "ccn_per_loc": 0.11538461538461539,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.346153846153846
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AssociationEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.1,
        "num_funs": 3,
        "comments_per_loc": 0.8,
        "tokens": 243,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.1646090534979424,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.075
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 569,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyleFactory.java",
        "comments": 96,
        "loc_per_function": 17.24,
        "blanks_per_loc": 0.1,
        "num_funs": 33,
        "comments_per_loc": 0.17,
        "tokens": 3850,
        "ccn": 120,
        "ccn_per_function": 3.6363636363636362,
        "tokens_per_function": 116.66666666666667,
        "ccn_per_token": 0.03116883116883117,
        "functions_per_token": 0.008571428571428572,
        "loc_per_token": 0.14779220779220778,
        "ccn_per_loc": 0.210896309314587,
        "functions_per_loc": 0.05799648506151142,
        "tokens_per_loc": 6.766256590509666
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AbstractEdgeViewer.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.56,
        "tokens": 664,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 110.66666666666667,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.009036144578313253,
        "loc_per_token": 0.11746987951807229,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.512820512820513
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 114,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectReferenceEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 16.29,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 1045,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 149.28571428571428,
        "ccn_per_token": 0.009569377990430622,
        "functions_per_token": 0.0066985645933014355,
        "loc_per_token": 0.10909090909090909,
        "ccn_per_loc": 0.08771929824561403,
        "functions_per_loc": 0.06140350877192982,
        "tokens_per_loc": 9.166666666666666
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyle.java",
        "comments": 50,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 223,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.053811659192825115,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.21973094170403587,
        "ccn_per_loc": 0.24489795918367346,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 4.551020408163265
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 362,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StateTransitionEdgeViewer.java",
        "comments": 62,
        "loc_per_function": 17.24,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.17,
        "tokens": 2916,
        "ccn": 48,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 138.85714285714286,
        "ccn_per_token": 0.01646090534979424,
        "functions_per_token": 0.00720164609053498,
        "loc_per_token": 0.12414266117969822,
        "ccn_per_loc": 0.13259668508287292,
        "functions_per_loc": 0.058011049723756904,
        "tokens_per_loc": 8.05524861878453
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/DependencyEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.04,
        "tokens": 219,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1141552511415525,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 8.76
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseAssociationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewer.java",
        "comments": 63,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 3.94,
        "tokens": 139,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 139,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11510791366906475,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.6875
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AggregationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 2,
        "comments_per_loc": 1.07,
        "tokens": 192,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/InterfaceNodeViewer.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 1,
        "comments_per_loc": 3.33,
        "tokens": 54,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.0,
        "ccn_per_token": 0.018518518518518517,
        "functions_per_token": 0.018518518518518517,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NoteNodeViewer.java",
        "comments": 27,
        "loc_per_function": 15,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 638,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.5,
        "ccn_per_token": 0.006269592476489028,
        "functions_per_token": 0.006269592476489028,
        "loc_per_token": 0.09404388714733543,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 10.633333333333333
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 128,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ImplicitParameterNodeViewer.java",
        "comments": 39,
        "loc_per_function": 14.22,
        "blanks_per_loc": 0.1,
        "num_funs": 9,
        "comments_per_loc": 0.3,
        "tokens": 1052,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 116.88888888888889,
        "ccn_per_token": 0.017110266159695818,
        "functions_per_token": 0.008555133079847909,
        "loc_per_token": 0.12167300380228137,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.0703125,
        "tokens_per_loc": 8.21875
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageNodeViewer.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.19,
        "num_funs": 4,
        "comments_per_loc": 0.47,
        "tokens": 525,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 131.25,
        "ccn_per_token": 0.017142857142857144,
        "functions_per_token": 0.007619047619047619,
        "loc_per_token": 0.1219047619047619,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.203125
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ObjectNodeViewer.java",
        "comments": 32,
        "loc_per_function": 17.4,
        "blanks_per_loc": 0.08,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 790,
        "ccn": 11,
        "ccn_per_function": 2.2,
        "tokens_per_function": 158.0,
        "ccn_per_token": 0.013924050632911392,
        "functions_per_token": 0.006329113924050633,
        "loc_per_token": 0.11012658227848102,
        "ccn_per_loc": 0.12643678160919541,
        "functions_per_loc": 0.05747126436781609,
        "tokens_per_loc": 9.080459770114942
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 79,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractNodeViewer.java",
        "comments": 35,
        "loc_per_function": 19.75,
        "blanks_per_loc": 0.09,
        "num_funs": 4,
        "comments_per_loc": 0.44,
        "tokens": 598,
        "ccn": 10,
        "ccn_per_function": 2.5,
        "tokens_per_function": 149.5,
        "ccn_per_token": 0.016722408026755852,
        "functions_per_token": 0.006688963210702341,
        "loc_per_token": 0.13210702341137123,
        "ccn_per_loc": 0.12658227848101267,
        "functions_per_loc": 0.05063291139240506,
        "tokens_per_loc": 7.569620253164557
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageDescriptionNodeViewer.java",
        "comments": 26,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.65,
        "tokens": 415,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 138.33333333333334,
        "ccn_per_token": 0.007228915662650603,
        "functions_per_token": 0.007228915662650603,
        "loc_per_token": 0.0963855421686747,
        "ccn_per_loc": 0.075,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 10.375
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/UseCaseNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 314,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.0,
        "ccn_per_token": 0.006369426751592357,
        "functions_per_token": 0.006369426751592357,
        "loc_per_token": 0.08917197452229299,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 11.214285714285714
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 100,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/TypeNodeViewer.java",
        "comments": 34,
        "loc_per_function": 14.29,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.34,
        "tokens": 894,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 127.71428571428571,
        "ccn_per_token": 0.0145413870246085,
        "functions_per_token": 0.007829977628635347,
        "loc_per_token": 0.11185682326621924,
        "ccn_per_loc": 0.13,
        "functions_per_loc": 0.07,
        "tokens_per_loc": 8.94
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 80,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractPackageNodeViewer.java",
        "comments": 33,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.41,
        "tokens": 689,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 114.83333333333333,
        "ccn_per_token": 0.013062409288824383,
        "functions_per_token": 0.008708272859216255,
        "loc_per_token": 0.11611030478955008,
        "ccn_per_loc": 0.1125,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 8.6125
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewer.java",
        "comments": 66,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 4.12,
        "tokens": 142,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 142,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11267605633802817,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.875
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CircularStateNodeViewer.java",
        "comments": 26,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 502,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 125.5,
        "ccn_per_token": 0.017928286852589643,
        "functions_per_token": 0.00796812749003984,
        "loc_per_token": 0.11553784860557768,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.655172413793103
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/StateNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 279,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 139.5,
        "ccn_per_token": 0.007168458781362007,
        "functions_per_token": 0.007168458781362007,
        "loc_per_token": 0.1003584229390681,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 9.964285714285714
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 168,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CallNodeViewer.java",
        "comments": 37,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1150,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 127.77777777777777,
        "ccn_per_token": 0.022608695652173914,
        "functions_per_token": 0.00782608695652174,
        "loc_per_token": 0.14608695652173914,
        "ccn_per_loc": 0.15476190476190477,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 6.845238095238095
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewerRegistry.java",
        "comments": 69,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.91,
        "tokens": 764,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 95.5,
        "ccn_per_token": 0.011780104712041885,
        "functions_per_token": 0.010471204188481676,
        "loc_per_token": 0.09947643979057591,
        "ccn_per_loc": 0.11842105263157894,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 10.052631578947368
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/FieldNodeViewer.java",
        "comments": 38,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.09,
        "num_funs": 8,
        "comments_per_loc": 0.36,
        "tokens": 1009,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 126.125,
        "ccn_per_token": 0.010901883052527254,
        "functions_per_token": 0.007928642220019821,
        "loc_per_token": 0.10505450941526263,
        "ccn_per_loc": 0.10377358490566038,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 9.518867924528301
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ActorNodeViewer.java",
        "comments": 23,
        "loc_per_function": 22,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.35,
        "tokens": 729,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 243.0,
        "ccn_per_token": 0.00411522633744856,
        "functions_per_token": 0.00411522633744856,
        "loc_per_token": 0.09053497942386832,
        "ccn_per_loc": 0.045454545454545456,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 11.045454545454545
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PointNodeViewer.java",
        "comments": 24,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.83,
        "tokens": 193,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.25,
        "ccn_per_token": 0.02072538860103627,
        "functions_per_token": 0.02072538860103627,
        "loc_per_token": 0.15025906735751296,
        "ccn_per_loc": 0.13793103448275862,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 6.655172413793103
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramViewer.java",
        "comments": 32,
        "loc_per_function": 27.5,
        "blanks_per_loc": 0.07,
        "num_funs": 2,
        "comments_per_loc": 0.58,
        "tokens": 321,
        "ccn": 12,
        "ccn_per_function": 6.0,
        "tokens_per_function": 160.5,
        "ccn_per_token": 0.037383177570093455,
        "functions_per_token": 0.006230529595015576,
        "loc_per_token": 0.17133956386292834,
        "ccn_per_loc": 0.21818181818181817,
        "functions_per_loc": 0.03636363636363636,
        "tokens_per_loc": 5.836363636363636
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramViewer.java",
        "comments": 75,
        "loc_per_function": 16.71,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.64,
        "tokens": 694,
        "ccn": 26,
        "ccn_per_function": 3.7142857142857144,
        "tokens_per_function": 99.14285714285714,
        "ccn_per_token": 0.037463976945244955,
        "functions_per_token": 0.010086455331412104,
        "loc_per_token": 0.1685878962536023,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.05982905982905983,
        "tokens_per_loc": 5.931623931623932
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 50,
        "loc_per_function": 23,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 760,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.021052631578947368,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1513157894736842,
        "ccn_per_loc": 0.1391304347826087,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 6.608695652173913
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 0.94,
        "tokens": 283,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 141.5,
        "ccn_per_token": 0.007067137809187279,
        "functions_per_token": 0.007067137809187279,
        "loc_per_token": 0.11307420494699646,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.84375
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 56,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 575,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 95.83333333333333,
        "ccn_per_token": 0.017391304347826087,
        "functions_per_token": 0.010434782608695653,
        "loc_per_token": 0.13217391304347825,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.565789473684211
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewerUtilities.java",
        "comments": 46,
        "loc_per_function": 13,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.88,
        "tokens": 291,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 72.75,
        "ccn_per_token": 0.027491408934707903,
        "functions_per_token": 0.013745704467353952,
        "loc_per_token": 0.17869415807560138,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.596153846153846
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 27,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 1.93,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 741,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 247.0,
        "ccn_per_token": 0.014844804318488529,
        "functions_per_token": 0.004048582995951417,
        "loc_per_token": 0.09986504723346828,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 10.013513513513514
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 199,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 141,
        "loc_per_function": 8.65,
        "blanks_per_loc": 0.15,
        "num_funs": 23,
        "comments_per_loc": 0.71,
        "tokens": 1054,
        "ccn": 50,
        "ccn_per_function": 2.1739130434782608,
        "tokens_per_function": 45.82608695652174,
        "ccn_per_token": 0.04743833017077799,
        "functions_per_token": 0.021821631878557873,
        "loc_per_token": 0.1888045540796964,
        "ccn_per_loc": 0.25125628140703515,
        "functions_per_loc": 0.11557788944723618,
        "tokens_per_loc": 5.296482412060302
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 99,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Prototypes.java",
        "comments": 32,
        "loc_per_function": 24.75,
        "blanks_per_loc": 0.14,
        "num_funs": 4,
        "comments_per_loc": 0.32,
        "tokens": 1080,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 270.0,
        "ccn_per_token": 0.006481481481481481,
        "functions_per_token": 0.003703703703703704,
        "loc_per_token": 0.09166666666666666,
        "ccn_per_loc": 0.0707070707070707,
        "functions_per_loc": 0.04040404040404041,
        "tokens_per_loc": 10.909090909090908
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 31,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.43,
        "tokens": 39,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 39,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1794871794871795,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.571428571428571
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 62,
        "loc_per_function": 16.88,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.46,
        "tokens": 684,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 85.5,
        "ccn_per_token": 0.014619883040935672,
        "functions_per_token": 0.011695906432748537,
        "loc_per_token": 0.19736842105263158,
        "ccn_per_loc": 0.07407407407407407,
        "functions_per_loc": 0.05925925925925926,
        "tokens_per_loc": 5.066666666666666
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 334,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 124,
        "loc_per_function": 14.52,
        "blanks_per_loc": 0.09,
        "num_funs": 23,
        "comments_per_loc": 0.37,
        "tokens": 2141,
        "ccn": 95,
        "ccn_per_function": 4.130434782608695,
        "tokens_per_function": 93.08695652173913,
        "ccn_per_token": 0.044371788883699206,
        "functions_per_token": 0.010742643624474545,
        "loc_per_token": 0.15600186828584772,
        "ccn_per_loc": 0.2844311377245509,
        "functions_per_loc": 0.0688622754491018,
        "tokens_per_loc": 6.410179640718563
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 134,
        "loc_per_function": 25,
        "blanks_per_loc": 0.84,
        "num_funs": 0,
        "comments_per_loc": 5.36,
        "tokens": 163,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 163,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15337423312883436,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.52
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.78,
        "num_funs": 0,
        "comments_per_loc": 4.89,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 23,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 23,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21739130434782608,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.6
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 35,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.27,
        "num_funs": 3,
        "comments_per_loc": 1.59,
        "tokens": 105,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.0,
        "ccn_per_token": 0.02857142857142857,
        "functions_per_token": 0.02857142857142857,
        "loc_per_token": 0.20952380952380953,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.7727272727272725
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 35,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.4,
        "tokens": 108,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.027777777777777776,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.23148148148148148,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.32
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 40,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.3,
        "num_funs": 5,
        "comments_per_loc": 1.48,
        "tokens": 141,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 28.2,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03546099290780142,
        "loc_per_token": 0.19148936170212766,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 5.222222222222222
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 23,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 238,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 39.666666666666664,
        "ccn_per_token": 0.037815126050420166,
        "functions_per_token": 0.025210084033613446,
        "loc_per_token": 0.21008403361344538,
        "ccn_per_loc": 0.18,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.76
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 41,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.52,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ConstructorEdge.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 3.25,
        "tokens": 34,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.23529411764705882,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.25
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 42,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.56,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 37,
        "loc_per_function": 5,
        "blanks_per_loc": 0.3,
        "num_funs": 6,
        "comments_per_loc": 1.23,
        "tokens": 146,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.333333333333332,
        "ccn_per_token": 0.0410958904109589,
        "functions_per_token": 0.0410958904109589,
        "loc_per_token": 0.2054794520547945,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 4.866666666666666
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 1.5,
        "tokens": 106,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.22641509433962265,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.416666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 24,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.38,
        "tokens": 348,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 49.714285714285715,
        "ccn_per_token": 0.028735632183908046,
        "functions_per_token": 0.020114942528735632,
        "loc_per_token": 0.1839080459770115,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 5.4375
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 25,
        "loc_per_function": 6.1,
        "blanks_per_loc": 0.2,
        "num_funs": 20,
        "comments_per_loc": 0.2,
        "tokens": 569,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.45,
        "ccn_per_token": 0.0351493848857645,
        "functions_per_token": 0.0351493848857645,
        "loc_per_token": 0.21441124780316345,
        "ccn_per_loc": 0.16393442622950818,
        "functions_per_loc": 0.16393442622950818,
        "tokens_per_loc": 4.663934426229508
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 20,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 20,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.666666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageDescriptionNode.java",
        "comments": 32,
        "loc_per_function": 6.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 1.28,
        "tokens": 112,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.0,
        "ccn_per_token": 0.03571428571428571,
        "functions_per_token": 0.03571428571428571,
        "loc_per_token": 0.22321428571428573,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.16,
        "tokens_per_loc": 4.48
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 29,
        "loc_per_function": 9.17,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.53,
        "tokens": 278,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.02877697841726619,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.19784172661870503,
        "ccn_per_loc": 0.14545454545454545,
        "functions_per_loc": 0.10909090909090909,
        "tokens_per_loc": 5.054545454545455
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 42,
        "loc_per_function": 6.22,
        "blanks_per_loc": 0.25,
        "num_funs": 9,
        "comments_per_loc": 0.75,
        "tokens": 250,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.77777777777778,
        "ccn_per_token": 0.036,
        "functions_per_token": 0.036,
        "loc_per_token": 0.224,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.16071428571428573,
        "tokens_per_loc": 4.464285714285714
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.26,
        "num_funs": 9,
        "comments_per_loc": 0.63,
        "tokens": 235,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.11111111111111,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03829787234042553,
        "loc_per_token": 0.2297872340425532,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.351851851851852
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractPackageNode.java",
        "comments": 32,
        "loc_per_function": 6.43,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.71,
        "tokens": 208,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 29.714285714285715,
        "ccn_per_token": 0.038461538461538464,
        "functions_per_token": 0.03365384615384615,
        "loc_per_token": 0.21634615384615385,
        "ccn_per_loc": 0.17777777777777778,
        "functions_per_loc": 0.15555555555555556,
        "tokens_per_loc": 4.622222222222222
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 1,
        "comments_per_loc": 2.89,
        "tokens": 40,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.025,
        "functions_per_token": 0.025,
        "loc_per_token": 0.225,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.444444444444445
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/TypeNode.java",
        "comments": 38,
        "loc_per_function": 6.11,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.69,
        "tokens": 236,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.22222222222222,
        "ccn_per_token": 0.0423728813559322,
        "functions_per_token": 0.038135593220338986,
        "loc_per_token": 0.2330508474576271,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.16363636363636364,
        "tokens_per_loc": 4.290909090909091
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 8.71,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 327,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 46.714285714285715,
        "ccn_per_token": 0.027522935779816515,
        "functions_per_token": 0.021406727828746176,
        "loc_per_token": 0.18654434250764526,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.11475409836065574,
        "tokens_per_loc": 5.360655737704918
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 219,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0091324200913242,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1187214611872146,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.423076923076923
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 119,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 17,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.29,
        "tokens": 719,
        "ccn": 21,
        "ccn_per_function": 3.0,
        "tokens_per_function": 102.71428571428571,
        "ccn_per_token": 0.02920723226703755,
        "functions_per_token": 0.009735744089012517,
        "loc_per_token": 0.16550764951321278,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.042016806722689
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 354,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 149,
        "loc_per_function": 19.67,
        "blanks_per_loc": 0.09,
        "num_funs": 18,
        "comments_per_loc": 0.42,
        "tokens": 2549,
        "ccn": 63,
        "ccn_per_function": 3.5,
        "tokens_per_function": 141.61111111111111,
        "ccn_per_token": 0.02471557473519027,
        "functions_per_token": 0.007061592781482934,
        "loc_per_token": 0.13887799136916437,
        "ccn_per_loc": 0.17796610169491525,
        "functions_per_loc": 0.05084745762711865,
        "tokens_per_loc": 7.200564971751413
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 259,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 104,
        "loc_per_function": 17.27,
        "blanks_per_loc": 0.08,
        "num_funs": 15,
        "comments_per_loc": 0.4,
        "tokens": 1546,
        "ccn": 49,
        "ccn_per_function": 3.2666666666666666,
        "tokens_per_function": 103.06666666666666,
        "ccn_per_token": 0.03169469598965071,
        "functions_per_token": 0.009702457956015523,
        "loc_per_token": 0.16752910737386806,
        "ccn_per_loc": 0.1891891891891892,
        "functions_per_loc": 0.05791505791505792,
        "tokens_per_loc": 5.969111969111969
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 61,
        "loc_per_function": 8.11,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.84,
        "tokens": 356,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 39.55555555555556,
        "ccn_per_token": 0.033707865168539325,
        "functions_per_token": 0.025280898876404494,
        "loc_per_token": 0.2050561797752809,
        "ccn_per_loc": 0.1643835616438356,
        "functions_per_loc": 0.1232876712328767,
        "tokens_per_loc": 4.876712328767123
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 34,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.55,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 198,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 42,
        "loc_per_function": 22,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.21,
        "tokens": 1354,
        "ccn": 32,
        "ccn_per_function": 3.5555555555555554,
        "tokens_per_function": 150.44444444444446,
        "ccn_per_token": 0.023633677991137372,
        "functions_per_token": 0.0066469719350073855,
        "loc_per_token": 0.14623338257016247,
        "ccn_per_loc": 0.16161616161616163,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 6.838383838383838
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 195,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 97.5,
        "ccn_per_token": 0.010256410256410256,
        "functions_per_token": 0.010256410256410256,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.25,
        "tokens": 170,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 56.666666666666664,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.01764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 38,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.69,
        "tokens": 448,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.033482142857142856,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.12276785714285714,
        "ccn_per_loc": 0.2727272727272727,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.145454545454545
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 8.83,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 414,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.043478260869565216,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.1280193236714976,
        "ccn_per_loc": 0.33962264150943394,
        "functions_per_loc": 0.11320754716981132,
        "tokens_per_loc": 7.811320754716981
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 231,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11688311688311688,
        "ccn_per_loc": 0.25925925925925924,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 8.555555555555555
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 43,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.48,
        "tokens": 145,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 48.333333333333336,
        "ccn_per_token": 0.034482758620689655,
        "functions_per_token": 0.020689655172413793,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ClassDiagramEdgeConstraints.java",
        "comments": 36,
        "loc_per_function": 13,
        "blanks_per_loc": 0.11,
        "num_funs": 5,
        "comments_per_loc": 0.55,
        "tokens": 448,
        "ccn": 21,
        "ccn_per_function": 4.2,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.046875,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.14508928571428573,
        "ccn_per_loc": 0.3230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.892307692307693
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/Constraint.java",
        "comments": 27,
        "loc_per_function": 5,
        "blanks_per_loc": 0.4,
        "num_funs": 0,
        "comments_per_loc": 5.4,
        "tokens": 25,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 25,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.75,
        "tokens": 385,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 192.5,
        "ccn_per_token": 0.02077922077922078,
        "functions_per_token": 0.005194805194805195,
        "loc_per_token": 0.13246753246753246,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.0392156862745098,
        "tokens_per_loc": 7.549019607843137
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.98,
        "tokens": 279,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.021505376344086023,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 177,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 86,
        "loc_per_function": 11.8,
        "blanks_per_loc": 0.11,
        "num_funs": 15,
        "comments_per_loc": 0.49,
        "tokens": 987,
        "ccn": 40,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 65.8,
        "ccn_per_token": 0.040526849037487336,
        "functions_per_token": 0.015197568389057751,
        "loc_per_token": 0.17933130699088146,
        "ccn_per_loc": 0.22598870056497175,
        "functions_per_loc": 0.0847457627118644,
        "tokens_per_loc": 5.576271186440678
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 43,
        "loc_per_function": 11.2,
        "blanks_per_loc": 0.23,
        "num_funs": 5,
        "comments_per_loc": 0.77,
        "tokens": 419,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 83.8,
        "ccn_per_token": 0.016706443914081145,
        "functions_per_token": 0.011933174224343675,
        "loc_per_token": 0.13365155131264916,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.08928571428571429,
        "tokens_per_loc": 7.482142857142857
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.24,
        "num_funs": 12,
        "comments_per_loc": 0.79,
        "tokens": 519,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 43.25,
        "ccn_per_token": 0.02697495183044316,
        "functions_per_token": 0.023121387283236993,
        "loc_per_token": 0.1676300578034682,
        "ccn_per_loc": 0.16091954022988506,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 5.9655172413793105
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 107,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Version.java",
        "comments": 54,
        "loc_per_function": 11.89,
        "blanks_per_loc": 0.11,
        "num_funs": 9,
        "comments_per_loc": 0.5,
        "tokens": 583,
        "ccn": 22,
        "ccn_per_function": 2.4444444444444446,
        "tokens_per_function": 64.77777777777777,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.015437392795883362,
        "loc_per_token": 0.1835334476843911,
        "ccn_per_loc": 0.205607476635514,
        "functions_per_loc": 0.08411214953271028,
        "tokens_per_loc": 5.4485981308411215
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 102,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 81,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1552511415525114,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 6.4411764705882355
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 589,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.8,
        "ccn_per_token": 0.011884550084889643,
        "functions_per_token": 0.008488964346349746,
        "loc_per_token": 0.12224108658743633,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.180555555555555
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 49,
        "loc_per_function": 10.9,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.45,
        "tokens": 743,
        "ccn": 14,
        "ccn_per_function": 1.4,
        "tokens_per_function": 74.3,
        "ccn_per_token": 0.018842530282637954,
        "functions_per_token": 0.013458950201884253,
        "loc_per_token": 0.14670255720053835,
        "ccn_per_loc": 0.12844036697247707,
        "functions_per_loc": 0.09174311926605505,
        "tokens_per_loc": 6.81651376146789
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 624,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 156.0,
        "ccn_per_token": 0.008012820512820512,
        "functions_per_token": 0.00641025641025641,
        "loc_per_token": 0.1233974358974359,
        "ccn_per_loc": 0.06493506493506493,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 8.103896103896103
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.85,
        "tokens": 398,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 99.5,
        "ccn_per_token": 0.020100502512562814,
        "functions_per_token": 0.010050251256281407,
        "loc_per_token": 0.1306532663316583,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.653846153846154
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 559,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 99,
        "loc_per_function": 16.44,
        "blanks_per_loc": 0.12,
        "num_funs": 34,
        "comments_per_loc": 0.18,
        "tokens": 4125,
        "ccn": 78,
        "ccn_per_function": 2.2941176470588234,
        "tokens_per_function": 121.32352941176471,
        "ccn_per_token": 0.01890909090909091,
        "functions_per_token": 0.008242424242424242,
        "loc_per_token": 0.1355151515151515,
        "ccn_per_loc": 0.13953488372093023,
        "functions_per_loc": 0.06082289803220036,
        "tokens_per_loc": 7.379248658318426
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 447,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 94,
        "loc_per_function": 13.97,
        "blanks_per_loc": 0.1,
        "num_funs": 32,
        "comments_per_loc": 0.21,
        "tokens": 2851,
        "ccn": 89,
        "ccn_per_function": 2.78125,
        "tokens_per_function": 89.09375,
        "ccn_per_token": 0.031217116801122415,
        "functions_per_token": 0.011224131883549631,
        "loc_per_token": 0.15678709224833393,
        "ccn_per_loc": 0.19910514541387025,
        "functions_per_loc": 0.07158836689038031,
        "tokens_per_loc": 6.378076062639821
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 193,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 71,
        "loc_per_function": 12.06,
        "blanks_per_loc": 0.1,
        "num_funs": 16,
        "comments_per_loc": 0.37,
        "tokens": 1426,
        "ccn": 26,
        "ccn_per_function": 1.625,
        "tokens_per_function": 89.125,
        "ccn_per_token": 0.0182328190743338,
        "functions_per_token": 0.011220196353436185,
        "loc_per_token": 0.135343618513324,
        "ccn_per_loc": 0.13471502590673576,
        "functions_per_loc": 0.08290155440414508,
        "tokens_per_loc": 7.38860103626943
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/KeyEventHandler.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1232,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.2,
        "ccn_per_token": 0.025162337662337664,
        "functions_per_token": 0.008116883116883116,
        "loc_per_token": 0.15746753246753248,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.350515463917525
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 224,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 135,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.14,
        "num_funs": 26,
        "comments_per_loc": 0.6,
        "tokens": 1164,
        "ccn": 42,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 44.76923076923077,
        "ccn_per_token": 0.03608247422680412,
        "functions_per_token": 0.022336769759450172,
        "loc_per_token": 0.19243986254295534,
        "ccn_per_loc": 0.1875,
        "functions_per_loc": 0.11607142857142858,
        "tokens_per_loc": 5.196428571428571
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.76,
        "tokens": 578,
        "ccn": 29,
        "ccn_per_function": 1.8125,
        "tokens_per_function": 36.125,
        "ccn_per_token": 0.050173010380622836,
        "functions_per_token": 0.02768166089965398,
        "loc_per_token": 0.20069204152249134,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.982758620689655
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 178,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 94,
        "loc_per_function": 8.09,
        "blanks_per_loc": 0.19,
        "num_funs": 22,
        "comments_per_loc": 0.53,
        "tokens": 1047,
        "ccn": 29,
        "ccn_per_function": 1.3181818181818181,
        "tokens_per_function": 47.59090909090909,
        "ccn_per_token": 0.027698185291308502,
        "functions_per_token": 0.021012416427889206,
        "loc_per_token": 0.17000955109837632,
        "ccn_per_loc": 0.16292134831460675,
        "functions_per_loc": 0.12359550561797752,
        "tokens_per_loc": 5.882022471910112
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 40,
        "loc_per_function": 13,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.13978494623655913,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.153846153846154
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.13,
        "tokens": 259,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 86.33333333333333,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.011583011583011582,
        "loc_per_token": 0.15057915057915058,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.641025641025641
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.37,
        "tokens": 606,
        "ccn": 15,
        "ccn_per_function": 2.142857142857143,
        "tokens_per_function": 86.57142857142857,
        "ccn_per_token": 0.024752475247524754,
        "functions_per_token": 0.01155115511551155,
        "loc_per_token": 0.13861386138613863,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.214285714285714
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 4,
        "comments_per_loc": 1.05,
        "tokens": 194,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.041237113402061855,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.20103092783505155,
        "ccn_per_loc": 0.20512820512820512,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 4.9743589743589745
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 17.67,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 721,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 120.16666666666667,
        "ccn_per_token": 0.024965325936199722,
        "functions_per_token": 0.008321775312066574,
        "loc_per_token": 0.14701803051317613,
        "ccn_per_loc": 0.16981132075471697,
        "functions_per_loc": 0.05660377358490566,
        "tokens_per_loc": 6.80188679245283
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 31,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.75,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.32,
        "tokens": 171,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 42.75,
        "ccn_per_token": 0.023391812865497075,
        "functions_per_token": 0.023391812865497075,
        "loc_per_token": 0.18128654970760233,
        "ccn_per_loc": 0.12903225806451613,
        "functions_per_loc": 0.12903225806451613,
        "tokens_per_loc": 5.516129032258065
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 47,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 1.38,
        "tokens": 148,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.0472972972972973,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.22972972972972974,
        "ccn_per_loc": 0.20588235294117646,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.352941176470588
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 174,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionMigrator.java",
        "comments": 57,
        "loc_per_function": 17.4,
        "blanks_per_loc": 0.1,
        "num_funs": 10,
        "comments_per_loc": 0.33,
        "tokens": 1198,
        "ccn": 34,
        "ccn_per_function": 3.4,
        "tokens_per_function": 119.8,
        "ccn_per_token": 0.028380634390651086,
        "functions_per_token": 0.008347245409015025,
        "loc_per_token": 0.14524207011686144,
        "ccn_per_loc": 0.19540229885057472,
        "functions_per_loc": 0.05747126436781609,
        "tokens_per_loc": 6.885057471264368
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionedDiagram.java",
        "comments": 37,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 113,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.25,
        "ccn_per_token": 0.035398230088495575,
        "functions_per_token": 0.035398230088495575,
        "loc_per_token": 0.23893805309734514,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.185185185185185
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 213,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 134,
        "loc_per_function": 14.2,
        "blanks_per_loc": 0.15,
        "num_funs": 15,
        "comments_per_loc": 0.63,
        "tokens": 1150,
        "ccn": 65,
        "ccn_per_function": 4.333333333333333,
        "tokens_per_function": 76.66666666666667,
        "ccn_per_token": 0.05652173913043478,
        "functions_per_token": 0.013043478260869565,
        "loc_per_token": 0.18521739130434783,
        "ccn_per_loc": 0.3051643192488263,
        "functions_per_loc": 0.07042253521126761,
        "tokens_per_loc": 5.39906103286385
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 17,
        "file_path": "src/org/json/JSONException.java",
        "comments": 19,
        "loc_per_function": 5.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 67,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 22.333333333333332,
        "ccn_per_token": 0.04477611940298507,
        "functions_per_token": 0.04477611940298507,
        "loc_per_token": 0.2537313432835821,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.17647058823529413,
        "tokens_per_loc": 3.9411764705882355
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 534,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 450,
        "loc_per_function": 14.83,
        "blanks_per_loc": 0.12,
        "num_funs": 36,
        "comments_per_loc": 0.84,
        "tokens": 3518,
        "ccn": 195,
        "ccn_per_function": 5.416666666666667,
        "tokens_per_function": 97.72222222222223,
        "ccn_per_token": 0.05542922114837976,
        "functions_per_token": 0.01023308698123934,
        "loc_per_token": 0.15179079022171688,
        "ccn_per_loc": 0.3651685393258427,
        "functions_per_loc": 0.06741573033707865,
        "tokens_per_loc": 6.588014981273409
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 179,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 11.93,
        "blanks_per_loc": 0.17,
        "num_funs": 15,
        "comments_per_loc": 1.11,
        "tokens": 1134,
        "ccn": 59,
        "ccn_per_function": 3.933333333333333,
        "tokens_per_function": 75.6,
        "ccn_per_token": 0.05202821869488536,
        "functions_per_token": 0.013227513227513227,
        "loc_per_token": 0.15784832451499117,
        "ccn_per_loc": 0.329608938547486,
        "functions_per_loc": 0.08379888268156424,
        "tokens_per_loc": 6.335195530726257
    },
    {
        "date": "2020-07-27 Rel 3.0.0",
        "loc": 204,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 228,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 1.12,
        "tokens": 1246,
        "ccn": 53,
        "ccn_per_function": 3.1176470588235294,
        "tokens_per_function": 73.29411764705883,
        "ccn_per_token": 0.04253611556982344,
        "functions_per_token": 0.013643659711075442,
        "loc_per_token": 0.1637239165329053,
        "ccn_per_loc": 0.25980392156862747,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.107843137254902
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 9,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 24,
        "loc_per_function": 4.5,
        "blanks_per_loc": 0.44,
        "num_funs": 2,
        "comments_per_loc": 2.67,
        "tokens": 53,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.16981132075471697,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.2222222222222222,
        "tokens_per_loc": 5.888888888888889
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestDimension.java",
        "comments": 21,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.45,
        "tokens": 387,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.4,
        "ccn_per_token": 0.012919896640826873,
        "functions_per_token": 0.012919896640826873,
        "loc_per_token": 0.12144702842377261,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 8.23404255319149
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 365,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 73.0,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0136986301369863,
        "loc_per_token": 0.13424657534246576,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.448979591836735
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 466,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.2,
        "ccn_per_token": 0.01072961373390558,
        "functions_per_token": 0.01072961373390558,
        "loc_per_token": 0.11802575107296137,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.472727272727273
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestUtil.java",
        "comments": 20,
        "loc_per_function": 6,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 238,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 737,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.88888888888889,
        "ccn_per_token": 0.012211668928086838,
        "functions_per_token": 0.012211668928086838,
        "loc_per_token": 0.11533242876526459,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.670588235294117
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 484,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 21.04,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.09,
        "tokens": 4860,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 211.30434782608697,
        "ccn_per_token": 0.004732510288065843,
        "functions_per_token": 0.004732510288065843,
        "loc_per_token": 0.09958847736625515,
        "ccn_per_loc": 0.047520661157024795,
        "functions_per_loc": 0.047520661157024795,
        "tokens_per_loc": 10.041322314049587
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestDependencyEdgeViewer.java",
        "comments": 20,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 289,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 96.33333333333333,
        "ccn_per_token": 0.010380622837370242,
        "functions_per_token": 0.010380622837370242,
        "loc_per_token": 0.14186851211072665,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 7.048780487804878
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestNoteEdgeViewer.java",
        "comments": 25,
        "loc_per_function": 18,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.35,
        "tokens": 631,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.75,
        "ccn_per_token": 0.006339144215530904,
        "functions_per_token": 0.006339144215530904,
        "loc_per_token": 0.11410459587955626,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 8.76388888888889
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 120,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestFieldNodeViewer.java",
        "comments": 35,
        "loc_per_function": 9.23,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.29,
        "tokens": 977,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 75.15384615384616,
        "ccn_per_token": 0.01330603889457523,
        "functions_per_token": 0.01330603889457523,
        "loc_per_token": 0.12282497441146366,
        "ccn_per_loc": 0.10833333333333334,
        "functions_per_loc": 0.10833333333333334,
        "tokens_per_loc": 8.141666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 33,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCircularNodeViewer.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 0.61,
        "tokens": 241,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.33333333333333,
        "ccn_per_token": 0.012448132780082987,
        "functions_per_token": 0.012448132780082987,
        "loc_per_token": 0.13692946058091288,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.303030303030303
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestTypeNodeViewer.java",
        "comments": 26,
        "loc_per_function": 8.4,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 0.21,
        "tokens": 831,
        "ccn": 16,
        "ccn_per_function": 1.0666666666666667,
        "tokens_per_function": 55.4,
        "ccn_per_token": 0.019253910950661854,
        "functions_per_token": 0.018050541516245487,
        "loc_per_token": 0.15162454873646208,
        "ccn_per_loc": 0.12698412698412698,
        "functions_per_loc": 0.11904761904761904,
        "tokens_per_loc": 6.595238095238095
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestUseCaseNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 117,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestObjectNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.17,
        "tokens": 863,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.91666666666667,
        "ccn_per_token": 0.013904982618771726,
        "functions_per_token": 0.013904982618771726,
        "loc_per_token": 0.13557358053302435,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.3760683760683765
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 77,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCallNodeViewer.java",
        "comments": 20,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.26,
        "tokens": 591,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 147.75,
        "ccn_per_token": 0.00676818950930626,
        "functions_per_token": 0.00676818950930626,
        "loc_per_token": 0.13028764805414553,
        "ccn_per_loc": 0.05194805194805195,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 7.675324675324675
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestPackageNodeViewer.java",
        "comments": 20,
        "loc_per_function": 8.54,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.18,
        "tokens": 682,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 52.46153846153846,
        "ccn_per_token": 0.021994134897360705,
        "functions_per_token": 0.01906158357771261,
        "loc_per_token": 0.1627565982404692,
        "ccn_per_loc": 0.13513513513513514,
        "functions_per_loc": 0.11711711711711711,
        "tokens_per_loc": 6.1441441441441444
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 113,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestImplicitParameterNodeViewer.java",
        "comments": 27,
        "loc_per_function": 16.14,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 874,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 124.85714285714286,
        "ccn_per_token": 0.008009153318077803,
        "functions_per_token": 0.008009153318077803,
        "loc_per_token": 0.12929061784897025,
        "ccn_per_loc": 0.061946902654867256,
        "functions_per_loc": 0.061946902654867256,
        "tokens_per_loc": 7.734513274336283
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestActorNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 360,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.0,
        "ccn_per_token": 0.013888888888888888,
        "functions_per_token": 0.013888888888888888,
        "loc_per_token": 0.13055555555555556,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 7.659574468085107
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestStateNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestGrid.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.24,
        "tokens": 1233,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 246.6,
        "ccn_per_token": 0.0040551500405515,
        "functions_per_token": 0.0040551500405515,
        "loc_per_token": 0.0689375506893755,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 14.505882352941176
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 134,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 24,
        "loc_per_function": 7.44,
        "blanks_per_loc": 0.16,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 793,
        "ccn": 23,
        "ccn_per_function": 1.2777777777777777,
        "tokens_per_function": 44.05555555555556,
        "ccn_per_token": 0.029003783102143757,
        "functions_per_token": 0.02269861286254729,
        "loc_per_token": 0.16897856242118536,
        "ccn_per_loc": 0.17164179104477612,
        "functions_per_loc": 0.13432835820895522,
        "tokens_per_loc": 5.917910447761194
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2699,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.6875,
        "ccn_per_token": 0.005928121526491293,
        "functions_per_token": 0.005928121526491293,
        "loc_per_token": 0.10633567988143756,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.404181184668989
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 244,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 24,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.11,
        "num_funs": 18,
        "comments_per_loc": 0.1,
        "tokens": 1859,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.27777777777777,
        "ccn_per_token": 0.009682625067240451,
        "functions_per_token": 0.009682625067240451,
        "loc_per_token": 0.1312533620225928,
        "ccn_per_loc": 0.07377049180327869,
        "functions_per_loc": 0.07377049180327869,
        "tokens_per_loc": 7.618852459016393
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 100,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagram.java",
        "comments": 22,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 737,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.125,
        "ccn_per_token": 0.010854816824966078,
        "functions_per_token": 0.010854816824966078,
        "loc_per_token": 0.13568521031207598,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 7.37
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3510,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 219.375,
        "ccn_per_token": 0.004558404558404558,
        "functions_per_token": 0.004558404558404558,
        "loc_per_token": 0.09316239316239316,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.73394495412844
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 186,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 21,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.11,
        "tokens": 1809,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 100.5,
        "ccn_per_token": 0.010503040353786623,
        "functions_per_token": 0.009950248756218905,
        "loc_per_token": 0.10281923714759536,
        "ccn_per_loc": 0.10215053763440861,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 9.725806451612904
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 396,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 33,
        "loc_per_function": 9.43,
        "blanks_per_loc": 0.14,
        "num_funs": 42,
        "comments_per_loc": 0.08,
        "tokens": 2598,
        "ccn": 42,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.857142857142854,
        "ccn_per_token": 0.016166281755196306,
        "functions_per_token": 0.016166281755196306,
        "loc_per_token": 0.15242494226327943,
        "ccn_per_loc": 0.10606060606060606,
        "functions_per_loc": 0.10606060606060606,
        "tokens_per_loc": 6.5606060606060606
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.21,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 159,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.0,
        "ccn_per_token": 0.006289308176100629,
        "functions_per_token": 0.006289308176100629,
        "loc_per_token": 0.11949685534591195,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.368421052631579
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 469,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.75,
        "blanks_per_loc": 0.19,
        "num_funs": 28,
        "comments_per_loc": 0.06,
        "tokens": 4287,
        "ccn": 30,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 153.10714285714286,
        "ccn_per_token": 0.006997900629811057,
        "functions_per_token": 0.006531373921156987,
        "loc_per_token": 0.10940051317937952,
        "ccn_per_loc": 0.06396588486140725,
        "functions_per_loc": 0.05970149253731343,
        "tokens_per_loc": 9.140724946695096
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 313,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.08,
        "blanks_per_loc": 0.2,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3086,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 237.3846153846154,
        "ccn_per_token": 0.004212572909915748,
        "functions_per_token": 0.004212572909915748,
        "loc_per_token": 0.10142579390797149,
        "ccn_per_loc": 0.04153354632587859,
        "functions_per_loc": 0.04153354632587859,
        "tokens_per_loc": 9.859424920127795
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 333,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 19.59,
        "blanks_per_loc": 0.23,
        "num_funs": 17,
        "comments_per_loc": 0.08,
        "tokens": 2881,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 169.47058823529412,
        "ccn_per_token": 0.005900728913571677,
        "functions_per_token": 0.005900728913571677,
        "loc_per_token": 0.1155848663658452,
        "ccn_per_loc": 0.05105105105105105,
        "functions_per_loc": 0.05105105105105105,
        "tokens_per_loc": 8.651651651651651
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 115,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramDuplicate.java",
        "comments": 23,
        "loc_per_function": 16.43,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.2,
        "tokens": 1064,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.006578947368421052,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1080827067669173,
        "ccn_per_loc": 0.06086956521739131,
        "functions_per_loc": 0.06086956521739131,
        "tokens_per_loc": 9.252173913043478
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 458,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.6,
        "ccn_per_token": 0.010917030567685589,
        "functions_per_token": 0.010917030567685589,
        "loc_per_token": 0.10262008733624454,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 9.74468085106383
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 24,
        "loc_per_function": 14,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.57,
        "tokens": 310,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.33333333333333,
        "ccn_per_token": 0.00967741935483871,
        "functions_per_token": 0.00967741935483871,
        "loc_per_token": 0.13548387096774195,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 7.380952380952381
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 0.65,
        "tokens": 292,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.0,
        "ccn_per_token": 0.00684931506849315,
        "functions_per_token": 0.00684931506849315,
        "loc_per_token": 0.10616438356164383,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 9.419354838709678
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 1.18,
        "tokens": 167,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 167.0,
        "ccn_per_token": 0.005988023952095809,
        "functions_per_token": 0.005988023952095809,
        "loc_per_token": 0.10179640718562874,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 9.823529411764707
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 46,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestEdgeProperties.java",
        "comments": 23,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.5,
        "tokens": 506,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.66666666666666,
        "ccn_per_token": 0.005928853754940711,
        "functions_per_token": 0.005928853754940711,
        "loc_per_token": 0.09090909090909091,
        "ccn_per_loc": 0.06521739130434782,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 11.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 29,
        "loc_per_function": 7.93,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.26,
        "tokens": 759,
        "ccn": 14,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.214285714285715,
        "ccn_per_token": 0.01844532279314888,
        "functions_per_token": 0.01844532279314888,
        "loc_per_token": 0.14624505928853754,
        "ccn_per_loc": 0.12612612612612611,
        "functions_per_loc": 0.12612612612612611,
        "tokens_per_loc": 6.837837837837838
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 20,
        "loc_per_function": 10.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 250,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.5,
        "ccn_per_token": 0.016,
        "functions_per_token": 0.016,
        "loc_per_token": 0.164,
        "ccn_per_loc": 0.0975609756097561,
        "functions_per_loc": 0.0975609756097561,
        "tokens_per_loc": 6.097560975609756
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 129,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 16.12,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1259,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.375,
        "ccn_per_token": 0.006354249404289118,
        "functions_per_token": 0.006354249404289118,
        "loc_per_token": 0.10246227164416204,
        "ccn_per_loc": 0.06201550387596899,
        "functions_per_loc": 0.06201550387596899,
        "tokens_per_loc": 9.75968992248062
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 107,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 21.4,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.2,
        "tokens": 971,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 194.2,
        "ccn_per_token": 0.005149330587023687,
        "functions_per_token": 0.005149330587023687,
        "loc_per_token": 0.1101956745623069,
        "ccn_per_loc": 0.04672897196261682,
        "functions_per_loc": 0.04672897196261682,
        "tokens_per_loc": 9.074766355140186
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 9.11,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 558,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.0,
        "ccn_per_token": 0.016129032258064516,
        "functions_per_token": 0.016129032258064516,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.10975609756097561,
        "functions_per_loc": 0.10975609756097561,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 67,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageDescriptionNode.java",
        "comments": 20,
        "loc_per_function": 8.38,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.3,
        "tokens": 388,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.020618556701030927,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.17268041237113402,
        "ccn_per_loc": 0.11940298507462686,
        "functions_per_loc": 0.11940298507462686,
        "tokens_per_loc": 5.791044776119403
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.43,
        "tokens": 393,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 131.0,
        "ccn_per_token": 0.007633587786259542,
        "functions_per_token": 0.007633587786259542,
        "loc_per_token": 0.12468193384223919,
        "ccn_per_loc": 0.061224489795918366,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 8.020408163265307
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 68,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 9.71,
        "blanks_per_loc": 0.15,
        "num_funs": 7,
        "comments_per_loc": 0.34,
        "tokens": 431,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.57142857142857,
        "ccn_per_token": 0.016241299303944315,
        "functions_per_token": 0.016241299303944315,
        "loc_per_token": 0.15777262180974477,
        "ccn_per_loc": 0.10294117647058823,
        "functions_per_loc": 0.10294117647058823,
        "tokens_per_loc": 6.338235294117647
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 135,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.0,
        "ccn_per_token": 0.007407407407407408,
        "functions_per_token": 0.007407407407407408,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 188,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.11,
        "tokens": 1869,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 116.8125,
        "ccn_per_token": 0.008560727661851257,
        "functions_per_token": 0.008560727661851257,
        "loc_per_token": 0.10058855002675228,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 9.941489361702128
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 12.73,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1562,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 142.0,
        "ccn_per_token": 0.007042253521126761,
        "functions_per_token": 0.007042253521126761,
        "loc_per_token": 0.08962868117797695,
        "ccn_per_loc": 0.07857142857142857,
        "functions_per_loc": 0.07857142857142857,
        "tokens_per_loc": 11.157142857142857
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 106,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1081,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.125,
        "ccn_per_token": 0.0074005550416281225,
        "functions_per_token": 0.0074005550416281225,
        "loc_per_token": 0.09805735430157261,
        "ccn_per_loc": 0.07547169811320754,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 10.19811320754717
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 217,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 33,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.15,
        "tokens": 1486,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.875,
        "ccn_per_token": 0.010767160161507403,
        "functions_per_token": 0.010767160161507403,
        "loc_per_token": 0.14602960969044415,
        "ccn_per_loc": 0.07373271889400922,
        "functions_per_loc": 0.07373271889400922,
        "tokens_per_loc": 6.847926267281106
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 169,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 18.78,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.12,
        "tokens": 1534,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 170.44444444444446,
        "ccn_per_token": 0.005867014341590613,
        "functions_per_token": 0.005867014341590613,
        "loc_per_token": 0.11016949152542373,
        "ccn_per_loc": 0.05325443786982249,
        "functions_per_loc": 0.05325443786982249,
        "tokens_per_loc": 9.076923076923077
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 457,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 28,
        "loc_per_function": 11.72,
        "blanks_per_loc": 0.12,
        "num_funs": 39,
        "comments_per_loc": 0.06,
        "tokens": 3647,
        "ccn": 39,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.51282051282051,
        "ccn_per_token": 0.010693720866465589,
        "functions_per_token": 0.010693720866465589,
        "loc_per_token": 0.1253084727173019,
        "ccn_per_loc": 0.08533916849015317,
        "functions_per_loc": 0.08533916849015317,
        "tokens_per_loc": 7.980306345733042
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 210,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.14,
        "num_funs": 14,
        "comments_per_loc": 0.1,
        "tokens": 1762,
        "ccn": 15,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 125.85714285714286,
        "ccn_per_token": 0.00851305334846765,
        "functions_per_token": 0.007945516458569807,
        "loc_per_token": 0.1191827468785471,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 8.39047619047619
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 89,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9.89,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 586,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.11111111111111,
        "ccn_per_token": 0.015358361774744027,
        "functions_per_token": 0.015358361774744027,
        "loc_per_token": 0.15187713310580206,
        "ccn_per_loc": 0.10112359550561797,
        "functions_per_loc": 0.10112359550561797,
        "tokens_per_loc": 6.584269662921348
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 84,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 595,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.11111111111111,
        "ccn_per_token": 0.015126050420168067,
        "functions_per_token": 0.015126050420168067,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 7.81,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.12,
        "tokens": 1014,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.285714285714285,
        "ccn_per_token": 0.020710059171597635,
        "functions_per_token": 0.020710059171597635,
        "loc_per_token": 0.16173570019723865,
        "ccn_per_loc": 0.12804878048780488,
        "functions_per_loc": 0.12804878048780488,
        "tokens_per_loc": 6.182926829268292
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 177,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.85,
        "blanks_per_loc": 0.14,
        "num_funs": 20,
        "comments_per_loc": 0.11,
        "tokens": 1234,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.7,
        "ccn_per_token": 0.01620745542949757,
        "functions_per_token": 0.01620745542949757,
        "loc_per_token": 0.14343598055105347,
        "ccn_per_loc": 0.11299435028248588,
        "functions_per_loc": 0.11299435028248588,
        "tokens_per_loc": 6.971751412429379
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 448,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 56.0,
        "ccn_per_token": 0.017857142857142856,
        "functions_per_token": 0.017857142857142856,
        "loc_per_token": 0.16071428571428573,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.222222222222222
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 93,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.45,
        "blanks_per_loc": 0.19,
        "num_funs": 11,
        "comments_per_loc": 0.22,
        "tokens": 574,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 52.18181818181818,
        "ccn_per_token": 0.01916376306620209,
        "functions_per_token": 0.01916376306620209,
        "loc_per_token": 0.16202090592334495,
        "ccn_per_loc": 0.11827956989247312,
        "functions_per_loc": 0.11827956989247312,
        "tokens_per_loc": 6.172043010752688
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 118,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestVersion.java",
        "comments": 20,
        "loc_per_function": 5.9,
        "blanks_per_loc": 0.19,
        "num_funs": 20,
        "comments_per_loc": 0.17,
        "tokens": 705,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.25,
        "ccn_per_token": 0.028368794326241134,
        "functions_per_token": 0.028368794326241134,
        "loc_per_token": 0.1673758865248227,
        "ccn_per_loc": 0.1694915254237288,
        "functions_per_loc": 0.1694915254237288,
        "tokens_per_loc": 5.97457627118644
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 99,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.5,
        "ccn_per_token": 0.020202020202020204,
        "functions_per_token": 0.020202020202020204,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 745,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 93.125,
        "ccn_per_token": 0.013422818791946308,
        "functions_per_token": 0.010738255033557046,
        "loc_per_token": 0.14630872483221477,
        "ccn_per_loc": 0.09174311926605505,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 6.834862385321101
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 61,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.17,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.33,
        "tokens": 532,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 88.66666666666667,
        "ccn_per_token": 0.013157894736842105,
        "functions_per_token": 0.011278195488721804,
        "loc_per_token": 0.11466165413533834,
        "ccn_per_loc": 0.11475409836065574,
        "functions_per_loc": 0.09836065573770492,
        "tokens_per_loc": 8.721311475409836
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 183,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 13.07,
        "blanks_per_loc": 0.17,
        "num_funs": 14,
        "comments_per_loc": 0.11,
        "tokens": 1428,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011204481792717087,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.12815126050420167,
        "ccn_per_loc": 0.08743169398907104,
        "functions_per_loc": 0.07650273224043716,
        "tokens_per_loc": 7.80327868852459
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 166,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 24,
        "loc_per_function": 33.2,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1586,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 317.2,
        "ccn_per_token": 0.0037831021437578815,
        "functions_per_token": 0.0031525851197982345,
        "loc_per_token": 0.10466582597730138,
        "ccn_per_loc": 0.03614457831325301,
        "functions_per_loc": 0.030120481927710843,
        "tokens_per_loc": 9.55421686746988
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1506,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 301.2,
        "ccn_per_token": 0.0033200531208499337,
        "functions_per_token": 0.0033200531208499337,
        "loc_per_token": 0.09229747675962816,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.83453237410072
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 249,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.83,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2665,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.05555555555554,
        "ccn_per_token": 0.00675422138836773,
        "functions_per_token": 0.00675422138836773,
        "loc_per_token": 0.09343339587242026,
        "ccn_per_loc": 0.07228915662650602,
        "functions_per_loc": 0.07228915662650602,
        "tokens_per_loc": 10.70281124497992
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 21,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 619,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 77.375,
        "ccn_per_token": 0.01615508885298869,
        "functions_per_token": 0.012924071082390954,
        "loc_per_token": 0.1518578352180937,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.585106382978723
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 56,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramCanvasController.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.36,
        "tokens": 388,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 64.66666666666667,
        "ccn_per_token": 0.01804123711340206,
        "functions_per_token": 0.015463917525773196,
        "loc_per_token": 0.14432989690721648,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.928571428571429
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 481,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 41,
        "loc_per_function": 12.03,
        "blanks_per_loc": 0.1,
        "num_funs": 40,
        "comments_per_loc": 0.09,
        "tokens": 3477,
        "ccn": 42,
        "ccn_per_function": 1.05,
        "tokens_per_function": 86.925,
        "ccn_per_token": 0.012079378774805867,
        "functions_per_token": 0.011504170261719874,
        "loc_per_token": 0.1383376473971815,
        "ccn_per_loc": 0.08731808731808732,
        "functions_per_loc": 0.08316008316008316,
        "tokens_per_loc": 7.228690228690229
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramTabToolBar.java",
        "comments": 28,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.37,
        "tokens": 457,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 76.16666666666667,
        "ccn_per_token": 0.0175054704595186,
        "functions_per_token": 0.01312910284463895,
        "loc_per_token": 0.16411378555798686,
        "ccn_per_loc": 0.10666666666666667,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 6.093333333333334
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 165,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/CollectionAssertions.java",
        "comments": 56,
        "loc_per_function": 12.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.34,
        "tokens": 1058,
        "ccn": 49,
        "ccn_per_function": 3.769230769230769,
        "tokens_per_function": 81.38461538461539,
        "ccn_per_token": 0.046313799621928164,
        "functions_per_token": 0.012287334593572778,
        "loc_per_token": 0.15595463137996218,
        "ccn_per_loc": 0.296969696969697,
        "functions_per_loc": 0.07878787878787878,
        "tokens_per_loc": 6.412121212121212
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/GeometryUtils.java",
        "comments": 32,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 3,
        "comments_per_loc": 0.71,
        "tokens": 190,
        "ccn": 9,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.333333333333336,
        "ccn_per_token": 0.04736842105263158,
        "functions_per_token": 0.015789473684210527,
        "loc_per_token": 0.23684210526315788,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 4.222222222222222
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 28,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 172,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 57.333333333333336,
        "ccn_per_token": 0.01744186046511628,
        "functions_per_token": 0.01744186046511628,
        "loc_per_token": 0.16279069767441862,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.142857142857143
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 555,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 37,
        "blanks_per_loc": 0.24,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7522,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 501.46666666666664,
        "ccn_per_token": 0.0026588673225206062,
        "functions_per_token": 0.0019941504918904547,
        "loc_per_token": 0.07378356819994682,
        "ccn_per_loc": 0.036036036036036036,
        "functions_per_loc": 0.02702702702702703,
        "tokens_per_loc": 13.553153153153152
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 64,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 23,
        "loc_per_function": 12.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 534,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.8,
        "ccn_per_token": 0.009363295880149813,
        "functions_per_token": 0.009363295880149813,
        "loc_per_token": 0.1198501872659176,
        "ccn_per_loc": 0.078125,
        "functions_per_loc": 0.078125,
        "tokens_per_loc": 8.34375
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 20,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.22,
        "tokens": 518,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.1776061776061776,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.630434782608695
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 22,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.29,
        "tokens": 538,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 107.6,
        "ccn_per_token": 0.011152416356877323,
        "functions_per_token": 0.00929368029739777,
        "loc_per_token": 0.13940520446096655,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.173333333333333
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 192,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 31,
        "loc_per_function": 17.45,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1887,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 171.54545454545453,
        "ccn_per_token": 0.005829358770535241,
        "functions_per_token": 0.005829358770535241,
        "loc_per_token": 0.10174880763116058,
        "ccn_per_loc": 0.057291666666666664,
        "functions_per_loc": 0.057291666666666664,
        "tokens_per_loc": 9.828125
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 614,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 102.33333333333333,
        "ccn_per_token": 0.03745928338762215,
        "functions_per_token": 0.009771986970684038,
        "loc_per_token": 0.18241042345276873,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.482142857142857
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 124,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 27,
        "loc_per_function": 13.78,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1153,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 128.11111111111111,
        "ccn_per_token": 0.007805724197745013,
        "functions_per_token": 0.007805724197745013,
        "loc_per_token": 0.10754553339115351,
        "ccn_per_loc": 0.07258064516129033,
        "functions_per_loc": 0.07258064516129033,
        "tokens_per_loc": 9.298387096774194
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 10,
        "file_path": "src/module-info.java",
        "comments": 20,
        "loc_per_function": 10,
        "blanks_per_loc": 0,
        "num_funs": 0,
        "comments_per_loc": 2,
        "tokens": 59,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 59,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1694915254237288,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.9
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/JetUML.java",
        "comments": 32,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 0.63,
        "tokens": 406,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 101.5,
        "ccn_per_token": 0.009852216748768473,
        "functions_per_token": 0.009852216748768473,
        "loc_per_token": 0.12561576354679804,
        "ccn_per_loc": 0.0784313725490196,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 7.96078431372549
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 59,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 43,
        "loc_per_function": 8.43,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.73,
        "tokens": 269,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 38.42857142857143,
        "ccn_per_token": 0.048327137546468404,
        "functions_per_token": 0.026022304832713755,
        "loc_per_token": 0.21933085501858737,
        "ccn_per_loc": 0.22033898305084745,
        "functions_per_loc": 0.11864406779661017,
        "tokens_per_loc": 4.559322033898305
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Util.java",
        "comments": 28,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 2,
        "comments_per_loc": 1.47,
        "tokens": 72,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.2638888888888889,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 3.789473684210526
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 51,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 1.31,
        "tokens": 300,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.0,
        "ccn_per_token": 0.02,
        "functions_per_token": 0.02,
        "loc_per_token": 0.13,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 7.6923076923076925
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 56,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.16,
        "num_funs": 12,
        "comments_per_loc": 0.64,
        "tokens": 385,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 32.083333333333336,
        "ccn_per_token": 0.046753246753246755,
        "functions_per_token": 0.03116883116883117,
        "loc_per_token": 0.22597402597402597,
        "ccn_per_loc": 0.20689655172413793,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.425287356321839
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 12,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectCollaborationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 1,
        "comments_per_loc": 2.17,
        "tokens": 92,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.13043478260869565,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.666666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 223,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentedEdgeViewer.java",
        "comments": 56,
        "loc_per_function": 20.27,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 2011,
        "ccn": 25,
        "ccn_per_function": 2.272727272727273,
        "tokens_per_function": 182.8181818181818,
        "ccn_per_token": 0.012431626056688214,
        "functions_per_token": 0.005469915464942815,
        "loc_per_token": 0.11089010442565887,
        "ccn_per_loc": 0.11210762331838565,
        "functions_per_loc": 0.04932735426008968,
        "tokens_per_loc": 9.01793721973094
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseDependencyEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.93,
        "tokens": 265,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.33333333333333,
        "ccn_per_token": 0.011320754716981131,
        "functions_per_token": 0.011320754716981131,
        "loc_per_token": 0.10943396226415095,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 9.137931034482758
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewerRegistry.java",
        "comments": 68,
        "loc_per_function": 9.25,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.92,
        "tokens": 728,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.012362637362637362,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.10164835164835165,
        "ccn_per_loc": 0.12162162162162163,
        "functions_per_loc": 0.10810810810810811,
        "tokens_per_loc": 9.837837837837839
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseGeneralizationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/NoteEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ReturnEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 18.33,
        "blanks_per_loc": 0.09,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 579,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 193.0,
        "ccn_per_token": 0.008635578583765112,
        "functions_per_token": 0.0051813471502590676,
        "loc_per_token": 0.09499136442141623,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.05454545454545454,
        "tokens_per_loc": 10.527272727272727
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StraightEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 456,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.010964912280701754,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.11842105263157894,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 8.444444444444445
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/LabeledStraightEdgeViewer.java",
        "comments": 30,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 423,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 105.75,
        "ccn_per_token": 0.016548463356973995,
        "functions_per_token": 0.009456264775413711,
        "loc_per_token": 0.12056737588652482,
        "ccn_per_loc": 0.13725490196078433,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 8.294117647058824
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 171,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/CallEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 19,
        "blanks_per_loc": 0.09,
        "num_funs": 9,
        "comments_per_loc": 0.15,
        "tokens": 1517,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 168.55555555555554,
        "ccn_per_token": 0.011865524060646011,
        "functions_per_token": 0.005932762030323006,
        "loc_per_token": 0.11272247857613711,
        "ccn_per_loc": 0.10526315789473684,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.871345029239766
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/GeneralizationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 165,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 82.5,
        "ccn_per_token": 0.01818181818181818,
        "functions_per_token": 0.012121212121212121,
        "loc_per_token": 0.15757575757575756,
        "ccn_per_loc": 0.11538461538461539,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.346153846153846
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AssociationEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.1,
        "num_funs": 3,
        "comments_per_loc": 0.8,
        "tokens": 243,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.1646090534979424,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.075
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 570,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyleFactory.java",
        "comments": 95,
        "loc_per_function": 17.27,
        "blanks_per_loc": 0.1,
        "num_funs": 33,
        "comments_per_loc": 0.17,
        "tokens": 3842,
        "ccn": 120,
        "ccn_per_function": 3.6363636363636362,
        "tokens_per_function": 116.42424242424242,
        "ccn_per_token": 0.031233732431025507,
        "functions_per_token": 0.008589276418532014,
        "loc_per_token": 0.14836022904737117,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.05789473684210526,
        "tokens_per_loc": 6.7403508771929825
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AbstractEdgeViewer.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.56,
        "tokens": 664,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 110.66666666666667,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.009036144578313253,
        "loc_per_token": 0.11746987951807229,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.512820512820513
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 114,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectReferenceEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 16.29,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 1045,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 149.28571428571428,
        "ccn_per_token": 0.009569377990430622,
        "functions_per_token": 0.0066985645933014355,
        "loc_per_token": 0.10909090909090909,
        "ccn_per_loc": 0.08771929824561403,
        "functions_per_loc": 0.06140350877192982,
        "tokens_per_loc": 9.166666666666666
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 48,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyle.java",
        "comments": 49,
        "loc_per_function": 16,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 207,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.057971014492753624,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.2318840579710145,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 4.3125
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 362,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StateTransitionEdgeViewer.java",
        "comments": 62,
        "loc_per_function": 17.24,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.17,
        "tokens": 2916,
        "ccn": 48,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 138.85714285714286,
        "ccn_per_token": 0.01646090534979424,
        "functions_per_token": 0.00720164609053498,
        "loc_per_token": 0.12414266117969822,
        "ccn_per_loc": 0.13259668508287292,
        "functions_per_loc": 0.058011049723756904,
        "tokens_per_loc": 8.05524861878453
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/DependencyEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.04,
        "tokens": 219,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1141552511415525,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 8.76
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseAssociationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewer.java",
        "comments": 63,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 3.94,
        "tokens": 139,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 139,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11510791366906475,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.6875
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AggregationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 2,
        "comments_per_loc": 1.07,
        "tokens": 192,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/InterfaceNodeViewer.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 1,
        "comments_per_loc": 3.33,
        "tokens": 54,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.0,
        "ccn_per_token": 0.018518518518518517,
        "functions_per_token": 0.018518518518518517,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NoteNodeViewer.java",
        "comments": 27,
        "loc_per_function": 15,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 638,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.5,
        "ccn_per_token": 0.006269592476489028,
        "functions_per_token": 0.006269592476489028,
        "loc_per_token": 0.09404388714733543,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 10.633333333333333
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 128,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ImplicitParameterNodeViewer.java",
        "comments": 39,
        "loc_per_function": 14.22,
        "blanks_per_loc": 0.1,
        "num_funs": 9,
        "comments_per_loc": 0.3,
        "tokens": 1052,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 116.88888888888889,
        "ccn_per_token": 0.017110266159695818,
        "functions_per_token": 0.008555133079847909,
        "loc_per_token": 0.12167300380228137,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.0703125,
        "tokens_per_loc": 8.21875
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageNodeViewer.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.19,
        "num_funs": 4,
        "comments_per_loc": 0.47,
        "tokens": 525,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 131.25,
        "ccn_per_token": 0.017142857142857144,
        "functions_per_token": 0.007619047619047619,
        "loc_per_token": 0.1219047619047619,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.203125
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ObjectNodeViewer.java",
        "comments": 32,
        "loc_per_function": 17.4,
        "blanks_per_loc": 0.08,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 790,
        "ccn": 11,
        "ccn_per_function": 2.2,
        "tokens_per_function": 158.0,
        "ccn_per_token": 0.013924050632911392,
        "functions_per_token": 0.006329113924050633,
        "loc_per_token": 0.11012658227848102,
        "ccn_per_loc": 0.12643678160919541,
        "functions_per_loc": 0.05747126436781609,
        "tokens_per_loc": 9.080459770114942
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 79,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractNodeViewer.java",
        "comments": 35,
        "loc_per_function": 19.75,
        "blanks_per_loc": 0.09,
        "num_funs": 4,
        "comments_per_loc": 0.44,
        "tokens": 598,
        "ccn": 10,
        "ccn_per_function": 2.5,
        "tokens_per_function": 149.5,
        "ccn_per_token": 0.016722408026755852,
        "functions_per_token": 0.006688963210702341,
        "loc_per_token": 0.13210702341137123,
        "ccn_per_loc": 0.12658227848101267,
        "functions_per_loc": 0.05063291139240506,
        "tokens_per_loc": 7.569620253164557
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageDescriptionNodeViewer.java",
        "comments": 26,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.65,
        "tokens": 415,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 138.33333333333334,
        "ccn_per_token": 0.007228915662650603,
        "functions_per_token": 0.007228915662650603,
        "loc_per_token": 0.0963855421686747,
        "ccn_per_loc": 0.075,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 10.375
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/UseCaseNodeViewer.java",
        "comments": 23,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 2,
        "comments_per_loc": 0.77,
        "tokens": 324,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 162.0,
        "ccn_per_token": 0.006172839506172839,
        "functions_per_token": 0.006172839506172839,
        "loc_per_token": 0.09259259259259259,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 10.8
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/TypeNodeViewer.java",
        "comments": 34,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.12,
        "num_funs": 8,
        "comments_per_loc": 0.31,
        "tokens": 935,
        "ccn": 15,
        "ccn_per_function": 1.875,
        "tokens_per_function": 116.875,
        "ccn_per_token": 0.016042780748663103,
        "functions_per_token": 0.008556149732620321,
        "loc_per_token": 0.11657754010695187,
        "ccn_per_loc": 0.13761467889908258,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 8.577981651376147
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 80,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractPackageNodeViewer.java",
        "comments": 33,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.41,
        "tokens": 689,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 114.83333333333333,
        "ccn_per_token": 0.013062409288824383,
        "functions_per_token": 0.008708272859216255,
        "loc_per_token": 0.11611030478955008,
        "ccn_per_loc": 0.1125,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 8.6125
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewer.java",
        "comments": 66,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 4.12,
        "tokens": 142,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 142,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11267605633802817,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.875
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CircularStateNodeViewer.java",
        "comments": 26,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 502,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 125.5,
        "ccn_per_token": 0.017928286852589643,
        "functions_per_token": 0.00796812749003984,
        "loc_per_token": 0.11553784860557768,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.655172413793103
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/StateNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 279,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 139.5,
        "ccn_per_token": 0.007168458781362007,
        "functions_per_token": 0.007168458781362007,
        "loc_per_token": 0.1003584229390681,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 9.964285714285714
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 168,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CallNodeViewer.java",
        "comments": 37,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1150,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 127.77777777777777,
        "ccn_per_token": 0.022608695652173914,
        "functions_per_token": 0.00782608695652174,
        "loc_per_token": 0.14608695652173914,
        "ccn_per_loc": 0.15476190476190477,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 6.845238095238095
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewerRegistry.java",
        "comments": 69,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.91,
        "tokens": 764,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 95.5,
        "ccn_per_token": 0.011780104712041885,
        "functions_per_token": 0.010471204188481676,
        "loc_per_token": 0.09947643979057591,
        "ccn_per_loc": 0.11842105263157894,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 10.052631578947368
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/FieldNodeViewer.java",
        "comments": 38,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.09,
        "num_funs": 8,
        "comments_per_loc": 0.36,
        "tokens": 1009,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 126.125,
        "ccn_per_token": 0.010901883052527254,
        "functions_per_token": 0.007928642220019821,
        "loc_per_token": 0.10505450941526263,
        "ccn_per_loc": 0.10377358490566038,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 9.518867924528301
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ActorNodeViewer.java",
        "comments": 23,
        "loc_per_function": 22,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.35,
        "tokens": 729,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 243.0,
        "ccn_per_token": 0.00411522633744856,
        "functions_per_token": 0.00411522633744856,
        "loc_per_token": 0.09053497942386832,
        "ccn_per_loc": 0.045454545454545456,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 11.045454545454545
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PointNodeViewer.java",
        "comments": 24,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.83,
        "tokens": 193,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.25,
        "ccn_per_token": 0.02072538860103627,
        "functions_per_token": 0.02072538860103627,
        "loc_per_token": 0.15025906735751296,
        "ccn_per_loc": 0.13793103448275862,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 6.655172413793103
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramViewer.java",
        "comments": 32,
        "loc_per_function": 27.5,
        "blanks_per_loc": 0.07,
        "num_funs": 2,
        "comments_per_loc": 0.58,
        "tokens": 321,
        "ccn": 12,
        "ccn_per_function": 6.0,
        "tokens_per_function": 160.5,
        "ccn_per_token": 0.037383177570093455,
        "functions_per_token": 0.006230529595015576,
        "loc_per_token": 0.17133956386292834,
        "ccn_per_loc": 0.21818181818181817,
        "functions_per_loc": 0.03636363636363636,
        "tokens_per_loc": 5.836363636363636
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramViewer.java",
        "comments": 75,
        "loc_per_function": 16.71,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.64,
        "tokens": 694,
        "ccn": 26,
        "ccn_per_function": 3.7142857142857144,
        "tokens_per_function": 99.14285714285714,
        "ccn_per_token": 0.037463976945244955,
        "functions_per_token": 0.010086455331412104,
        "loc_per_token": 0.1685878962536023,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.05982905982905983,
        "tokens_per_loc": 5.931623931623932
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 50,
        "loc_per_function": 23,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 760,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.021052631578947368,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1513157894736842,
        "ccn_per_loc": 0.1391304347826087,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 6.608695652173913
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 0.94,
        "tokens": 283,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 141.5,
        "ccn_per_token": 0.007067137809187279,
        "functions_per_token": 0.007067137809187279,
        "loc_per_token": 0.11307420494699646,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.84375
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 56,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 575,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 95.83333333333333,
        "ccn_per_token": 0.017391304347826087,
        "functions_per_token": 0.010434782608695653,
        "loc_per_token": 0.13217391304347825,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.565789473684211
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewerUtilities.java",
        "comments": 46,
        "loc_per_function": 13,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.88,
        "tokens": 291,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 72.75,
        "ccn_per_token": 0.027491408934707903,
        "functions_per_token": 0.013745704467353952,
        "loc_per_token": 0.17869415807560138,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.596153846153846
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 27,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 1.93,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 741,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 247.0,
        "ccn_per_token": 0.014844804318488529,
        "functions_per_token": 0.004048582995951417,
        "loc_per_token": 0.09986504723346828,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 10.013513513513514
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 200,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 135,
        "loc_per_function": 8.7,
        "blanks_per_loc": 0.14,
        "num_funs": 23,
        "comments_per_loc": 0.68,
        "tokens": 1079,
        "ccn": 51,
        "ccn_per_function": 2.217391304347826,
        "tokens_per_function": 46.91304347826087,
        "ccn_per_token": 0.047265987025023166,
        "functions_per_token": 0.021316033364226137,
        "loc_per_token": 0.18535681186283595,
        "ccn_per_loc": 0.255,
        "functions_per_loc": 0.115,
        "tokens_per_loc": 5.395
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 99,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Prototypes.java",
        "comments": 32,
        "loc_per_function": 24.75,
        "blanks_per_loc": 0.14,
        "num_funs": 4,
        "comments_per_loc": 0.32,
        "tokens": 1080,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 270.0,
        "ccn_per_token": 0.006481481481481481,
        "functions_per_token": 0.003703703703703704,
        "loc_per_token": 0.09166666666666666,
        "ccn_per_loc": 0.0707070707070707,
        "functions_per_loc": 0.04040404040404041,
        "tokens_per_loc": 10.909090909090908
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 31,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.43,
        "tokens": 39,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 39,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1794871794871795,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.571428571428571
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 62,
        "loc_per_function": 16.88,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.46,
        "tokens": 684,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 85.5,
        "ccn_per_token": 0.014619883040935672,
        "functions_per_token": 0.011695906432748537,
        "loc_per_token": 0.19736842105263158,
        "ccn_per_loc": 0.07407407407407407,
        "functions_per_loc": 0.05925925925925926,
        "tokens_per_loc": 5.066666666666666
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 334,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 124,
        "loc_per_function": 14.52,
        "blanks_per_loc": 0.09,
        "num_funs": 23,
        "comments_per_loc": 0.37,
        "tokens": 2141,
        "ccn": 95,
        "ccn_per_function": 4.130434782608695,
        "tokens_per_function": 93.08695652173913,
        "ccn_per_token": 0.044371788883699206,
        "functions_per_token": 0.010742643624474545,
        "loc_per_token": 0.15600186828584772,
        "ccn_per_loc": 0.2844311377245509,
        "functions_per_loc": 0.0688622754491018,
        "tokens_per_loc": 6.410179640718563
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 134,
        "loc_per_function": 25,
        "blanks_per_loc": 0.84,
        "num_funs": 0,
        "comments_per_loc": 5.36,
        "tokens": 163,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 163,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15337423312883436,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.52
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.78,
        "num_funs": 0,
        "comments_per_loc": 4.89,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 23,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 23,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21739130434782608,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.6
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 35,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.27,
        "num_funs": 3,
        "comments_per_loc": 1.59,
        "tokens": 105,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.0,
        "ccn_per_token": 0.02857142857142857,
        "functions_per_token": 0.02857142857142857,
        "loc_per_token": 0.20952380952380953,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.7727272727272725
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 35,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.4,
        "tokens": 108,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.027777777777777776,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.23148148148148148,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.32
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 40,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.3,
        "num_funs": 5,
        "comments_per_loc": 1.48,
        "tokens": 141,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 28.2,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03546099290780142,
        "loc_per_token": 0.19148936170212766,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 5.222222222222222
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 23,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 238,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 39.666666666666664,
        "ccn_per_token": 0.037815126050420166,
        "functions_per_token": 0.025210084033613446,
        "loc_per_token": 0.21008403361344538,
        "ccn_per_loc": 0.18,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.76
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 41,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.52,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ConstructorEdge.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 3.25,
        "tokens": 34,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.23529411764705882,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.25
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 42,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.56,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 37,
        "loc_per_function": 5,
        "blanks_per_loc": 0.3,
        "num_funs": 6,
        "comments_per_loc": 1.23,
        "tokens": 146,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.333333333333332,
        "ccn_per_token": 0.0410958904109589,
        "functions_per_token": 0.0410958904109589,
        "loc_per_token": 0.2054794520547945,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 4.866666666666666
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 1.5,
        "tokens": 106,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.22641509433962265,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.416666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 24,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.38,
        "tokens": 348,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 49.714285714285715,
        "ccn_per_token": 0.028735632183908046,
        "functions_per_token": 0.020114942528735632,
        "loc_per_token": 0.1839080459770115,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 5.4375
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 25,
        "loc_per_function": 6.1,
        "blanks_per_loc": 0.2,
        "num_funs": 20,
        "comments_per_loc": 0.2,
        "tokens": 569,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.45,
        "ccn_per_token": 0.0351493848857645,
        "functions_per_token": 0.0351493848857645,
        "loc_per_token": 0.21441124780316345,
        "ccn_per_loc": 0.16393442622950818,
        "functions_per_loc": 0.16393442622950818,
        "tokens_per_loc": 4.663934426229508
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 20,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 20,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.666666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageDescriptionNode.java",
        "comments": 32,
        "loc_per_function": 6.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 1.28,
        "tokens": 112,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.0,
        "ccn_per_token": 0.03571428571428571,
        "functions_per_token": 0.03571428571428571,
        "loc_per_token": 0.22321428571428573,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.16,
        "tokens_per_loc": 4.48
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 29,
        "loc_per_function": 9.17,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.53,
        "tokens": 278,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.02877697841726619,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.19784172661870503,
        "ccn_per_loc": 0.14545454545454545,
        "functions_per_loc": 0.10909090909090909,
        "tokens_per_loc": 5.054545454545455
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 42,
        "loc_per_function": 6.22,
        "blanks_per_loc": 0.25,
        "num_funs": 9,
        "comments_per_loc": 0.75,
        "tokens": 250,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.77777777777778,
        "ccn_per_token": 0.036,
        "functions_per_token": 0.036,
        "loc_per_token": 0.224,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.16071428571428573,
        "tokens_per_loc": 4.464285714285714
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.26,
        "num_funs": 9,
        "comments_per_loc": 0.63,
        "tokens": 235,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.11111111111111,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03829787234042553,
        "loc_per_token": 0.2297872340425532,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.351851851851852
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractPackageNode.java",
        "comments": 32,
        "loc_per_function": 6.43,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.71,
        "tokens": 208,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 29.714285714285715,
        "ccn_per_token": 0.038461538461538464,
        "functions_per_token": 0.03365384615384615,
        "loc_per_token": 0.21634615384615385,
        "ccn_per_loc": 0.17777777777777778,
        "functions_per_loc": 0.15555555555555556,
        "tokens_per_loc": 4.622222222222222
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 1,
        "comments_per_loc": 2.89,
        "tokens": 40,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.025,
        "functions_per_token": 0.025,
        "loc_per_token": 0.225,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.444444444444445
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/TypeNode.java",
        "comments": 38,
        "loc_per_function": 6.11,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.69,
        "tokens": 236,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.22222222222222,
        "ccn_per_token": 0.0423728813559322,
        "functions_per_token": 0.038135593220338986,
        "loc_per_token": 0.2330508474576271,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.16363636363636364,
        "tokens_per_loc": 4.290909090909091
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 8.71,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 327,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 46.714285714285715,
        "ccn_per_token": 0.027522935779816515,
        "functions_per_token": 0.021406727828746176,
        "loc_per_token": 0.18654434250764526,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.11475409836065574,
        "tokens_per_loc": 5.360655737704918
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 219,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0091324200913242,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1187214611872146,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.423076923076923
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 119,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 17,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.29,
        "tokens": 719,
        "ccn": 21,
        "ccn_per_function": 3.0,
        "tokens_per_function": 102.71428571428571,
        "ccn_per_token": 0.02920723226703755,
        "functions_per_token": 0.009735744089012517,
        "loc_per_token": 0.16550764951321278,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.042016806722689
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 354,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 149,
        "loc_per_function": 19.67,
        "blanks_per_loc": 0.09,
        "num_funs": 18,
        "comments_per_loc": 0.42,
        "tokens": 2549,
        "ccn": 63,
        "ccn_per_function": 3.5,
        "tokens_per_function": 141.61111111111111,
        "ccn_per_token": 0.02471557473519027,
        "functions_per_token": 0.007061592781482934,
        "loc_per_token": 0.13887799136916437,
        "ccn_per_loc": 0.17796610169491525,
        "functions_per_loc": 0.05084745762711865,
        "tokens_per_loc": 7.200564971751413
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 259,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 104,
        "loc_per_function": 17.27,
        "blanks_per_loc": 0.08,
        "num_funs": 15,
        "comments_per_loc": 0.4,
        "tokens": 1546,
        "ccn": 49,
        "ccn_per_function": 3.2666666666666666,
        "tokens_per_function": 103.06666666666666,
        "ccn_per_token": 0.03169469598965071,
        "functions_per_token": 0.009702457956015523,
        "loc_per_token": 0.16752910737386806,
        "ccn_per_loc": 0.1891891891891892,
        "functions_per_loc": 0.05791505791505792,
        "tokens_per_loc": 5.969111969111969
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 61,
        "loc_per_function": 8.11,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.84,
        "tokens": 356,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 39.55555555555556,
        "ccn_per_token": 0.033707865168539325,
        "functions_per_token": 0.025280898876404494,
        "loc_per_token": 0.2050561797752809,
        "ccn_per_loc": 0.1643835616438356,
        "functions_per_loc": 0.1232876712328767,
        "tokens_per_loc": 4.876712328767123
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 34,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.55,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 198,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 42,
        "loc_per_function": 22,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.21,
        "tokens": 1354,
        "ccn": 32,
        "ccn_per_function": 3.5555555555555554,
        "tokens_per_function": 150.44444444444446,
        "ccn_per_token": 0.023633677991137372,
        "functions_per_token": 0.0066469719350073855,
        "loc_per_token": 0.14623338257016247,
        "ccn_per_loc": 0.16161616161616163,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 6.838383838383838
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 195,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 97.5,
        "ccn_per_token": 0.010256410256410256,
        "functions_per_token": 0.010256410256410256,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.25,
        "tokens": 170,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 56.666666666666664,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.01764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 38,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.69,
        "tokens": 448,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.033482142857142856,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.12276785714285714,
        "ccn_per_loc": 0.2727272727272727,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.145454545454545
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 8.83,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 414,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.043478260869565216,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.1280193236714976,
        "ccn_per_loc": 0.33962264150943394,
        "functions_per_loc": 0.11320754716981132,
        "tokens_per_loc": 7.811320754716981
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 231,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11688311688311688,
        "ccn_per_loc": 0.25925925925925924,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 8.555555555555555
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 43,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.48,
        "tokens": 145,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 48.333333333333336,
        "ccn_per_token": 0.034482758620689655,
        "functions_per_token": 0.020689655172413793,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ClassDiagramEdgeConstraints.java",
        "comments": 36,
        "loc_per_function": 13,
        "blanks_per_loc": 0.11,
        "num_funs": 5,
        "comments_per_loc": 0.55,
        "tokens": 448,
        "ccn": 21,
        "ccn_per_function": 4.2,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.046875,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.14508928571428573,
        "ccn_per_loc": 0.3230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.892307692307693
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/Constraint.java",
        "comments": 27,
        "loc_per_function": 5,
        "blanks_per_loc": 0.4,
        "num_funs": 0,
        "comments_per_loc": 5.4,
        "tokens": 25,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 25,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.75,
        "tokens": 385,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 192.5,
        "ccn_per_token": 0.02077922077922078,
        "functions_per_token": 0.005194805194805195,
        "loc_per_token": 0.13246753246753246,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.0392156862745098,
        "tokens_per_loc": 7.549019607843137
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.98,
        "tokens": 279,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.021505376344086023,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 177,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 86,
        "loc_per_function": 11.8,
        "blanks_per_loc": 0.11,
        "num_funs": 15,
        "comments_per_loc": 0.49,
        "tokens": 987,
        "ccn": 40,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 65.8,
        "ccn_per_token": 0.040526849037487336,
        "functions_per_token": 0.015197568389057751,
        "loc_per_token": 0.17933130699088146,
        "ccn_per_loc": 0.22598870056497175,
        "functions_per_loc": 0.0847457627118644,
        "tokens_per_loc": 5.576271186440678
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 43,
        "loc_per_function": 11.2,
        "blanks_per_loc": 0.23,
        "num_funs": 5,
        "comments_per_loc": 0.77,
        "tokens": 419,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 83.8,
        "ccn_per_token": 0.016706443914081145,
        "functions_per_token": 0.011933174224343675,
        "loc_per_token": 0.13365155131264916,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.08928571428571429,
        "tokens_per_loc": 7.482142857142857
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.24,
        "num_funs": 12,
        "comments_per_loc": 0.79,
        "tokens": 519,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 43.25,
        "ccn_per_token": 0.02697495183044316,
        "functions_per_token": 0.023121387283236993,
        "loc_per_token": 0.1676300578034682,
        "ccn_per_loc": 0.16091954022988506,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 5.9655172413793105
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 107,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Version.java",
        "comments": 54,
        "loc_per_function": 11.89,
        "blanks_per_loc": 0.11,
        "num_funs": 9,
        "comments_per_loc": 0.5,
        "tokens": 583,
        "ccn": 22,
        "ccn_per_function": 2.4444444444444446,
        "tokens_per_function": 64.77777777777777,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.015437392795883362,
        "loc_per_token": 0.1835334476843911,
        "ccn_per_loc": 0.205607476635514,
        "functions_per_loc": 0.08411214953271028,
        "tokens_per_loc": 5.4485981308411215
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 102,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 81,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1552511415525114,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 6.4411764705882355
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 589,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.8,
        "ccn_per_token": 0.011884550084889643,
        "functions_per_token": 0.008488964346349746,
        "loc_per_token": 0.12224108658743633,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.180555555555555
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 49,
        "loc_per_function": 10.9,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.45,
        "tokens": 743,
        "ccn": 14,
        "ccn_per_function": 1.4,
        "tokens_per_function": 74.3,
        "ccn_per_token": 0.018842530282637954,
        "functions_per_token": 0.013458950201884253,
        "loc_per_token": 0.14670255720053835,
        "ccn_per_loc": 0.12844036697247707,
        "functions_per_loc": 0.09174311926605505,
        "tokens_per_loc": 6.81651376146789
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 624,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 156.0,
        "ccn_per_token": 0.008012820512820512,
        "functions_per_token": 0.00641025641025641,
        "loc_per_token": 0.1233974358974359,
        "ccn_per_loc": 0.06493506493506493,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 8.103896103896103
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.85,
        "tokens": 398,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 99.5,
        "ccn_per_token": 0.020100502512562814,
        "functions_per_token": 0.010050251256281407,
        "loc_per_token": 0.1306532663316583,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.653846153846154
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 559,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 99,
        "loc_per_function": 16.44,
        "blanks_per_loc": 0.12,
        "num_funs": 34,
        "comments_per_loc": 0.18,
        "tokens": 4125,
        "ccn": 78,
        "ccn_per_function": 2.2941176470588234,
        "tokens_per_function": 121.32352941176471,
        "ccn_per_token": 0.01890909090909091,
        "functions_per_token": 0.008242424242424242,
        "loc_per_token": 0.1355151515151515,
        "ccn_per_loc": 0.13953488372093023,
        "functions_per_loc": 0.06082289803220036,
        "tokens_per_loc": 7.379248658318426
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 455,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 98,
        "loc_per_function": 14.22,
        "blanks_per_loc": 0.1,
        "num_funs": 32,
        "comments_per_loc": 0.22,
        "tokens": 2872,
        "ccn": 89,
        "ccn_per_function": 2.78125,
        "tokens_per_function": 89.75,
        "ccn_per_token": 0.030988857938718663,
        "functions_per_token": 0.011142061281337047,
        "loc_per_token": 0.15842618384401114,
        "ccn_per_loc": 0.1956043956043956,
        "functions_per_loc": 0.07032967032967033,
        "tokens_per_loc": 6.312087912087912
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 193,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 71,
        "loc_per_function": 12.06,
        "blanks_per_loc": 0.1,
        "num_funs": 16,
        "comments_per_loc": 0.37,
        "tokens": 1426,
        "ccn": 26,
        "ccn_per_function": 1.625,
        "tokens_per_function": 89.125,
        "ccn_per_token": 0.0182328190743338,
        "functions_per_token": 0.011220196353436185,
        "loc_per_token": 0.135343618513324,
        "ccn_per_loc": 0.13471502590673576,
        "functions_per_loc": 0.08290155440414508,
        "tokens_per_loc": 7.38860103626943
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/KeyEventHandler.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1232,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.2,
        "ccn_per_token": 0.025162337662337664,
        "functions_per_token": 0.008116883116883116,
        "loc_per_token": 0.15746753246753248,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.350515463917525
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 224,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 135,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.14,
        "num_funs": 26,
        "comments_per_loc": 0.6,
        "tokens": 1164,
        "ccn": 42,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 44.76923076923077,
        "ccn_per_token": 0.03608247422680412,
        "functions_per_token": 0.022336769759450172,
        "loc_per_token": 0.19243986254295534,
        "ccn_per_loc": 0.1875,
        "functions_per_loc": 0.11607142857142858,
        "tokens_per_loc": 5.196428571428571
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.76,
        "tokens": 578,
        "ccn": 29,
        "ccn_per_function": 1.8125,
        "tokens_per_function": 36.125,
        "ccn_per_token": 0.050173010380622836,
        "functions_per_token": 0.02768166089965398,
        "loc_per_token": 0.20069204152249134,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.982758620689655
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 178,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 94,
        "loc_per_function": 8.09,
        "blanks_per_loc": 0.19,
        "num_funs": 22,
        "comments_per_loc": 0.53,
        "tokens": 1047,
        "ccn": 29,
        "ccn_per_function": 1.3181818181818181,
        "tokens_per_function": 47.59090909090909,
        "ccn_per_token": 0.027698185291308502,
        "functions_per_token": 0.021012416427889206,
        "loc_per_token": 0.17000955109837632,
        "ccn_per_loc": 0.16292134831460675,
        "functions_per_loc": 0.12359550561797752,
        "tokens_per_loc": 5.882022471910112
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 40,
        "loc_per_function": 13,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.13978494623655913,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.153846153846154
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.13,
        "tokens": 259,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 86.33333333333333,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.011583011583011582,
        "loc_per_token": 0.15057915057915058,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.641025641025641
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.37,
        "tokens": 606,
        "ccn": 15,
        "ccn_per_function": 2.142857142857143,
        "tokens_per_function": 86.57142857142857,
        "ccn_per_token": 0.024752475247524754,
        "functions_per_token": 0.01155115511551155,
        "loc_per_token": 0.13861386138613863,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.214285714285714
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 4,
        "comments_per_loc": 1.05,
        "tokens": 194,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.041237113402061855,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.20103092783505155,
        "ccn_per_loc": 0.20512820512820512,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 4.9743589743589745
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 17.67,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 721,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 120.16666666666667,
        "ccn_per_token": 0.024965325936199722,
        "functions_per_token": 0.008321775312066574,
        "loc_per_token": 0.14701803051317613,
        "ccn_per_loc": 0.16981132075471697,
        "functions_per_loc": 0.05660377358490566,
        "tokens_per_loc": 6.80188679245283
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 31,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.75,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.32,
        "tokens": 171,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 42.75,
        "ccn_per_token": 0.023391812865497075,
        "functions_per_token": 0.023391812865497075,
        "loc_per_token": 0.18128654970760233,
        "ccn_per_loc": 0.12903225806451613,
        "functions_per_loc": 0.12903225806451613,
        "tokens_per_loc": 5.516129032258065
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 47,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 1.38,
        "tokens": 148,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.0472972972972973,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.22972972972972974,
        "ccn_per_loc": 0.20588235294117646,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.352941176470588
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 179,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionMigrator.java",
        "comments": 57,
        "loc_per_function": 17.9,
        "blanks_per_loc": 0.11,
        "num_funs": 10,
        "comments_per_loc": 0.32,
        "tokens": 1238,
        "ccn": 35,
        "ccn_per_function": 3.5,
        "tokens_per_function": 123.8,
        "ccn_per_token": 0.02827140549273021,
        "functions_per_token": 0.008077544426494346,
        "loc_per_token": 0.14458804523424879,
        "ccn_per_loc": 0.19553072625698323,
        "functions_per_loc": 0.055865921787709494,
        "tokens_per_loc": 6.916201117318436
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionedDiagram.java",
        "comments": 37,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 113,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.25,
        "ccn_per_token": 0.035398230088495575,
        "functions_per_token": 0.035398230088495575,
        "loc_per_token": 0.23893805309734514,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.185185185185185
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 213,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 134,
        "loc_per_function": 14.2,
        "blanks_per_loc": 0.15,
        "num_funs": 15,
        "comments_per_loc": 0.63,
        "tokens": 1150,
        "ccn": 65,
        "ccn_per_function": 4.333333333333333,
        "tokens_per_function": 76.66666666666667,
        "ccn_per_token": 0.05652173913043478,
        "functions_per_token": 0.013043478260869565,
        "loc_per_token": 0.18521739130434783,
        "ccn_per_loc": 0.3051643192488263,
        "functions_per_loc": 0.07042253521126761,
        "tokens_per_loc": 5.39906103286385
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 17,
        "file_path": "src/org/json/JSONException.java",
        "comments": 19,
        "loc_per_function": 5.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 67,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 22.333333333333332,
        "ccn_per_token": 0.04477611940298507,
        "functions_per_token": 0.04477611940298507,
        "loc_per_token": 0.2537313432835821,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.17647058823529413,
        "tokens_per_loc": 3.9411764705882355
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 534,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 450,
        "loc_per_function": 14.83,
        "blanks_per_loc": 0.12,
        "num_funs": 36,
        "comments_per_loc": 0.84,
        "tokens": 3518,
        "ccn": 195,
        "ccn_per_function": 5.416666666666667,
        "tokens_per_function": 97.72222222222223,
        "ccn_per_token": 0.05542922114837976,
        "functions_per_token": 0.01023308698123934,
        "loc_per_token": 0.15179079022171688,
        "ccn_per_loc": 0.3651685393258427,
        "functions_per_loc": 0.06741573033707865,
        "tokens_per_loc": 6.588014981273409
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 179,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 11.93,
        "blanks_per_loc": 0.17,
        "num_funs": 15,
        "comments_per_loc": 1.11,
        "tokens": 1134,
        "ccn": 59,
        "ccn_per_function": 3.933333333333333,
        "tokens_per_function": 75.6,
        "ccn_per_token": 0.05202821869488536,
        "functions_per_token": 0.013227513227513227,
        "loc_per_token": 0.15784832451499117,
        "ccn_per_loc": 0.329608938547486,
        "functions_per_loc": 0.08379888268156424,
        "tokens_per_loc": 6.335195530726257
    },
    {
        "date": "2020-09-17 Rel 3.0.2",
        "loc": 204,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 228,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 1.12,
        "tokens": 1246,
        "ccn": 53,
        "ccn_per_function": 3.1176470588235294,
        "tokens_per_function": 73.29411764705883,
        "ccn_per_token": 0.04253611556982344,
        "functions_per_token": 0.013643659711075442,
        "loc_per_token": 0.1637239165329053,
        "ccn_per_loc": 0.25980392156862747,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.107843137254902
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 9,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 24,
        "loc_per_function": 4.5,
        "blanks_per_loc": 0.44,
        "num_funs": 2,
        "comments_per_loc": 2.67,
        "tokens": 53,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.16981132075471697,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.2222222222222222,
        "tokens_per_loc": 5.888888888888889
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestDimension.java",
        "comments": 21,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.45,
        "tokens": 387,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.4,
        "ccn_per_token": 0.012919896640826873,
        "functions_per_token": 0.012919896640826873,
        "loc_per_token": 0.12144702842377261,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 8.23404255319149
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 365,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 73.0,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0136986301369863,
        "loc_per_token": 0.13424657534246576,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.448979591836735
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 466,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.2,
        "ccn_per_token": 0.01072961373390558,
        "functions_per_token": 0.01072961373390558,
        "loc_per_token": 0.11802575107296137,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.472727272727273
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestUtil.java",
        "comments": 20,
        "loc_per_function": 6,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 238,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 737,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.88888888888889,
        "ccn_per_token": 0.012211668928086838,
        "functions_per_token": 0.012211668928086838,
        "loc_per_token": 0.11533242876526459,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.670588235294117
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 484,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 21.04,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.09,
        "tokens": 4926,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 214.17391304347825,
        "ccn_per_token": 0.004669102720259845,
        "functions_per_token": 0.004669102720259845,
        "loc_per_token": 0.09825416159155502,
        "ccn_per_loc": 0.047520661157024795,
        "functions_per_loc": 0.047520661157024795,
        "tokens_per_loc": 10.177685950413224
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestDependencyEdgeViewer.java",
        "comments": 20,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 289,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 96.33333333333333,
        "ccn_per_token": 0.010380622837370242,
        "functions_per_token": 0.010380622837370242,
        "loc_per_token": 0.14186851211072665,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 7.048780487804878
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestNoteEdgeViewer.java",
        "comments": 25,
        "loc_per_function": 18,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.35,
        "tokens": 631,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.75,
        "ccn_per_token": 0.006339144215530904,
        "functions_per_token": 0.006339144215530904,
        "loc_per_token": 0.11410459587955626,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 8.76388888888889
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 120,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestFieldNodeViewer.java",
        "comments": 35,
        "loc_per_function": 9.23,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.29,
        "tokens": 977,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 75.15384615384616,
        "ccn_per_token": 0.01330603889457523,
        "functions_per_token": 0.01330603889457523,
        "loc_per_token": 0.12282497441146366,
        "ccn_per_loc": 0.10833333333333334,
        "functions_per_loc": 0.10833333333333334,
        "tokens_per_loc": 8.141666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 33,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCircularNodeViewer.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 0.61,
        "tokens": 241,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.33333333333333,
        "ccn_per_token": 0.012448132780082987,
        "functions_per_token": 0.012448132780082987,
        "loc_per_token": 0.13692946058091288,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.303030303030303
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestTypeNodeViewer.java",
        "comments": 26,
        "loc_per_function": 8.4,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 0.21,
        "tokens": 831,
        "ccn": 16,
        "ccn_per_function": 1.0666666666666667,
        "tokens_per_function": 55.4,
        "ccn_per_token": 0.019253910950661854,
        "functions_per_token": 0.018050541516245487,
        "loc_per_token": 0.15162454873646208,
        "ccn_per_loc": 0.12698412698412698,
        "functions_per_loc": 0.11904761904761904,
        "tokens_per_loc": 6.595238095238095
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestUseCaseNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 117,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestObjectNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.17,
        "tokens": 863,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.91666666666667,
        "ccn_per_token": 0.013904982618771726,
        "functions_per_token": 0.013904982618771726,
        "loc_per_token": 0.13557358053302435,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.3760683760683765
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 77,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCallNodeViewer.java",
        "comments": 20,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.26,
        "tokens": 591,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 147.75,
        "ccn_per_token": 0.00676818950930626,
        "functions_per_token": 0.00676818950930626,
        "loc_per_token": 0.13028764805414553,
        "ccn_per_loc": 0.05194805194805195,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 7.675324675324675
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestPackageNodeViewer.java",
        "comments": 20,
        "loc_per_function": 8.54,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.18,
        "tokens": 682,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 52.46153846153846,
        "ccn_per_token": 0.021994134897360705,
        "functions_per_token": 0.01906158357771261,
        "loc_per_token": 0.1627565982404692,
        "ccn_per_loc": 0.13513513513513514,
        "functions_per_loc": 0.11711711711711711,
        "tokens_per_loc": 6.1441441441441444
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 113,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestImplicitParameterNodeViewer.java",
        "comments": 27,
        "loc_per_function": 16.14,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 874,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 124.85714285714286,
        "ccn_per_token": 0.008009153318077803,
        "functions_per_token": 0.008009153318077803,
        "loc_per_token": 0.12929061784897025,
        "ccn_per_loc": 0.061946902654867256,
        "functions_per_loc": 0.061946902654867256,
        "tokens_per_loc": 7.734513274336283
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestActorNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 360,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.0,
        "ccn_per_token": 0.013888888888888888,
        "functions_per_token": 0.013888888888888888,
        "loc_per_token": 0.13055555555555556,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 7.659574468085107
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestStateNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestGrid.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.24,
        "tokens": 1233,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 246.6,
        "ccn_per_token": 0.0040551500405515,
        "functions_per_token": 0.0040551500405515,
        "loc_per_token": 0.0689375506893755,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 14.505882352941176
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 134,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 24,
        "loc_per_function": 7.44,
        "blanks_per_loc": 0.16,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 793,
        "ccn": 23,
        "ccn_per_function": 1.2777777777777777,
        "tokens_per_function": 44.05555555555556,
        "ccn_per_token": 0.029003783102143757,
        "functions_per_token": 0.02269861286254729,
        "loc_per_token": 0.16897856242118536,
        "ccn_per_loc": 0.17164179104477612,
        "functions_per_loc": 0.13432835820895522,
        "tokens_per_loc": 5.917910447761194
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2699,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.6875,
        "ccn_per_token": 0.005928121526491293,
        "functions_per_token": 0.005928121526491293,
        "loc_per_token": 0.10633567988143756,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.404181184668989
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 244,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 24,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.11,
        "num_funs": 18,
        "comments_per_loc": 0.1,
        "tokens": 1859,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.27777777777777,
        "ccn_per_token": 0.009682625067240451,
        "functions_per_token": 0.009682625067240451,
        "loc_per_token": 0.1312533620225928,
        "ccn_per_loc": 0.07377049180327869,
        "functions_per_loc": 0.07377049180327869,
        "tokens_per_loc": 7.618852459016393
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 100,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagram.java",
        "comments": 22,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 737,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.125,
        "ccn_per_token": 0.010854816824966078,
        "functions_per_token": 0.010854816824966078,
        "loc_per_token": 0.13568521031207598,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 7.37
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3510,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 219.375,
        "ccn_per_token": 0.004558404558404558,
        "functions_per_token": 0.004558404558404558,
        "loc_per_token": 0.09316239316239316,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.73394495412844
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 186,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 21,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.11,
        "tokens": 1809,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 100.5,
        "ccn_per_token": 0.010503040353786623,
        "functions_per_token": 0.009950248756218905,
        "loc_per_token": 0.10281923714759536,
        "ccn_per_loc": 0.10215053763440861,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 9.725806451612904
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 396,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 33,
        "loc_per_function": 9.43,
        "blanks_per_loc": 0.14,
        "num_funs": 42,
        "comments_per_loc": 0.08,
        "tokens": 2598,
        "ccn": 42,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.857142857142854,
        "ccn_per_token": 0.016166281755196306,
        "functions_per_token": 0.016166281755196306,
        "loc_per_token": 0.15242494226327943,
        "ccn_per_loc": 0.10606060606060606,
        "functions_per_loc": 0.10606060606060606,
        "tokens_per_loc": 6.5606060606060606
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.21,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 159,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.0,
        "ccn_per_token": 0.006289308176100629,
        "functions_per_token": 0.006289308176100629,
        "loc_per_token": 0.11949685534591195,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.368421052631579
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 469,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.75,
        "blanks_per_loc": 0.19,
        "num_funs": 28,
        "comments_per_loc": 0.06,
        "tokens": 4287,
        "ccn": 30,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 153.10714285714286,
        "ccn_per_token": 0.006997900629811057,
        "functions_per_token": 0.006531373921156987,
        "loc_per_token": 0.10940051317937952,
        "ccn_per_loc": 0.06396588486140725,
        "functions_per_loc": 0.05970149253731343,
        "tokens_per_loc": 9.140724946695096
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 313,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.08,
        "blanks_per_loc": 0.2,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3086,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 237.3846153846154,
        "ccn_per_token": 0.004212572909915748,
        "functions_per_token": 0.004212572909915748,
        "loc_per_token": 0.10142579390797149,
        "ccn_per_loc": 0.04153354632587859,
        "functions_per_loc": 0.04153354632587859,
        "tokens_per_loc": 9.859424920127795
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 333,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 19.59,
        "blanks_per_loc": 0.23,
        "num_funs": 17,
        "comments_per_loc": 0.08,
        "tokens": 2881,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 169.47058823529412,
        "ccn_per_token": 0.005900728913571677,
        "functions_per_token": 0.005900728913571677,
        "loc_per_token": 0.1155848663658452,
        "ccn_per_loc": 0.05105105105105105,
        "functions_per_loc": 0.05105105105105105,
        "tokens_per_loc": 8.651651651651651
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 115,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramDuplicate.java",
        "comments": 23,
        "loc_per_function": 16.43,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.2,
        "tokens": 1064,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.006578947368421052,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1080827067669173,
        "ccn_per_loc": 0.06086956521739131,
        "functions_per_loc": 0.06086956521739131,
        "tokens_per_loc": 9.252173913043478
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 458,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.6,
        "ccn_per_token": 0.010917030567685589,
        "functions_per_token": 0.010917030567685589,
        "loc_per_token": 0.10262008733624454,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 9.74468085106383
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 24,
        "loc_per_function": 14,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.57,
        "tokens": 310,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.33333333333333,
        "ccn_per_token": 0.00967741935483871,
        "functions_per_token": 0.00967741935483871,
        "loc_per_token": 0.13548387096774195,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 7.380952380952381
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 0.65,
        "tokens": 292,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.0,
        "ccn_per_token": 0.00684931506849315,
        "functions_per_token": 0.00684931506849315,
        "loc_per_token": 0.10616438356164383,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 9.419354838709678
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 1.18,
        "tokens": 167,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 167.0,
        "ccn_per_token": 0.005988023952095809,
        "functions_per_token": 0.005988023952095809,
        "loc_per_token": 0.10179640718562874,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 9.823529411764707
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 46,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestEdgeProperties.java",
        "comments": 23,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.5,
        "tokens": 506,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.66666666666666,
        "ccn_per_token": 0.005928853754940711,
        "functions_per_token": 0.005928853754940711,
        "loc_per_token": 0.09090909090909091,
        "ccn_per_loc": 0.06521739130434782,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 11.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 29,
        "loc_per_function": 7.93,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.26,
        "tokens": 759,
        "ccn": 14,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.214285714285715,
        "ccn_per_token": 0.01844532279314888,
        "functions_per_token": 0.01844532279314888,
        "loc_per_token": 0.14624505928853754,
        "ccn_per_loc": 0.12612612612612611,
        "functions_per_loc": 0.12612612612612611,
        "tokens_per_loc": 6.837837837837838
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 20,
        "loc_per_function": 10.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 250,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.5,
        "ccn_per_token": 0.016,
        "functions_per_token": 0.016,
        "loc_per_token": 0.164,
        "ccn_per_loc": 0.0975609756097561,
        "functions_per_loc": 0.0975609756097561,
        "tokens_per_loc": 6.097560975609756
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 129,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 16.12,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1259,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.375,
        "ccn_per_token": 0.006354249404289118,
        "functions_per_token": 0.006354249404289118,
        "loc_per_token": 0.10246227164416204,
        "ccn_per_loc": 0.06201550387596899,
        "functions_per_loc": 0.06201550387596899,
        "tokens_per_loc": 9.75968992248062
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 107,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 21.4,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.2,
        "tokens": 971,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 194.2,
        "ccn_per_token": 0.005149330587023687,
        "functions_per_token": 0.005149330587023687,
        "loc_per_token": 0.1101956745623069,
        "ccn_per_loc": 0.04672897196261682,
        "functions_per_loc": 0.04672897196261682,
        "tokens_per_loc": 9.074766355140186
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 9.11,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 558,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.0,
        "ccn_per_token": 0.016129032258064516,
        "functions_per_token": 0.016129032258064516,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.10975609756097561,
        "functions_per_loc": 0.10975609756097561,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 67,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageDescriptionNode.java",
        "comments": 20,
        "loc_per_function": 8.38,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.3,
        "tokens": 388,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.020618556701030927,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.17268041237113402,
        "ccn_per_loc": 0.11940298507462686,
        "functions_per_loc": 0.11940298507462686,
        "tokens_per_loc": 5.791044776119403
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.43,
        "tokens": 393,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 131.0,
        "ccn_per_token": 0.007633587786259542,
        "functions_per_token": 0.007633587786259542,
        "loc_per_token": 0.12468193384223919,
        "ccn_per_loc": 0.061224489795918366,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 8.020408163265307
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 68,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 9.71,
        "blanks_per_loc": 0.15,
        "num_funs": 7,
        "comments_per_loc": 0.34,
        "tokens": 431,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.57142857142857,
        "ccn_per_token": 0.016241299303944315,
        "functions_per_token": 0.016241299303944315,
        "loc_per_token": 0.15777262180974477,
        "ccn_per_loc": 0.10294117647058823,
        "functions_per_loc": 0.10294117647058823,
        "tokens_per_loc": 6.338235294117647
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 135,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.0,
        "ccn_per_token": 0.007407407407407408,
        "functions_per_token": 0.007407407407407408,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 188,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.11,
        "tokens": 1869,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 116.8125,
        "ccn_per_token": 0.008560727661851257,
        "functions_per_token": 0.008560727661851257,
        "loc_per_token": 0.10058855002675228,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 9.941489361702128
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 12.73,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1562,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 142.0,
        "ccn_per_token": 0.007042253521126761,
        "functions_per_token": 0.007042253521126761,
        "loc_per_token": 0.08962868117797695,
        "ccn_per_loc": 0.07857142857142857,
        "functions_per_loc": 0.07857142857142857,
        "tokens_per_loc": 11.157142857142857
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 106,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1081,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.125,
        "ccn_per_token": 0.0074005550416281225,
        "functions_per_token": 0.0074005550416281225,
        "loc_per_token": 0.09805735430157261,
        "ccn_per_loc": 0.07547169811320754,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 10.19811320754717
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 217,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 33,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.15,
        "tokens": 1486,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.875,
        "ccn_per_token": 0.010767160161507403,
        "functions_per_token": 0.010767160161507403,
        "loc_per_token": 0.14602960969044415,
        "ccn_per_loc": 0.07373271889400922,
        "functions_per_loc": 0.07373271889400922,
        "tokens_per_loc": 6.847926267281106
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 169,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 18.78,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.12,
        "tokens": 1534,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 170.44444444444446,
        "ccn_per_token": 0.005867014341590613,
        "functions_per_token": 0.005867014341590613,
        "loc_per_token": 0.11016949152542373,
        "ccn_per_loc": 0.05325443786982249,
        "functions_per_loc": 0.05325443786982249,
        "tokens_per_loc": 9.076923076923077
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 457,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 28,
        "loc_per_function": 11.72,
        "blanks_per_loc": 0.12,
        "num_funs": 39,
        "comments_per_loc": 0.06,
        "tokens": 3647,
        "ccn": 39,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.51282051282051,
        "ccn_per_token": 0.010693720866465589,
        "functions_per_token": 0.010693720866465589,
        "loc_per_token": 0.1253084727173019,
        "ccn_per_loc": 0.08533916849015317,
        "functions_per_loc": 0.08533916849015317,
        "tokens_per_loc": 7.980306345733042
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 210,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.14,
        "num_funs": 14,
        "comments_per_loc": 0.1,
        "tokens": 1762,
        "ccn": 15,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 125.85714285714286,
        "ccn_per_token": 0.00851305334846765,
        "functions_per_token": 0.007945516458569807,
        "loc_per_token": 0.1191827468785471,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 8.39047619047619
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 89,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9.89,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 586,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.11111111111111,
        "ccn_per_token": 0.015358361774744027,
        "functions_per_token": 0.015358361774744027,
        "loc_per_token": 0.15187713310580206,
        "ccn_per_loc": 0.10112359550561797,
        "functions_per_loc": 0.10112359550561797,
        "tokens_per_loc": 6.584269662921348
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 84,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 595,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.11111111111111,
        "ccn_per_token": 0.015126050420168067,
        "functions_per_token": 0.015126050420168067,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 7.81,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.12,
        "tokens": 1014,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.285714285714285,
        "ccn_per_token": 0.020710059171597635,
        "functions_per_token": 0.020710059171597635,
        "loc_per_token": 0.16173570019723865,
        "ccn_per_loc": 0.12804878048780488,
        "functions_per_loc": 0.12804878048780488,
        "tokens_per_loc": 6.182926829268292
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 177,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.85,
        "blanks_per_loc": 0.14,
        "num_funs": 20,
        "comments_per_loc": 0.11,
        "tokens": 1234,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.7,
        "ccn_per_token": 0.01620745542949757,
        "functions_per_token": 0.01620745542949757,
        "loc_per_token": 0.14343598055105347,
        "ccn_per_loc": 0.11299435028248588,
        "functions_per_loc": 0.11299435028248588,
        "tokens_per_loc": 6.971751412429379
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 448,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 56.0,
        "ccn_per_token": 0.017857142857142856,
        "functions_per_token": 0.017857142857142856,
        "loc_per_token": 0.16071428571428573,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.222222222222222
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 93,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.45,
        "blanks_per_loc": 0.19,
        "num_funs": 11,
        "comments_per_loc": 0.22,
        "tokens": 574,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 52.18181818181818,
        "ccn_per_token": 0.01916376306620209,
        "functions_per_token": 0.01916376306620209,
        "loc_per_token": 0.16202090592334495,
        "ccn_per_loc": 0.11827956989247312,
        "functions_per_loc": 0.11827956989247312,
        "tokens_per_loc": 6.172043010752688
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 118,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestVersion.java",
        "comments": 20,
        "loc_per_function": 5.9,
        "blanks_per_loc": 0.19,
        "num_funs": 20,
        "comments_per_loc": 0.17,
        "tokens": 705,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.25,
        "ccn_per_token": 0.028368794326241134,
        "functions_per_token": 0.028368794326241134,
        "loc_per_token": 0.1673758865248227,
        "ccn_per_loc": 0.1694915254237288,
        "functions_per_loc": 0.1694915254237288,
        "tokens_per_loc": 5.97457627118644
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 99,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.5,
        "ccn_per_token": 0.020202020202020204,
        "functions_per_token": 0.020202020202020204,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 745,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 93.125,
        "ccn_per_token": 0.013422818791946308,
        "functions_per_token": 0.010738255033557046,
        "loc_per_token": 0.14630872483221477,
        "ccn_per_loc": 0.09174311926605505,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 6.834862385321101
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 61,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.17,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.33,
        "tokens": 532,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 88.66666666666667,
        "ccn_per_token": 0.013157894736842105,
        "functions_per_token": 0.011278195488721804,
        "loc_per_token": 0.11466165413533834,
        "ccn_per_loc": 0.11475409836065574,
        "functions_per_loc": 0.09836065573770492,
        "tokens_per_loc": 8.721311475409836
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 183,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 13.07,
        "blanks_per_loc": 0.17,
        "num_funs": 14,
        "comments_per_loc": 0.11,
        "tokens": 1428,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011204481792717087,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.12815126050420167,
        "ccn_per_loc": 0.08743169398907104,
        "functions_per_loc": 0.07650273224043716,
        "tokens_per_loc": 7.80327868852459
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 166,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 24,
        "loc_per_function": 33.2,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1586,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 317.2,
        "ccn_per_token": 0.0037831021437578815,
        "functions_per_token": 0.0031525851197982345,
        "loc_per_token": 0.10466582597730138,
        "ccn_per_loc": 0.03614457831325301,
        "functions_per_loc": 0.030120481927710843,
        "tokens_per_loc": 9.55421686746988
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1506,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 301.2,
        "ccn_per_token": 0.0033200531208499337,
        "functions_per_token": 0.0033200531208499337,
        "loc_per_token": 0.09229747675962816,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.83453237410072
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 249,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.83,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2665,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.05555555555554,
        "ccn_per_token": 0.00675422138836773,
        "functions_per_token": 0.00675422138836773,
        "loc_per_token": 0.09343339587242026,
        "ccn_per_loc": 0.07228915662650602,
        "functions_per_loc": 0.07228915662650602,
        "tokens_per_loc": 10.70281124497992
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 21,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 619,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 77.375,
        "ccn_per_token": 0.01615508885298869,
        "functions_per_token": 0.012924071082390954,
        "loc_per_token": 0.1518578352180937,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.585106382978723
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 56,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramCanvasController.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.36,
        "tokens": 388,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 64.66666666666667,
        "ccn_per_token": 0.01804123711340206,
        "functions_per_token": 0.015463917525773196,
        "loc_per_token": 0.14432989690721648,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.928571428571429
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 481,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 41,
        "loc_per_function": 12.03,
        "blanks_per_loc": 0.1,
        "num_funs": 40,
        "comments_per_loc": 0.09,
        "tokens": 3477,
        "ccn": 42,
        "ccn_per_function": 1.05,
        "tokens_per_function": 86.925,
        "ccn_per_token": 0.012079378774805867,
        "functions_per_token": 0.011504170261719874,
        "loc_per_token": 0.1383376473971815,
        "ccn_per_loc": 0.08731808731808732,
        "functions_per_loc": 0.08316008316008316,
        "tokens_per_loc": 7.228690228690229
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramTabToolBar.java",
        "comments": 28,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.37,
        "tokens": 457,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 76.16666666666667,
        "ccn_per_token": 0.0175054704595186,
        "functions_per_token": 0.01312910284463895,
        "loc_per_token": 0.16411378555798686,
        "ccn_per_loc": 0.10666666666666667,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 6.093333333333334
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 165,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/CollectionAssertions.java",
        "comments": 56,
        "loc_per_function": 12.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.34,
        "tokens": 1058,
        "ccn": 49,
        "ccn_per_function": 3.769230769230769,
        "tokens_per_function": 81.38461538461539,
        "ccn_per_token": 0.046313799621928164,
        "functions_per_token": 0.012287334593572778,
        "loc_per_token": 0.15595463137996218,
        "ccn_per_loc": 0.296969696969697,
        "functions_per_loc": 0.07878787878787878,
        "tokens_per_loc": 6.412121212121212
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/GeometryUtils.java",
        "comments": 32,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 3,
        "comments_per_loc": 0.71,
        "tokens": 190,
        "ccn": 9,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.333333333333336,
        "ccn_per_token": 0.04736842105263158,
        "functions_per_token": 0.015789473684210527,
        "loc_per_token": 0.23684210526315788,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 4.222222222222222
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 28,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 172,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 57.333333333333336,
        "ccn_per_token": 0.01744186046511628,
        "functions_per_token": 0.01744186046511628,
        "loc_per_token": 0.16279069767441862,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.142857142857143
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 555,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 37,
        "blanks_per_loc": 0.24,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7522,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 501.46666666666664,
        "ccn_per_token": 0.0026588673225206062,
        "functions_per_token": 0.0019941504918904547,
        "loc_per_token": 0.07378356819994682,
        "ccn_per_loc": 0.036036036036036036,
        "functions_per_loc": 0.02702702702702703,
        "tokens_per_loc": 13.553153153153152
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 64,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 23,
        "loc_per_function": 12.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 534,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.8,
        "ccn_per_token": 0.009363295880149813,
        "functions_per_token": 0.009363295880149813,
        "loc_per_token": 0.1198501872659176,
        "ccn_per_loc": 0.078125,
        "functions_per_loc": 0.078125,
        "tokens_per_loc": 8.34375
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 20,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.22,
        "tokens": 518,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.1776061776061776,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.630434782608695
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 22,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.29,
        "tokens": 538,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 107.6,
        "ccn_per_token": 0.011152416356877323,
        "functions_per_token": 0.00929368029739777,
        "loc_per_token": 0.13940520446096655,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.173333333333333
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 192,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 31,
        "loc_per_function": 17.45,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1887,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 171.54545454545453,
        "ccn_per_token": 0.005829358770535241,
        "functions_per_token": 0.005829358770535241,
        "loc_per_token": 0.10174880763116058,
        "ccn_per_loc": 0.057291666666666664,
        "functions_per_loc": 0.057291666666666664,
        "tokens_per_loc": 9.828125
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 614,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 102.33333333333333,
        "ccn_per_token": 0.03745928338762215,
        "functions_per_token": 0.009771986970684038,
        "loc_per_token": 0.18241042345276873,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.482142857142857
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 124,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 27,
        "loc_per_function": 13.78,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1153,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 128.11111111111111,
        "ccn_per_token": 0.007805724197745013,
        "functions_per_token": 0.007805724197745013,
        "loc_per_token": 0.10754553339115351,
        "ccn_per_loc": 0.07258064516129033,
        "functions_per_loc": 0.07258064516129033,
        "tokens_per_loc": 9.298387096774194
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 10,
        "file_path": "src/module-info.java",
        "comments": 20,
        "loc_per_function": 10,
        "blanks_per_loc": 0,
        "num_funs": 0,
        "comments_per_loc": 2,
        "tokens": 59,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 59,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1694915254237288,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.9
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/JetUML.java",
        "comments": 32,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 0.63,
        "tokens": 406,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 101.5,
        "ccn_per_token": 0.009852216748768473,
        "functions_per_token": 0.009852216748768473,
        "loc_per_token": 0.12561576354679804,
        "ccn_per_loc": 0.0784313725490196,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 7.96078431372549
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 59,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 43,
        "loc_per_function": 8.43,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.73,
        "tokens": 269,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 38.42857142857143,
        "ccn_per_token": 0.048327137546468404,
        "functions_per_token": 0.026022304832713755,
        "loc_per_token": 0.21933085501858737,
        "ccn_per_loc": 0.22033898305084745,
        "functions_per_loc": 0.11864406779661017,
        "tokens_per_loc": 4.559322033898305
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Util.java",
        "comments": 28,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 2,
        "comments_per_loc": 1.47,
        "tokens": 72,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.2638888888888889,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 3.789473684210526
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 51,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 1.31,
        "tokens": 300,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.0,
        "ccn_per_token": 0.02,
        "functions_per_token": 0.02,
        "loc_per_token": 0.13,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 7.6923076923076925
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 56,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.16,
        "num_funs": 12,
        "comments_per_loc": 0.64,
        "tokens": 385,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 32.083333333333336,
        "ccn_per_token": 0.046753246753246755,
        "functions_per_token": 0.03116883116883117,
        "loc_per_token": 0.22597402597402597,
        "ccn_per_loc": 0.20689655172413793,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.425287356321839
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 12,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectCollaborationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 1,
        "comments_per_loc": 2.17,
        "tokens": 92,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.13043478260869565,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.666666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 223,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentedEdgeViewer.java",
        "comments": 56,
        "loc_per_function": 20.27,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 2017,
        "ccn": 25,
        "ccn_per_function": 2.272727272727273,
        "tokens_per_function": 183.36363636363637,
        "ccn_per_token": 0.012394645513138325,
        "functions_per_token": 0.005453644025780862,
        "loc_per_token": 0.11056023797719385,
        "ccn_per_loc": 0.11210762331838565,
        "functions_per_loc": 0.04932735426008968,
        "tokens_per_loc": 9.044843049327355
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseDependencyEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.93,
        "tokens": 265,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.33333333333333,
        "ccn_per_token": 0.011320754716981131,
        "functions_per_token": 0.011320754716981131,
        "loc_per_token": 0.10943396226415095,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 9.137931034482758
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewerRegistry.java",
        "comments": 68,
        "loc_per_function": 9.25,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.92,
        "tokens": 728,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.012362637362637362,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.10164835164835165,
        "ccn_per_loc": 0.12162162162162163,
        "functions_per_loc": 0.10810810810810811,
        "tokens_per_loc": 9.837837837837839
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseGeneralizationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/NoteEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ReturnEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 18.33,
        "blanks_per_loc": 0.09,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 579,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 193.0,
        "ccn_per_token": 0.008635578583765112,
        "functions_per_token": 0.0051813471502590676,
        "loc_per_token": 0.09499136442141623,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.05454545454545454,
        "tokens_per_loc": 10.527272727272727
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StraightEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 456,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.010964912280701754,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.11842105263157894,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 8.444444444444445
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/LabeledStraightEdgeViewer.java",
        "comments": 30,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 423,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 105.75,
        "ccn_per_token": 0.016548463356973995,
        "functions_per_token": 0.009456264775413711,
        "loc_per_token": 0.12056737588652482,
        "ccn_per_loc": 0.13725490196078433,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 8.294117647058824
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 171,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/CallEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 19,
        "blanks_per_loc": 0.09,
        "num_funs": 9,
        "comments_per_loc": 0.15,
        "tokens": 1517,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 168.55555555555554,
        "ccn_per_token": 0.011865524060646011,
        "functions_per_token": 0.005932762030323006,
        "loc_per_token": 0.11272247857613711,
        "ccn_per_loc": 0.10526315789473684,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.871345029239766
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/GeneralizationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 165,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 82.5,
        "ccn_per_token": 0.01818181818181818,
        "functions_per_token": 0.012121212121212121,
        "loc_per_token": 0.15757575757575756,
        "ccn_per_loc": 0.11538461538461539,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.346153846153846
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AssociationEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.1,
        "num_funs": 3,
        "comments_per_loc": 0.8,
        "tokens": 243,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.1646090534979424,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.075
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 569,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyleFactory.java",
        "comments": 96,
        "loc_per_function": 17.24,
        "blanks_per_loc": 0.1,
        "num_funs": 33,
        "comments_per_loc": 0.17,
        "tokens": 3850,
        "ccn": 120,
        "ccn_per_function": 3.6363636363636362,
        "tokens_per_function": 116.66666666666667,
        "ccn_per_token": 0.03116883116883117,
        "functions_per_token": 0.008571428571428572,
        "loc_per_token": 0.14779220779220778,
        "ccn_per_loc": 0.210896309314587,
        "functions_per_loc": 0.05799648506151142,
        "tokens_per_loc": 6.766256590509666
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AbstractEdgeViewer.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.56,
        "tokens": 664,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 110.66666666666667,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.009036144578313253,
        "loc_per_token": 0.11746987951807229,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.512820512820513
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 114,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectReferenceEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 16.29,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 1045,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 149.28571428571428,
        "ccn_per_token": 0.009569377990430622,
        "functions_per_token": 0.0066985645933014355,
        "loc_per_token": 0.10909090909090909,
        "ccn_per_loc": 0.08771929824561403,
        "functions_per_loc": 0.06140350877192982,
        "tokens_per_loc": 9.166666666666666
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyle.java",
        "comments": 50,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 223,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.053811659192825115,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.21973094170403587,
        "ccn_per_loc": 0.24489795918367346,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 4.551020408163265
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 362,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StateTransitionEdgeViewer.java",
        "comments": 62,
        "loc_per_function": 17.24,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.17,
        "tokens": 2916,
        "ccn": 48,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 138.85714285714286,
        "ccn_per_token": 0.01646090534979424,
        "functions_per_token": 0.00720164609053498,
        "loc_per_token": 0.12414266117969822,
        "ccn_per_loc": 0.13259668508287292,
        "functions_per_loc": 0.058011049723756904,
        "tokens_per_loc": 8.05524861878453
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/DependencyEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.04,
        "tokens": 219,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1141552511415525,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 8.76
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseAssociationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewer.java",
        "comments": 63,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 3.94,
        "tokens": 139,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 139,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11510791366906475,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.6875
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AggregationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 2,
        "comments_per_loc": 1.07,
        "tokens": 192,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/InterfaceNodeViewer.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 1,
        "comments_per_loc": 3.33,
        "tokens": 54,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.0,
        "ccn_per_token": 0.018518518518518517,
        "functions_per_token": 0.018518518518518517,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NoteNodeViewer.java",
        "comments": 27,
        "loc_per_function": 15,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 638,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.5,
        "ccn_per_token": 0.006269592476489028,
        "functions_per_token": 0.006269592476489028,
        "loc_per_token": 0.09404388714733543,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 10.633333333333333
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 128,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ImplicitParameterNodeViewer.java",
        "comments": 39,
        "loc_per_function": 14.22,
        "blanks_per_loc": 0.1,
        "num_funs": 9,
        "comments_per_loc": 0.3,
        "tokens": 1052,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 116.88888888888889,
        "ccn_per_token": 0.017110266159695818,
        "functions_per_token": 0.008555133079847909,
        "loc_per_token": 0.12167300380228137,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.0703125,
        "tokens_per_loc": 8.21875
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageNodeViewer.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.19,
        "num_funs": 4,
        "comments_per_loc": 0.47,
        "tokens": 525,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 131.25,
        "ccn_per_token": 0.017142857142857144,
        "functions_per_token": 0.007619047619047619,
        "loc_per_token": 0.1219047619047619,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.203125
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ObjectNodeViewer.java",
        "comments": 32,
        "loc_per_function": 17.4,
        "blanks_per_loc": 0.08,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 790,
        "ccn": 11,
        "ccn_per_function": 2.2,
        "tokens_per_function": 158.0,
        "ccn_per_token": 0.013924050632911392,
        "functions_per_token": 0.006329113924050633,
        "loc_per_token": 0.11012658227848102,
        "ccn_per_loc": 0.12643678160919541,
        "functions_per_loc": 0.05747126436781609,
        "tokens_per_loc": 9.080459770114942
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 79,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractNodeViewer.java",
        "comments": 35,
        "loc_per_function": 19.75,
        "blanks_per_loc": 0.09,
        "num_funs": 4,
        "comments_per_loc": 0.44,
        "tokens": 598,
        "ccn": 10,
        "ccn_per_function": 2.5,
        "tokens_per_function": 149.5,
        "ccn_per_token": 0.016722408026755852,
        "functions_per_token": 0.006688963210702341,
        "loc_per_token": 0.13210702341137123,
        "ccn_per_loc": 0.12658227848101267,
        "functions_per_loc": 0.05063291139240506,
        "tokens_per_loc": 7.569620253164557
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageDescriptionNodeViewer.java",
        "comments": 26,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.65,
        "tokens": 415,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 138.33333333333334,
        "ccn_per_token": 0.007228915662650603,
        "functions_per_token": 0.007228915662650603,
        "loc_per_token": 0.0963855421686747,
        "ccn_per_loc": 0.075,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 10.375
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/UseCaseNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 314,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.0,
        "ccn_per_token": 0.006369426751592357,
        "functions_per_token": 0.006369426751592357,
        "loc_per_token": 0.08917197452229299,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 11.214285714285714
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 100,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/TypeNodeViewer.java",
        "comments": 34,
        "loc_per_function": 14.29,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.34,
        "tokens": 894,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 127.71428571428571,
        "ccn_per_token": 0.0145413870246085,
        "functions_per_token": 0.007829977628635347,
        "loc_per_token": 0.11185682326621924,
        "ccn_per_loc": 0.13,
        "functions_per_loc": 0.07,
        "tokens_per_loc": 8.94
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 80,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractPackageNodeViewer.java",
        "comments": 33,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.41,
        "tokens": 689,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 114.83333333333333,
        "ccn_per_token": 0.013062409288824383,
        "functions_per_token": 0.008708272859216255,
        "loc_per_token": 0.11611030478955008,
        "ccn_per_loc": 0.1125,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 8.6125
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewer.java",
        "comments": 66,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 4.12,
        "tokens": 142,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 142,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11267605633802817,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.875
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CircularStateNodeViewer.java",
        "comments": 26,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 502,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 125.5,
        "ccn_per_token": 0.017928286852589643,
        "functions_per_token": 0.00796812749003984,
        "loc_per_token": 0.11553784860557768,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.655172413793103
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/StateNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 279,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 139.5,
        "ccn_per_token": 0.007168458781362007,
        "functions_per_token": 0.007168458781362007,
        "loc_per_token": 0.1003584229390681,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 9.964285714285714
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 168,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CallNodeViewer.java",
        "comments": 37,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1150,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 127.77777777777777,
        "ccn_per_token": 0.022608695652173914,
        "functions_per_token": 0.00782608695652174,
        "loc_per_token": 0.14608695652173914,
        "ccn_per_loc": 0.15476190476190477,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 6.845238095238095
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewerRegistry.java",
        "comments": 69,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.91,
        "tokens": 764,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 95.5,
        "ccn_per_token": 0.011780104712041885,
        "functions_per_token": 0.010471204188481676,
        "loc_per_token": 0.09947643979057591,
        "ccn_per_loc": 0.11842105263157894,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 10.052631578947368
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/FieldNodeViewer.java",
        "comments": 38,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.09,
        "num_funs": 8,
        "comments_per_loc": 0.36,
        "tokens": 1009,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 126.125,
        "ccn_per_token": 0.010901883052527254,
        "functions_per_token": 0.007928642220019821,
        "loc_per_token": 0.10505450941526263,
        "ccn_per_loc": 0.10377358490566038,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 9.518867924528301
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ActorNodeViewer.java",
        "comments": 23,
        "loc_per_function": 22,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.35,
        "tokens": 729,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 243.0,
        "ccn_per_token": 0.00411522633744856,
        "functions_per_token": 0.00411522633744856,
        "loc_per_token": 0.09053497942386832,
        "ccn_per_loc": 0.045454545454545456,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 11.045454545454545
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PointNodeViewer.java",
        "comments": 24,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.83,
        "tokens": 193,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.25,
        "ccn_per_token": 0.02072538860103627,
        "functions_per_token": 0.02072538860103627,
        "loc_per_token": 0.15025906735751296,
        "ccn_per_loc": 0.13793103448275862,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 6.655172413793103
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramViewer.java",
        "comments": 32,
        "loc_per_function": 27.5,
        "blanks_per_loc": 0.07,
        "num_funs": 2,
        "comments_per_loc": 0.58,
        "tokens": 321,
        "ccn": 12,
        "ccn_per_function": 6.0,
        "tokens_per_function": 160.5,
        "ccn_per_token": 0.037383177570093455,
        "functions_per_token": 0.006230529595015576,
        "loc_per_token": 0.17133956386292834,
        "ccn_per_loc": 0.21818181818181817,
        "functions_per_loc": 0.03636363636363636,
        "tokens_per_loc": 5.836363636363636
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramViewer.java",
        "comments": 75,
        "loc_per_function": 16.71,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.64,
        "tokens": 694,
        "ccn": 26,
        "ccn_per_function": 3.7142857142857144,
        "tokens_per_function": 99.14285714285714,
        "ccn_per_token": 0.037463976945244955,
        "functions_per_token": 0.010086455331412104,
        "loc_per_token": 0.1685878962536023,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.05982905982905983,
        "tokens_per_loc": 5.931623931623932
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 50,
        "loc_per_function": 23,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 760,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.021052631578947368,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1513157894736842,
        "ccn_per_loc": 0.1391304347826087,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 6.608695652173913
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 0.94,
        "tokens": 283,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 141.5,
        "ccn_per_token": 0.007067137809187279,
        "functions_per_token": 0.007067137809187279,
        "loc_per_token": 0.11307420494699646,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.84375
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 56,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 575,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 95.83333333333333,
        "ccn_per_token": 0.017391304347826087,
        "functions_per_token": 0.010434782608695653,
        "loc_per_token": 0.13217391304347825,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.565789473684211
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewerUtilities.java",
        "comments": 46,
        "loc_per_function": 13,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.88,
        "tokens": 291,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 72.75,
        "ccn_per_token": 0.027491408934707903,
        "functions_per_token": 0.013745704467353952,
        "loc_per_token": 0.17869415807560138,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.596153846153846
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 27,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 1.93,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 741,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 247.0,
        "ccn_per_token": 0.014844804318488529,
        "functions_per_token": 0.004048582995951417,
        "loc_per_token": 0.09986504723346828,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 10.013513513513514
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 199,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 141,
        "loc_per_function": 8.65,
        "blanks_per_loc": 0.15,
        "num_funs": 23,
        "comments_per_loc": 0.71,
        "tokens": 1054,
        "ccn": 50,
        "ccn_per_function": 2.1739130434782608,
        "tokens_per_function": 45.82608695652174,
        "ccn_per_token": 0.04743833017077799,
        "functions_per_token": 0.021821631878557873,
        "loc_per_token": 0.1888045540796964,
        "ccn_per_loc": 0.25125628140703515,
        "functions_per_loc": 0.11557788944723618,
        "tokens_per_loc": 5.296482412060302
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 99,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Prototypes.java",
        "comments": 32,
        "loc_per_function": 24.75,
        "blanks_per_loc": 0.14,
        "num_funs": 4,
        "comments_per_loc": 0.32,
        "tokens": 1080,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 270.0,
        "ccn_per_token": 0.006481481481481481,
        "functions_per_token": 0.003703703703703704,
        "loc_per_token": 0.09166666666666666,
        "ccn_per_loc": 0.0707070707070707,
        "functions_per_loc": 0.04040404040404041,
        "tokens_per_loc": 10.909090909090908
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 31,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.43,
        "tokens": 39,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 39,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1794871794871795,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.571428571428571
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 62,
        "loc_per_function": 16.88,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.46,
        "tokens": 684,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 85.5,
        "ccn_per_token": 0.014619883040935672,
        "functions_per_token": 0.011695906432748537,
        "loc_per_token": 0.19736842105263158,
        "ccn_per_loc": 0.07407407407407407,
        "functions_per_loc": 0.05925925925925926,
        "tokens_per_loc": 5.066666666666666
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 334,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 124,
        "loc_per_function": 14.52,
        "blanks_per_loc": 0.09,
        "num_funs": 23,
        "comments_per_loc": 0.37,
        "tokens": 2141,
        "ccn": 95,
        "ccn_per_function": 4.130434782608695,
        "tokens_per_function": 93.08695652173913,
        "ccn_per_token": 0.044371788883699206,
        "functions_per_token": 0.010742643624474545,
        "loc_per_token": 0.15600186828584772,
        "ccn_per_loc": 0.2844311377245509,
        "functions_per_loc": 0.0688622754491018,
        "tokens_per_loc": 6.410179640718563
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 134,
        "loc_per_function": 25,
        "blanks_per_loc": 0.84,
        "num_funs": 0,
        "comments_per_loc": 5.36,
        "tokens": 163,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 163,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15337423312883436,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.52
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.78,
        "num_funs": 0,
        "comments_per_loc": 4.89,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 23,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 23,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21739130434782608,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.6
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 35,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.27,
        "num_funs": 3,
        "comments_per_loc": 1.59,
        "tokens": 105,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.0,
        "ccn_per_token": 0.02857142857142857,
        "functions_per_token": 0.02857142857142857,
        "loc_per_token": 0.20952380952380953,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.7727272727272725
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 35,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.4,
        "tokens": 108,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.027777777777777776,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.23148148148148148,
        "ccn_per_loc": 0.12,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.32
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 40,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.3,
        "num_funs": 5,
        "comments_per_loc": 1.48,
        "tokens": 141,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 28.2,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03546099290780142,
        "loc_per_token": 0.19148936170212766,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 5.222222222222222
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 23,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 238,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 39.666666666666664,
        "ccn_per_token": 0.037815126050420166,
        "functions_per_token": 0.025210084033613446,
        "loc_per_token": 0.21008403361344538,
        "ccn_per_loc": 0.18,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.76
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 41,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.52,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ConstructorEdge.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 3.25,
        "tokens": 34,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.23529411764705882,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.25
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 42,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.26,
        "num_funs": 5,
        "comments_per_loc": 1.56,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 37,
        "loc_per_function": 5,
        "blanks_per_loc": 0.3,
        "num_funs": 6,
        "comments_per_loc": 1.23,
        "tokens": 146,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.333333333333332,
        "ccn_per_token": 0.0410958904109589,
        "functions_per_token": 0.0410958904109589,
        "loc_per_token": 0.2054794520547945,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 4.866666666666666
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 1.5,
        "tokens": 106,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.22641509433962265,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.416666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 24,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.38,
        "tokens": 348,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 49.714285714285715,
        "ccn_per_token": 0.028735632183908046,
        "functions_per_token": 0.020114942528735632,
        "loc_per_token": 0.1839080459770115,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 5.4375
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 25,
        "loc_per_function": 6.1,
        "blanks_per_loc": 0.2,
        "num_funs": 20,
        "comments_per_loc": 0.2,
        "tokens": 569,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.45,
        "ccn_per_token": 0.0351493848857645,
        "functions_per_token": 0.0351493848857645,
        "loc_per_token": 0.21441124780316345,
        "ccn_per_loc": 0.16393442622950818,
        "functions_per_loc": 0.16393442622950818,
        "tokens_per_loc": 4.663934426229508
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 20,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 20,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.666666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageDescriptionNode.java",
        "comments": 32,
        "loc_per_function": 6.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 1.28,
        "tokens": 112,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.0,
        "ccn_per_token": 0.03571428571428571,
        "functions_per_token": 0.03571428571428571,
        "loc_per_token": 0.22321428571428573,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.16,
        "tokens_per_loc": 4.48
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 29,
        "loc_per_function": 9.17,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.53,
        "tokens": 278,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.02877697841726619,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.19784172661870503,
        "ccn_per_loc": 0.14545454545454545,
        "functions_per_loc": 0.10909090909090909,
        "tokens_per_loc": 5.054545454545455
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 42,
        "loc_per_function": 6.22,
        "blanks_per_loc": 0.25,
        "num_funs": 9,
        "comments_per_loc": 0.75,
        "tokens": 250,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.77777777777778,
        "ccn_per_token": 0.036,
        "functions_per_token": 0.036,
        "loc_per_token": 0.224,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.16071428571428573,
        "tokens_per_loc": 4.464285714285714
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.26,
        "num_funs": 9,
        "comments_per_loc": 0.63,
        "tokens": 235,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.11111111111111,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03829787234042553,
        "loc_per_token": 0.2297872340425532,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.351851851851852
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractPackageNode.java",
        "comments": 32,
        "loc_per_function": 6.43,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.71,
        "tokens": 208,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 29.714285714285715,
        "ccn_per_token": 0.038461538461538464,
        "functions_per_token": 0.03365384615384615,
        "loc_per_token": 0.21634615384615385,
        "ccn_per_loc": 0.17777777777777778,
        "functions_per_loc": 0.15555555555555556,
        "tokens_per_loc": 4.622222222222222
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 1,
        "comments_per_loc": 2.89,
        "tokens": 40,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.025,
        "functions_per_token": 0.025,
        "loc_per_token": 0.225,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.444444444444445
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/TypeNode.java",
        "comments": 38,
        "loc_per_function": 6.11,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.69,
        "tokens": 236,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.22222222222222,
        "ccn_per_token": 0.0423728813559322,
        "functions_per_token": 0.038135593220338986,
        "loc_per_token": 0.2330508474576271,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.16363636363636364,
        "tokens_per_loc": 4.290909090909091
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 8.71,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 327,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 46.714285714285715,
        "ccn_per_token": 0.027522935779816515,
        "functions_per_token": 0.021406727828746176,
        "loc_per_token": 0.18654434250764526,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.11475409836065574,
        "tokens_per_loc": 5.360655737704918
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 219,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0091324200913242,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1187214611872146,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.423076923076923
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 119,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 17,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.29,
        "tokens": 719,
        "ccn": 21,
        "ccn_per_function": 3.0,
        "tokens_per_function": 102.71428571428571,
        "ccn_per_token": 0.02920723226703755,
        "functions_per_token": 0.009735744089012517,
        "loc_per_token": 0.16550764951321278,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.042016806722689
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 354,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 149,
        "loc_per_function": 19.67,
        "blanks_per_loc": 0.09,
        "num_funs": 18,
        "comments_per_loc": 0.42,
        "tokens": 2549,
        "ccn": 63,
        "ccn_per_function": 3.5,
        "tokens_per_function": 141.61111111111111,
        "ccn_per_token": 0.02471557473519027,
        "functions_per_token": 0.007061592781482934,
        "loc_per_token": 0.13887799136916437,
        "ccn_per_loc": 0.17796610169491525,
        "functions_per_loc": 0.05084745762711865,
        "tokens_per_loc": 7.200564971751413
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 259,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 104,
        "loc_per_function": 17.27,
        "blanks_per_loc": 0.08,
        "num_funs": 15,
        "comments_per_loc": 0.4,
        "tokens": 1546,
        "ccn": 49,
        "ccn_per_function": 3.2666666666666666,
        "tokens_per_function": 103.06666666666666,
        "ccn_per_token": 0.03169469598965071,
        "functions_per_token": 0.009702457956015523,
        "loc_per_token": 0.16752910737386806,
        "ccn_per_loc": 0.1891891891891892,
        "functions_per_loc": 0.05791505791505792,
        "tokens_per_loc": 5.969111969111969
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 61,
        "loc_per_function": 8.11,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.84,
        "tokens": 356,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 39.55555555555556,
        "ccn_per_token": 0.033707865168539325,
        "functions_per_token": 0.025280898876404494,
        "loc_per_token": 0.2050561797752809,
        "ccn_per_loc": 0.1643835616438356,
        "functions_per_loc": 0.1232876712328767,
        "tokens_per_loc": 4.876712328767123
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 34,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.55,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 198,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 42,
        "loc_per_function": 22,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.21,
        "tokens": 1354,
        "ccn": 32,
        "ccn_per_function": 3.5555555555555554,
        "tokens_per_function": 150.44444444444446,
        "ccn_per_token": 0.023633677991137372,
        "functions_per_token": 0.0066469719350073855,
        "loc_per_token": 0.14623338257016247,
        "ccn_per_loc": 0.16161616161616163,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 6.838383838383838
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 195,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 97.5,
        "ccn_per_token": 0.010256410256410256,
        "functions_per_token": 0.010256410256410256,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.25,
        "tokens": 170,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 56.666666666666664,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.01764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 38,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.69,
        "tokens": 448,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.033482142857142856,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.12276785714285714,
        "ccn_per_loc": 0.2727272727272727,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.145454545454545
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 8.83,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 414,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.043478260869565216,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.1280193236714976,
        "ccn_per_loc": 0.33962264150943394,
        "functions_per_loc": 0.11320754716981132,
        "tokens_per_loc": 7.811320754716981
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 231,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11688311688311688,
        "ccn_per_loc": 0.25925925925925924,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 8.555555555555555
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 43,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.48,
        "tokens": 145,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 48.333333333333336,
        "ccn_per_token": 0.034482758620689655,
        "functions_per_token": 0.020689655172413793,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ClassDiagramEdgeConstraints.java",
        "comments": 36,
        "loc_per_function": 13,
        "blanks_per_loc": 0.11,
        "num_funs": 5,
        "comments_per_loc": 0.55,
        "tokens": 448,
        "ccn": 21,
        "ccn_per_function": 4.2,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.046875,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.14508928571428573,
        "ccn_per_loc": 0.3230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.892307692307693
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/Constraint.java",
        "comments": 27,
        "loc_per_function": 5,
        "blanks_per_loc": 0.4,
        "num_funs": 0,
        "comments_per_loc": 5.4,
        "tokens": 25,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 25,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.75,
        "tokens": 385,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 192.5,
        "ccn_per_token": 0.02077922077922078,
        "functions_per_token": 0.005194805194805195,
        "loc_per_token": 0.13246753246753246,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.0392156862745098,
        "tokens_per_loc": 7.549019607843137
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.98,
        "tokens": 279,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.021505376344086023,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 177,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 86,
        "loc_per_function": 11.8,
        "blanks_per_loc": 0.11,
        "num_funs": 15,
        "comments_per_loc": 0.49,
        "tokens": 987,
        "ccn": 40,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 65.8,
        "ccn_per_token": 0.040526849037487336,
        "functions_per_token": 0.015197568389057751,
        "loc_per_token": 0.17933130699088146,
        "ccn_per_loc": 0.22598870056497175,
        "functions_per_loc": 0.0847457627118644,
        "tokens_per_loc": 5.576271186440678
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 43,
        "loc_per_function": 11.2,
        "blanks_per_loc": 0.23,
        "num_funs": 5,
        "comments_per_loc": 0.77,
        "tokens": 419,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 83.8,
        "ccn_per_token": 0.016706443914081145,
        "functions_per_token": 0.011933174224343675,
        "loc_per_token": 0.13365155131264916,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.08928571428571429,
        "tokens_per_loc": 7.482142857142857
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.24,
        "num_funs": 12,
        "comments_per_loc": 0.79,
        "tokens": 519,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 43.25,
        "ccn_per_token": 0.02697495183044316,
        "functions_per_token": 0.023121387283236993,
        "loc_per_token": 0.1676300578034682,
        "ccn_per_loc": 0.16091954022988506,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 5.9655172413793105
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 107,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Version.java",
        "comments": 54,
        "loc_per_function": 11.89,
        "blanks_per_loc": 0.11,
        "num_funs": 9,
        "comments_per_loc": 0.5,
        "tokens": 583,
        "ccn": 22,
        "ccn_per_function": 2.4444444444444446,
        "tokens_per_function": 64.77777777777777,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.015437392795883362,
        "loc_per_token": 0.1835334476843911,
        "ccn_per_loc": 0.205607476635514,
        "functions_per_loc": 0.08411214953271028,
        "tokens_per_loc": 5.4485981308411215
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 102,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 81,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1552511415525114,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 6.4411764705882355
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 589,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.8,
        "ccn_per_token": 0.011884550084889643,
        "functions_per_token": 0.008488964346349746,
        "loc_per_token": 0.12224108658743633,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.180555555555555
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 49,
        "loc_per_function": 10.9,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.45,
        "tokens": 743,
        "ccn": 14,
        "ccn_per_function": 1.4,
        "tokens_per_function": 74.3,
        "ccn_per_token": 0.018842530282637954,
        "functions_per_token": 0.013458950201884253,
        "loc_per_token": 0.14670255720053835,
        "ccn_per_loc": 0.12844036697247707,
        "functions_per_loc": 0.09174311926605505,
        "tokens_per_loc": 6.81651376146789
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 624,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 156.0,
        "ccn_per_token": 0.008012820512820512,
        "functions_per_token": 0.00641025641025641,
        "loc_per_token": 0.1233974358974359,
        "ccn_per_loc": 0.06493506493506493,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 8.103896103896103
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.85,
        "tokens": 398,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 99.5,
        "ccn_per_token": 0.020100502512562814,
        "functions_per_token": 0.010050251256281407,
        "loc_per_token": 0.1306532663316583,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.653846153846154
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 559,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 99,
        "loc_per_function": 16.44,
        "blanks_per_loc": 0.12,
        "num_funs": 34,
        "comments_per_loc": 0.18,
        "tokens": 4125,
        "ccn": 78,
        "ccn_per_function": 2.2941176470588234,
        "tokens_per_function": 121.32352941176471,
        "ccn_per_token": 0.01890909090909091,
        "functions_per_token": 0.008242424242424242,
        "loc_per_token": 0.1355151515151515,
        "ccn_per_loc": 0.13953488372093023,
        "functions_per_loc": 0.06082289803220036,
        "tokens_per_loc": 7.379248658318426
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 455,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 98,
        "loc_per_function": 14.22,
        "blanks_per_loc": 0.1,
        "num_funs": 32,
        "comments_per_loc": 0.22,
        "tokens": 2872,
        "ccn": 89,
        "ccn_per_function": 2.78125,
        "tokens_per_function": 89.75,
        "ccn_per_token": 0.030988857938718663,
        "functions_per_token": 0.011142061281337047,
        "loc_per_token": 0.15842618384401114,
        "ccn_per_loc": 0.1956043956043956,
        "functions_per_loc": 0.07032967032967033,
        "tokens_per_loc": 6.312087912087912
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 193,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 71,
        "loc_per_function": 12.06,
        "blanks_per_loc": 0.1,
        "num_funs": 16,
        "comments_per_loc": 0.37,
        "tokens": 1426,
        "ccn": 26,
        "ccn_per_function": 1.625,
        "tokens_per_function": 89.125,
        "ccn_per_token": 0.0182328190743338,
        "functions_per_token": 0.011220196353436185,
        "loc_per_token": 0.135343618513324,
        "ccn_per_loc": 0.13471502590673576,
        "functions_per_loc": 0.08290155440414508,
        "tokens_per_loc": 7.38860103626943
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/KeyEventHandler.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1232,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.2,
        "ccn_per_token": 0.025162337662337664,
        "functions_per_token": 0.008116883116883116,
        "loc_per_token": 0.15746753246753248,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.350515463917525
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 224,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 135,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.14,
        "num_funs": 26,
        "comments_per_loc": 0.6,
        "tokens": 1164,
        "ccn": 42,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 44.76923076923077,
        "ccn_per_token": 0.03608247422680412,
        "functions_per_token": 0.022336769759450172,
        "loc_per_token": 0.19243986254295534,
        "ccn_per_loc": 0.1875,
        "functions_per_loc": 0.11607142857142858,
        "tokens_per_loc": 5.196428571428571
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.76,
        "tokens": 578,
        "ccn": 29,
        "ccn_per_function": 1.8125,
        "tokens_per_function": 36.125,
        "ccn_per_token": 0.050173010380622836,
        "functions_per_token": 0.02768166089965398,
        "loc_per_token": 0.20069204152249134,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.982758620689655
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 178,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 94,
        "loc_per_function": 8.09,
        "blanks_per_loc": 0.19,
        "num_funs": 22,
        "comments_per_loc": 0.53,
        "tokens": 1047,
        "ccn": 29,
        "ccn_per_function": 1.3181818181818181,
        "tokens_per_function": 47.59090909090909,
        "ccn_per_token": 0.027698185291308502,
        "functions_per_token": 0.021012416427889206,
        "loc_per_token": 0.17000955109837632,
        "ccn_per_loc": 0.16292134831460675,
        "functions_per_loc": 0.12359550561797752,
        "tokens_per_loc": 5.882022471910112
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 40,
        "loc_per_function": 13,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.13978494623655913,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.153846153846154
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.13,
        "tokens": 259,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 86.33333333333333,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.011583011583011582,
        "loc_per_token": 0.15057915057915058,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.641025641025641
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.37,
        "tokens": 606,
        "ccn": 15,
        "ccn_per_function": 2.142857142857143,
        "tokens_per_function": 86.57142857142857,
        "ccn_per_token": 0.024752475247524754,
        "functions_per_token": 0.01155115511551155,
        "loc_per_token": 0.13861386138613863,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.214285714285714
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 4,
        "comments_per_loc": 1.05,
        "tokens": 194,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.041237113402061855,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.20103092783505155,
        "ccn_per_loc": 0.20512820512820512,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 4.9743589743589745
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 17.67,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 721,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 120.16666666666667,
        "ccn_per_token": 0.024965325936199722,
        "functions_per_token": 0.008321775312066574,
        "loc_per_token": 0.14701803051317613,
        "ccn_per_loc": 0.16981132075471697,
        "functions_per_loc": 0.05660377358490566,
        "tokens_per_loc": 6.80188679245283
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 31,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.75,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.32,
        "tokens": 171,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 42.75,
        "ccn_per_token": 0.023391812865497075,
        "functions_per_token": 0.023391812865497075,
        "loc_per_token": 0.18128654970760233,
        "ccn_per_loc": 0.12903225806451613,
        "functions_per_loc": 0.12903225806451613,
        "tokens_per_loc": 5.516129032258065
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 47,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 1.38,
        "tokens": 148,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.0472972972972973,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.22972972972972974,
        "ccn_per_loc": 0.20588235294117646,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.352941176470588
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 174,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionMigrator.java",
        "comments": 57,
        "loc_per_function": 17.4,
        "blanks_per_loc": 0.1,
        "num_funs": 10,
        "comments_per_loc": 0.33,
        "tokens": 1198,
        "ccn": 34,
        "ccn_per_function": 3.4,
        "tokens_per_function": 119.8,
        "ccn_per_token": 0.028380634390651086,
        "functions_per_token": 0.008347245409015025,
        "loc_per_token": 0.14524207011686144,
        "ccn_per_loc": 0.19540229885057472,
        "functions_per_loc": 0.05747126436781609,
        "tokens_per_loc": 6.885057471264368
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/VersionedDiagram.java",
        "comments": 37,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 113,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.25,
        "ccn_per_token": 0.035398230088495575,
        "functions_per_token": 0.035398230088495575,
        "loc_per_token": 0.23893805309734514,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.185185185185185
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 213,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 134,
        "loc_per_function": 14.2,
        "blanks_per_loc": 0.15,
        "num_funs": 15,
        "comments_per_loc": 0.63,
        "tokens": 1150,
        "ccn": 65,
        "ccn_per_function": 4.333333333333333,
        "tokens_per_function": 76.66666666666667,
        "ccn_per_token": 0.05652173913043478,
        "functions_per_token": 0.013043478260869565,
        "loc_per_token": 0.18521739130434783,
        "ccn_per_loc": 0.3051643192488263,
        "functions_per_loc": 0.07042253521126761,
        "tokens_per_loc": 5.39906103286385
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 17,
        "file_path": "src/org/json/JSONException.java",
        "comments": 19,
        "loc_per_function": 5.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 67,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 22.333333333333332,
        "ccn_per_token": 0.04477611940298507,
        "functions_per_token": 0.04477611940298507,
        "loc_per_token": 0.2537313432835821,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.17647058823529413,
        "tokens_per_loc": 3.9411764705882355
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 534,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 450,
        "loc_per_function": 14.83,
        "blanks_per_loc": 0.12,
        "num_funs": 36,
        "comments_per_loc": 0.84,
        "tokens": 3518,
        "ccn": 195,
        "ccn_per_function": 5.416666666666667,
        "tokens_per_function": 97.72222222222223,
        "ccn_per_token": 0.05542922114837976,
        "functions_per_token": 0.01023308698123934,
        "loc_per_token": 0.15179079022171688,
        "ccn_per_loc": 0.3651685393258427,
        "functions_per_loc": 0.06741573033707865,
        "tokens_per_loc": 6.588014981273409
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 179,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 11.93,
        "blanks_per_loc": 0.17,
        "num_funs": 15,
        "comments_per_loc": 1.11,
        "tokens": 1134,
        "ccn": 59,
        "ccn_per_function": 3.933333333333333,
        "tokens_per_function": 75.6,
        "ccn_per_token": 0.05202821869488536,
        "functions_per_token": 0.013227513227513227,
        "loc_per_token": 0.15784832451499117,
        "ccn_per_loc": 0.329608938547486,
        "functions_per_loc": 0.08379888268156424,
        "tokens_per_loc": 6.335195530726257
    },
    {
        "date": "2020-09-03 Rel 3.0.1",
        "loc": 204,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 228,
        "loc_per_function": 12,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 1.12,
        "tokens": 1246,
        "ccn": 53,
        "ccn_per_function": 3.1176470588235294,
        "tokens_per_function": 73.29411764705883,
        "ccn_per_token": 0.04253611556982344,
        "functions_per_token": 0.013643659711075442,
        "loc_per_token": 0.1637239165329053,
        "ccn_per_loc": 0.25980392156862747,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.107843137254902
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 9,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 24,
        "loc_per_function": 4.5,
        "blanks_per_loc": 0.44,
        "num_funs": 2,
        "comments_per_loc": 2.67,
        "tokens": 53,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.16981132075471697,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.2222222222222222,
        "tokens_per_loc": 5.888888888888889
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestDimension.java",
        "comments": 21,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.45,
        "tokens": 387,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.4,
        "ccn_per_token": 0.012919896640826873,
        "functions_per_token": 0.012919896640826873,
        "loc_per_token": 0.12144702842377261,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 8.23404255319149
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 365,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 73.0,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0136986301369863,
        "loc_per_token": 0.13424657534246576,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.448979591836735
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 466,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.2,
        "ccn_per_token": 0.01072961373390558,
        "functions_per_token": 0.01072961373390558,
        "loc_per_token": 0.11802575107296137,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.472727272727273
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestUtil.java",
        "comments": 20,
        "loc_per_function": 6,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 234,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 33.42857142857143,
        "ccn_per_token": 0.029914529914529916,
        "functions_per_token": 0.029914529914529916,
        "loc_per_token": 0.1794871794871795,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.571428571428571
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 737,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.88888888888889,
        "ccn_per_token": 0.012211668928086838,
        "functions_per_token": 0.012211668928086838,
        "loc_per_token": 0.11533242876526459,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.670588235294117
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 484,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 21.04,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.09,
        "tokens": 4926,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 214.17391304347825,
        "ccn_per_token": 0.004669102720259845,
        "functions_per_token": 0.004669102720259845,
        "loc_per_token": 0.09825416159155502,
        "ccn_per_loc": 0.047520661157024795,
        "functions_per_loc": 0.047520661157024795,
        "tokens_per_loc": 10.177685950413224
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestDependencyEdgeViewer.java",
        "comments": 20,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 289,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 96.33333333333333,
        "ccn_per_token": 0.010380622837370242,
        "functions_per_token": 0.010380622837370242,
        "loc_per_token": 0.14186851211072665,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 7.048780487804878
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestNoteEdgeViewer.java",
        "comments": 25,
        "loc_per_function": 18,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.35,
        "tokens": 631,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.75,
        "ccn_per_token": 0.006339144215530904,
        "functions_per_token": 0.006339144215530904,
        "loc_per_token": 0.11410459587955626,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 8.76388888888889
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 120,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestFieldNodeViewer.java",
        "comments": 35,
        "loc_per_function": 9.23,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.29,
        "tokens": 977,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 75.15384615384616,
        "ccn_per_token": 0.01330603889457523,
        "functions_per_token": 0.01330603889457523,
        "loc_per_token": 0.12282497441146366,
        "ccn_per_loc": 0.10833333333333334,
        "functions_per_loc": 0.10833333333333334,
        "tokens_per_loc": 8.141666666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 33,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCircularNodeViewer.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 0.61,
        "tokens": 241,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.33333333333333,
        "ccn_per_token": 0.012448132780082987,
        "functions_per_token": 0.012448132780082987,
        "loc_per_token": 0.13692946058091288,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.303030303030303
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestTypeNodeViewer.java",
        "comments": 26,
        "loc_per_function": 8.4,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 0.21,
        "tokens": 837,
        "ccn": 16,
        "ccn_per_function": 1.0666666666666667,
        "tokens_per_function": 55.8,
        "ccn_per_token": 0.019115890083632018,
        "functions_per_token": 0.017921146953405017,
        "loc_per_token": 0.15053763440860216,
        "ccn_per_loc": 0.12698412698412698,
        "functions_per_loc": 0.11904761904761904,
        "tokens_per_loc": 6.642857142857143
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestUseCaseNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 117,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestObjectNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.17,
        "tokens": 863,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.91666666666667,
        "ccn_per_token": 0.013904982618771726,
        "functions_per_token": 0.013904982618771726,
        "loc_per_token": 0.13557358053302435,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.3760683760683765
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 77,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCallNodeViewer.java",
        "comments": 20,
        "loc_per_function": 19.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.26,
        "tokens": 591,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 147.75,
        "ccn_per_token": 0.00676818950930626,
        "functions_per_token": 0.00676818950930626,
        "loc_per_token": 0.13028764805414553,
        "ccn_per_loc": 0.05194805194805195,
        "functions_per_loc": 0.05194805194805195,
        "tokens_per_loc": 7.675324675324675
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 113,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestPackageNodeViewer.java",
        "comments": 20,
        "loc_per_function": 8.69,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.18,
        "tokens": 710,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 54.61538461538461,
        "ccn_per_token": 0.02112676056338028,
        "functions_per_token": 0.018309859154929577,
        "loc_per_token": 0.1591549295774648,
        "ccn_per_loc": 0.13274336283185842,
        "functions_per_loc": 0.11504424778761062,
        "tokens_per_loc": 6.283185840707965
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 113,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestImplicitParameterNodeViewer.java",
        "comments": 27,
        "loc_per_function": 16.14,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 874,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 124.85714285714286,
        "ccn_per_token": 0.008009153318077803,
        "functions_per_token": 0.008009153318077803,
        "loc_per_token": 0.12929061784897025,
        "ccn_per_loc": 0.061946902654867256,
        "functions_per_loc": 0.061946902654867256,
        "tokens_per_loc": 7.734513274336283
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestActorNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 360,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.0,
        "ccn_per_token": 0.013888888888888888,
        "functions_per_token": 0.013888888888888888,
        "loc_per_token": 0.13055555555555556,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 7.659574468085107
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestStateNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestGrid.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.24,
        "tokens": 1233,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 246.6,
        "ccn_per_token": 0.0040551500405515,
        "functions_per_token": 0.0040551500405515,
        "loc_per_token": 0.0689375506893755,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 14.505882352941176
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 134,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 24,
        "loc_per_function": 7.44,
        "blanks_per_loc": 0.16,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 793,
        "ccn": 23,
        "ccn_per_function": 1.2777777777777777,
        "tokens_per_function": 44.05555555555556,
        "ccn_per_token": 0.029003783102143757,
        "functions_per_token": 0.02269861286254729,
        "loc_per_token": 0.16897856242118536,
        "ccn_per_loc": 0.17164179104477612,
        "functions_per_loc": 0.13432835820895522,
        "tokens_per_loc": 5.917910447761194
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2699,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.6875,
        "ccn_per_token": 0.005928121526491293,
        "functions_per_token": 0.005928121526491293,
        "loc_per_token": 0.10633567988143756,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.404181184668989
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 244,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 24,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.11,
        "num_funs": 18,
        "comments_per_loc": 0.1,
        "tokens": 1859,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.27777777777777,
        "ccn_per_token": 0.009682625067240451,
        "functions_per_token": 0.009682625067240451,
        "loc_per_token": 0.1312533620225928,
        "ccn_per_loc": 0.07377049180327869,
        "functions_per_loc": 0.07377049180327869,
        "tokens_per_loc": 7.618852459016393
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 83,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagram.java",
        "comments": 21,
        "loc_per_function": 11.86,
        "blanks_per_loc": 0.18,
        "num_funs": 7,
        "comments_per_loc": 0.25,
        "tokens": 602,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 86.0,
        "ccn_per_token": 0.011627906976744186,
        "functions_per_token": 0.011627906976744186,
        "loc_per_token": 0.1378737541528239,
        "ccn_per_loc": 0.08433734939759036,
        "functions_per_loc": 0.08433734939759036,
        "tokens_per_loc": 7.253012048192771
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3510,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 219.375,
        "ccn_per_token": 0.004558404558404558,
        "functions_per_token": 0.004558404558404558,
        "loc_per_token": 0.09316239316239316,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.73394495412844
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 186,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 21,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.11,
        "tokens": 1809,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 100.5,
        "ccn_per_token": 0.010503040353786623,
        "functions_per_token": 0.009950248756218905,
        "loc_per_token": 0.10281923714759536,
        "ccn_per_loc": 0.10215053763440861,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 9.725806451612904
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 193,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 32,
        "loc_per_function": 10.16,
        "blanks_per_loc": 0.14,
        "num_funs": 19,
        "comments_per_loc": 0.17,
        "tokens": 1225,
        "ccn": 19,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.47368421052632,
        "ccn_per_token": 0.015510204081632653,
        "functions_per_token": 0.015510204081632653,
        "loc_per_token": 0.15755102040816327,
        "ccn_per_loc": 0.09844559585492228,
        "functions_per_loc": 0.09844559585492228,
        "tokens_per_loc": 6.347150259067358
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.21,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 159,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.0,
        "ccn_per_token": 0.006289308176100629,
        "functions_per_token": 0.006289308176100629,
        "loc_per_token": 0.11949685534591195,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.368421052631579
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 490,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.9,
        "blanks_per_loc": 0.19,
        "num_funs": 29,
        "comments_per_loc": 0.06,
        "tokens": 4574,
        "ccn": 31,
        "ccn_per_function": 1.0689655172413792,
        "tokens_per_function": 157.72413793103448,
        "ccn_per_token": 0.006777437691298645,
        "functions_per_token": 0.006340183646698732,
        "loc_per_token": 0.10712724092697858,
        "ccn_per_loc": 0.06326530612244897,
        "functions_per_loc": 0.05918367346938776,
        "tokens_per_loc": 9.33469387755102
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 313,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.08,
        "blanks_per_loc": 0.2,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3086,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 237.3846153846154,
        "ccn_per_token": 0.004212572909915748,
        "functions_per_token": 0.004212572909915748,
        "loc_per_token": 0.10142579390797149,
        "ccn_per_loc": 0.04153354632587859,
        "functions_per_loc": 0.04153354632587859,
        "tokens_per_loc": 9.859424920127795
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 333,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 19.59,
        "blanks_per_loc": 0.23,
        "num_funs": 17,
        "comments_per_loc": 0.08,
        "tokens": 2881,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 169.47058823529412,
        "ccn_per_token": 0.005900728913571677,
        "functions_per_token": 0.005900728913571677,
        "loc_per_token": 0.1155848663658452,
        "ccn_per_loc": 0.05105105105105105,
        "functions_per_loc": 0.05105105105105105,
        "tokens_per_loc": 8.651651651651651
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 115,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramDuplicate.java",
        "comments": 23,
        "loc_per_function": 16.43,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.2,
        "tokens": 1064,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.006578947368421052,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1080827067669173,
        "ccn_per_loc": 0.06086956521739131,
        "functions_per_loc": 0.06086956521739131,
        "tokens_per_loc": 9.252173913043478
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 458,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.6,
        "ccn_per_token": 0.010917030567685589,
        "functions_per_token": 0.010917030567685589,
        "loc_per_token": 0.10262008733624454,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 9.74468085106383
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 24,
        "loc_per_function": 14,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.57,
        "tokens": 310,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 103.33333333333333,
        "ccn_per_token": 0.00967741935483871,
        "functions_per_token": 0.00967741935483871,
        "loc_per_token": 0.13548387096774195,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 7.380952380952381
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 0.65,
        "tokens": 292,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.0,
        "ccn_per_token": 0.00684931506849315,
        "functions_per_token": 0.00684931506849315,
        "loc_per_token": 0.10616438356164383,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 9.419354838709678
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 1.18,
        "tokens": 167,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 167.0,
        "ccn_per_token": 0.005988023952095809,
        "functions_per_token": 0.005988023952095809,
        "loc_per_token": 0.10179640718562874,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 9.823529411764707
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 46,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestEdgeProperties.java",
        "comments": 23,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.5,
        "tokens": 514,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 171.33333333333334,
        "ccn_per_token": 0.005836575875486381,
        "functions_per_token": 0.005836575875486381,
        "loc_per_token": 0.08949416342412451,
        "ccn_per_loc": 0.06521739130434782,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 11.173913043478262
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 29,
        "loc_per_function": 7.93,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.26,
        "tokens": 759,
        "ccn": 14,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.214285714285715,
        "ccn_per_token": 0.01844532279314888,
        "functions_per_token": 0.01844532279314888,
        "loc_per_token": 0.14624505928853754,
        "ccn_per_loc": 0.12612612612612611,
        "functions_per_loc": 0.12612612612612611,
        "tokens_per_loc": 6.837837837837838
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 20,
        "loc_per_function": 10.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 250,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.5,
        "ccn_per_token": 0.016,
        "functions_per_token": 0.016,
        "loc_per_token": 0.164,
        "ccn_per_loc": 0.0975609756097561,
        "functions_per_loc": 0.0975609756097561,
        "tokens_per_loc": 6.097560975609756
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 129,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 16.12,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1259,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.375,
        "ccn_per_token": 0.006354249404289118,
        "functions_per_token": 0.006354249404289118,
        "loc_per_token": 0.10246227164416204,
        "ccn_per_loc": 0.06201550387596899,
        "functions_per_loc": 0.06201550387596899,
        "tokens_per_loc": 9.75968992248062
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 21.8,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.19,
        "tokens": 1001,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 200.2,
        "ccn_per_token": 0.004995004995004995,
        "functions_per_token": 0.004995004995004995,
        "loc_per_token": 0.1088911088911089,
        "ccn_per_loc": 0.045871559633027525,
        "functions_per_loc": 0.045871559633027525,
        "tokens_per_loc": 9.18348623853211
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 9.11,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 558,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.0,
        "ccn_per_token": 0.016129032258064516,
        "functions_per_token": 0.016129032258064516,
        "loc_per_token": 0.14695340501792115,
        "ccn_per_loc": 0.10975609756097561,
        "functions_per_loc": 0.10975609756097561,
        "tokens_per_loc": 6.804878048780488
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.43,
        "tokens": 393,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 131.0,
        "ccn_per_token": 0.007633587786259542,
        "functions_per_token": 0.007633587786259542,
        "loc_per_token": 0.12468193384223919,
        "ccn_per_loc": 0.061224489795918366,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 8.020408163265307
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 68,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 9.71,
        "blanks_per_loc": 0.15,
        "num_funs": 7,
        "comments_per_loc": 0.34,
        "tokens": 431,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.57142857142857,
        "ccn_per_token": 0.016241299303944315,
        "functions_per_token": 0.016241299303944315,
        "loc_per_token": 0.15777262180974477,
        "ccn_per_loc": 0.10294117647058823,
        "functions_per_loc": 0.10294117647058823,
        "tokens_per_loc": 6.338235294117647
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 135,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.0,
        "ccn_per_token": 0.007407407407407408,
        "functions_per_token": 0.007407407407407408,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 188,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.11,
        "tokens": 1869,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 116.8125,
        "ccn_per_token": 0.008560727661851257,
        "functions_per_token": 0.008560727661851257,
        "loc_per_token": 0.10058855002675228,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 9.941489361702128
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 12.73,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1562,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 142.0,
        "ccn_per_token": 0.007042253521126761,
        "functions_per_token": 0.007042253521126761,
        "loc_per_token": 0.08962868117797695,
        "ccn_per_loc": 0.07857142857142857,
        "functions_per_loc": 0.07857142857142857,
        "tokens_per_loc": 11.157142857142857
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 106,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1081,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.125,
        "ccn_per_token": 0.0074005550416281225,
        "functions_per_token": 0.0074005550416281225,
        "loc_per_token": 0.09805735430157261,
        "ccn_per_loc": 0.07547169811320754,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 10.19811320754717
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 217,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 33,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.15,
        "tokens": 1486,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.875,
        "ccn_per_token": 0.010767160161507403,
        "functions_per_token": 0.010767160161507403,
        "loc_per_token": 0.14602960969044415,
        "ccn_per_loc": 0.07373271889400922,
        "functions_per_loc": 0.07373271889400922,
        "tokens_per_loc": 6.847926267281106
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 169,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 18.78,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.12,
        "tokens": 1534,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 170.44444444444446,
        "ccn_per_token": 0.005867014341590613,
        "functions_per_token": 0.005867014341590613,
        "loc_per_token": 0.11016949152542373,
        "ccn_per_loc": 0.05325443786982249,
        "functions_per_loc": 0.05325443786982249,
        "tokens_per_loc": 9.076923076923077
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 464,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 28,
        "loc_per_function": 11.6,
        "blanks_per_loc": 0.12,
        "num_funs": 40,
        "comments_per_loc": 0.06,
        "tokens": 3700,
        "ccn": 40,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.5,
        "ccn_per_token": 0.010810810810810811,
        "functions_per_token": 0.010810810810810811,
        "loc_per_token": 0.1254054054054054,
        "ccn_per_loc": 0.08620689655172414,
        "functions_per_loc": 0.08620689655172414,
        "tokens_per_loc": 7.974137931034483
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 176,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 24,
        "loc_per_function": 17.6,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.14,
        "tokens": 1488,
        "ccn": 11,
        "ccn_per_function": 1.1,
        "tokens_per_function": 148.8,
        "ccn_per_token": 0.00739247311827957,
        "functions_per_token": 0.006720430107526882,
        "loc_per_token": 0.11827956989247312,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.056818181818181816,
        "tokens_per_loc": 8.454545454545455
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 391,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 78.2,
        "ccn_per_token": 0.01278772378516624,
        "functions_per_token": 0.01278772378516624,
        "loc_per_token": 0.14066496163682865,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.109090909090909
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 84,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 595,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.11111111111111,
        "ccn_per_token": 0.015126050420168067,
        "functions_per_token": 0.015126050420168067,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 7.81,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.12,
        "tokens": 1014,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.285714285714285,
        "ccn_per_token": 0.020710059171597635,
        "functions_per_token": 0.020710059171597635,
        "loc_per_token": 0.16173570019723865,
        "ccn_per_loc": 0.12804878048780488,
        "functions_per_loc": 0.12804878048780488,
        "tokens_per_loc": 6.182926829268292
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 177,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.85,
        "blanks_per_loc": 0.14,
        "num_funs": 20,
        "comments_per_loc": 0.11,
        "tokens": 1234,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.7,
        "ccn_per_token": 0.01620745542949757,
        "functions_per_token": 0.01620745542949757,
        "loc_per_token": 0.14343598055105347,
        "ccn_per_loc": 0.11299435028248588,
        "functions_per_loc": 0.11299435028248588,
        "tokens_per_loc": 6.971751412429379
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 9,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 448,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 56.0,
        "ccn_per_token": 0.017857142857142856,
        "functions_per_token": 0.017857142857142856,
        "loc_per_token": 0.16071428571428573,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 6.222222222222222
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 93,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.45,
        "blanks_per_loc": 0.19,
        "num_funs": 11,
        "comments_per_loc": 0.22,
        "tokens": 574,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 52.18181818181818,
        "ccn_per_token": 0.01916376306620209,
        "functions_per_token": 0.01916376306620209,
        "loc_per_token": 0.16202090592334495,
        "ccn_per_loc": 0.11827956989247312,
        "functions_per_loc": 0.11827956989247312,
        "tokens_per_loc": 6.172043010752688
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 99,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.5,
        "ccn_per_token": 0.020202020202020204,
        "functions_per_token": 0.020202020202020204,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 745,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 93.125,
        "ccn_per_token": 0.013422818791946308,
        "functions_per_token": 0.010738255033557046,
        "loc_per_token": 0.14630872483221477,
        "ccn_per_loc": 0.09174311926605505,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 6.834862385321101
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 61,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.17,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.33,
        "tokens": 532,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 88.66666666666667,
        "ccn_per_token": 0.013157894736842105,
        "functions_per_token": 0.011278195488721804,
        "loc_per_token": 0.11466165413533834,
        "ccn_per_loc": 0.11475409836065574,
        "functions_per_loc": 0.09836065573770492,
        "tokens_per_loc": 8.721311475409836
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 183,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 13.07,
        "blanks_per_loc": 0.17,
        "num_funs": 14,
        "comments_per_loc": 0.11,
        "tokens": 1428,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011204481792717087,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.12815126050420167,
        "ccn_per_loc": 0.08743169398907104,
        "functions_per_loc": 0.07650273224043716,
        "tokens_per_loc": 7.80327868852459
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 166,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 24,
        "loc_per_function": 33.2,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1586,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 317.2,
        "ccn_per_token": 0.0037831021437578815,
        "functions_per_token": 0.0031525851197982345,
        "loc_per_token": 0.10466582597730138,
        "ccn_per_loc": 0.03614457831325301,
        "functions_per_loc": 0.030120481927710843,
        "tokens_per_loc": 9.55421686746988
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1506,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 301.2,
        "ccn_per_token": 0.0033200531208499337,
        "functions_per_token": 0.0033200531208499337,
        "loc_per_token": 0.09229747675962816,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.83453237410072
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 249,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.83,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2665,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.05555555555554,
        "ccn_per_token": 0.00675422138836773,
        "functions_per_token": 0.00675422138836773,
        "loc_per_token": 0.09343339587242026,
        "ccn_per_loc": 0.07228915662650602,
        "functions_per_loc": 0.07228915662650602,
        "tokens_per_loc": 10.70281124497992
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 21,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 619,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 77.375,
        "ccn_per_token": 0.01615508885298869,
        "functions_per_token": 0.012924071082390954,
        "loc_per_token": 0.1518578352180937,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.585106382978723
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 491,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 41,
        "loc_per_function": 11.98,
        "blanks_per_loc": 0.1,
        "num_funs": 41,
        "comments_per_loc": 0.08,
        "tokens": 3538,
        "ccn": 43,
        "ccn_per_function": 1.048780487804878,
        "tokens_per_function": 86.29268292682927,
        "ccn_per_token": 0.01215375918598078,
        "functions_per_token": 0.011588468061051441,
        "loc_per_token": 0.13877897117015262,
        "ccn_per_loc": 0.08757637474541752,
        "functions_per_loc": 0.0835030549898167,
        "tokens_per_loc": 7.205702647657841
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramTabToolBar.java",
        "comments": 28,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.37,
        "tokens": 457,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 76.16666666666667,
        "ccn_per_token": 0.0175054704595186,
        "functions_per_token": 0.01312910284463895,
        "loc_per_token": 0.16411378555798686,
        "ccn_per_loc": 0.10666666666666667,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 6.093333333333334
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 165,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/CollectionAssertions.java",
        "comments": 56,
        "loc_per_function": 12.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.34,
        "tokens": 1058,
        "ccn": 49,
        "ccn_per_function": 3.769230769230769,
        "tokens_per_function": 81.38461538461539,
        "ccn_per_token": 0.046313799621928164,
        "functions_per_token": 0.012287334593572778,
        "loc_per_token": 0.15595463137996218,
        "ccn_per_loc": 0.296969696969697,
        "functions_per_loc": 0.07878787878787878,
        "tokens_per_loc": 6.412121212121212
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/GeometryUtils.java",
        "comments": 32,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 3,
        "comments_per_loc": 0.71,
        "tokens": 190,
        "ccn": 9,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.333333333333336,
        "ccn_per_token": 0.04736842105263158,
        "functions_per_token": 0.015789473684210527,
        "loc_per_token": 0.23684210526315788,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 4.222222222222222
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 28,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 172,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 57.333333333333336,
        "ccn_per_token": 0.01744186046511628,
        "functions_per_token": 0.01744186046511628,
        "loc_per_token": 0.16279069767441862,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.142857142857143
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 564,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 37.6,
        "blanks_per_loc": 0.23,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7573,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 504.8666666666667,
        "ccn_per_token": 0.00264096130991681,
        "functions_per_token": 0.0019807209824376074,
        "loc_per_token": 0.07447510893965403,
        "ccn_per_loc": 0.03546099290780142,
        "functions_per_loc": 0.026595744680851064,
        "tokens_per_loc": 13.427304964539006
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 64,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 23,
        "loc_per_function": 12.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 534,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.8,
        "ccn_per_token": 0.009363295880149813,
        "functions_per_token": 0.009363295880149813,
        "loc_per_token": 0.1198501872659176,
        "ccn_per_loc": 0.078125,
        "functions_per_loc": 0.078125,
        "tokens_per_loc": 8.34375
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 20,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.22,
        "tokens": 518,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.019305019305019305,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.1776061776061776,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.630434782608695
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 22,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.29,
        "tokens": 538,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 107.6,
        "ccn_per_token": 0.011152416356877323,
        "functions_per_token": 0.00929368029739777,
        "loc_per_token": 0.13940520446096655,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.173333333333333
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 192,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 31,
        "loc_per_function": 17.45,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1887,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 171.54545454545453,
        "ccn_per_token": 0.005829358770535241,
        "functions_per_token": 0.005829358770535241,
        "loc_per_token": 0.10174880763116058,
        "ccn_per_loc": 0.057291666666666664,
        "functions_per_loc": 0.057291666666666664,
        "tokens_per_loc": 9.828125
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 614,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 102.33333333333333,
        "ccn_per_token": 0.03745928338762215,
        "functions_per_token": 0.009771986970684038,
        "loc_per_token": 0.18241042345276873,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.482142857142857
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 124,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 27,
        "loc_per_function": 13.78,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1153,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 128.11111111111111,
        "ccn_per_token": 0.007805724197745013,
        "functions_per_token": 0.007805724197745013,
        "loc_per_token": 0.10754553339115351,
        "ccn_per_loc": 0.07258064516129033,
        "functions_per_loc": 0.07258064516129033,
        "tokens_per_loc": 9.298387096774194
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 48,
        "file_path": "src/ca/mcgill/cs/jetuml/UMLEditor.java",
        "comments": 32,
        "loc_per_function": 12,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.67,
        "tokens": 371,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.75,
        "ccn_per_token": 0.01078167115902965,
        "functions_per_token": 0.01078167115902965,
        "loc_per_token": 0.1293800539083558,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.729166666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 59,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 43,
        "loc_per_function": 8.43,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.73,
        "tokens": 269,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 38.42857142857143,
        "ccn_per_token": 0.048327137546468404,
        "functions_per_token": 0.026022304832713755,
        "loc_per_token": 0.21933085501858737,
        "ccn_per_loc": 0.22033898305084745,
        "functions_per_loc": 0.11864406779661017,
        "tokens_per_loc": 4.559322033898305
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Util.java",
        "comments": 28,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 2,
        "comments_per_loc": 1.47,
        "tokens": 72,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.2638888888888889,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 3.789473684210526
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 51,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 1.31,
        "tokens": 300,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.0,
        "ccn_per_token": 0.02,
        "functions_per_token": 0.02,
        "loc_per_token": 0.13,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 7.6923076923076925
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 56,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.16,
        "num_funs": 12,
        "comments_per_loc": 0.64,
        "tokens": 385,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 32.083333333333336,
        "ccn_per_token": 0.046753246753246755,
        "functions_per_token": 0.03116883116883117,
        "loc_per_token": 0.22597402597402597,
        "ccn_per_loc": 0.20689655172413793,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.425287356321839
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 12,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectCollaborationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 1,
        "comments_per_loc": 2.17,
        "tokens": 92,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.13043478260869565,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.666666666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 223,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentedEdgeViewer.java",
        "comments": 56,
        "loc_per_function": 20.27,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 2018,
        "ccn": 25,
        "ccn_per_function": 2.272727272727273,
        "tokens_per_function": 183.45454545454547,
        "ccn_per_token": 0.012388503468780971,
        "functions_per_token": 0.005450941526263627,
        "loc_per_token": 0.11050545094152626,
        "ccn_per_loc": 0.11210762331838565,
        "functions_per_loc": 0.04932735426008968,
        "tokens_per_loc": 9.04932735426009
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseDependencyEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.93,
        "tokens": 265,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.33333333333333,
        "ccn_per_token": 0.011320754716981131,
        "functions_per_token": 0.011320754716981131,
        "loc_per_token": 0.10943396226415095,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 9.137931034482758
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewerRegistry.java",
        "comments": 68,
        "loc_per_function": 9.25,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.92,
        "tokens": 728,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.012362637362637362,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.10164835164835165,
        "ccn_per_loc": 0.12162162162162163,
        "functions_per_loc": 0.10810810810810811,
        "tokens_per_loc": 9.837837837837839
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseGeneralizationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/NoteEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ReturnEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 18.33,
        "blanks_per_loc": 0.09,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 579,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 193.0,
        "ccn_per_token": 0.008635578583765112,
        "functions_per_token": 0.0051813471502590676,
        "loc_per_token": 0.09499136442141623,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.05454545454545454,
        "tokens_per_loc": 10.527272727272727
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StraightEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 456,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.010964912280701754,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.11842105263157894,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 8.444444444444445
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/LabeledStraightEdgeViewer.java",
        "comments": 30,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 423,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 105.75,
        "ccn_per_token": 0.016548463356973995,
        "functions_per_token": 0.009456264775413711,
        "loc_per_token": 0.12056737588652482,
        "ccn_per_loc": 0.13725490196078433,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 8.294117647058824
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 167,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/CallEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 18.56,
        "blanks_per_loc": 0.1,
        "num_funs": 9,
        "comments_per_loc": 0.16,
        "tokens": 1511,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 167.88888888888889,
        "ccn_per_token": 0.011912640635340834,
        "functions_per_token": 0.005956320317670417,
        "loc_per_token": 0.11052283256121774,
        "ccn_per_loc": 0.10778443113772455,
        "functions_per_loc": 0.05389221556886228,
        "tokens_per_loc": 9.047904191616766
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/GeneralizationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 192,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.13541666666666666,
        "ccn_per_loc": 0.11538461538461539,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.384615384615385
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AssociationEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.1,
        "num_funs": 3,
        "comments_per_loc": 0.8,
        "tokens": 253,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 84.33333333333333,
        "ccn_per_token": 0.02766798418972332,
        "functions_per_token": 0.011857707509881422,
        "loc_per_token": 0.15810276679841898,
        "ccn_per_loc": 0.175,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.325
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 561,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyleFactory.java",
        "comments": 96,
        "loc_per_function": 17,
        "blanks_per_loc": 0.1,
        "num_funs": 33,
        "comments_per_loc": 0.17,
        "tokens": 3773,
        "ccn": 119,
        "ccn_per_function": 3.606060606060606,
        "tokens_per_function": 114.33333333333333,
        "ccn_per_token": 0.03153988868274583,
        "functions_per_token": 0.008746355685131196,
        "loc_per_token": 0.14868804664723032,
        "ccn_per_loc": 0.21212121212121213,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.7254901960784315
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AbstractEdgeViewer.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.56,
        "tokens": 664,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 110.66666666666667,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.009036144578313253,
        "loc_per_token": 0.11746987951807229,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.512820512820513
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 114,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectReferenceEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 16.29,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 1045,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 149.28571428571428,
        "ccn_per_token": 0.009569377990430622,
        "functions_per_token": 0.0066985645933014355,
        "loc_per_token": 0.10909090909090909,
        "ccn_per_loc": 0.08771929824561403,
        "functions_per_loc": 0.06140350877192982,
        "tokens_per_loc": 9.166666666666666
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyle.java",
        "comments": 50,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 223,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.053811659192825115,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.21973094170403587,
        "ccn_per_loc": 0.24489795918367346,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 4.551020408163265
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 362,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StateTransitionEdgeViewer.java",
        "comments": 62,
        "loc_per_function": 17.24,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.17,
        "tokens": 2916,
        "ccn": 48,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 138.85714285714286,
        "ccn_per_token": 0.01646090534979424,
        "functions_per_token": 0.00720164609053498,
        "loc_per_token": 0.12414266117969822,
        "ccn_per_loc": 0.13259668508287292,
        "functions_per_loc": 0.058011049723756904,
        "tokens_per_loc": 8.05524861878453
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/DependencyEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 1,
        "comments_per_loc": 1.73,
        "tokens": 134,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 134.0,
        "ccn_per_token": 0.007462686567164179,
        "functions_per_token": 0.007462686567164179,
        "loc_per_token": 0.11194029850746269,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 8.933333333333334
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseAssociationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewer.java",
        "comments": 63,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 3.94,
        "tokens": 139,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 139,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11510791366906475,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.6875
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AggregationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 2,
        "comments_per_loc": 1.07,
        "tokens": 192,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NoteNodeViewer.java",
        "comments": 27,
        "loc_per_function": 15,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 638,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.5,
        "ccn_per_token": 0.006269592476489028,
        "functions_per_token": 0.006269592476489028,
        "loc_per_token": 0.09404388714733543,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 10.633333333333333
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ImplicitParameterNodeViewer.java",
        "comments": 39,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.11,
        "num_funs": 9,
        "comments_per_loc": 0.32,
        "tokens": 1046,
        "ccn": 18,
        "ccn_per_function": 2.0,
        "tokens_per_function": 116.22222222222223,
        "ccn_per_token": 0.017208413001912046,
        "functions_per_token": 0.008604206500956023,
        "loc_per_token": 0.11663479923518165,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.07377049180327869,
        "tokens_per_loc": 8.573770491803279
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 127,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageNodeViewer.java",
        "comments": 37,
        "loc_per_function": 14.11,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.29,
        "tokens": 1116,
        "ccn": 17,
        "ccn_per_function": 1.8888888888888888,
        "tokens_per_function": 124.0,
        "ccn_per_token": 0.015232974910394265,
        "functions_per_token": 0.008064516129032258,
        "loc_per_token": 0.11379928315412187,
        "ccn_per_loc": 0.13385826771653545,
        "functions_per_loc": 0.07086614173228346,
        "tokens_per_loc": 8.78740157480315
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ObjectNodeViewer.java",
        "comments": 32,
        "loc_per_function": 17.4,
        "blanks_per_loc": 0.08,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 790,
        "ccn": 11,
        "ccn_per_function": 2.2,
        "tokens_per_function": 158.0,
        "ccn_per_token": 0.013924050632911392,
        "functions_per_token": 0.006329113924050633,
        "loc_per_token": 0.11012658227848102,
        "ccn_per_loc": 0.12643678160919541,
        "functions_per_loc": 0.05747126436781609,
        "tokens_per_loc": 9.080459770114942
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 79,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractNodeViewer.java",
        "comments": 35,
        "loc_per_function": 19.75,
        "blanks_per_loc": 0.09,
        "num_funs": 4,
        "comments_per_loc": 0.44,
        "tokens": 598,
        "ccn": 10,
        "ccn_per_function": 2.5,
        "tokens_per_function": 149.5,
        "ccn_per_token": 0.016722408026755852,
        "functions_per_token": 0.006688963210702341,
        "loc_per_token": 0.13210702341137123,
        "ccn_per_loc": 0.12658227848101267,
        "functions_per_loc": 0.05063291139240506,
        "tokens_per_loc": 7.569620253164557
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/UseCaseNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 314,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.0,
        "ccn_per_token": 0.006369426751592357,
        "functions_per_token": 0.006369426751592357,
        "loc_per_token": 0.08917197452229299,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 11.214285714285714
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 95,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/TypeNodeViewer.java",
        "comments": 27,
        "loc_per_function": 15.83,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.28,
        "tokens": 878,
        "ccn": 12,
        "ccn_per_function": 2.0,
        "tokens_per_function": 146.33333333333334,
        "ccn_per_token": 0.01366742596810934,
        "functions_per_token": 0.00683371298405467,
        "loc_per_token": 0.1082004555808656,
        "ccn_per_loc": 0.12631578947368421,
        "functions_per_loc": 0.06315789473684211,
        "tokens_per_loc": 9.242105263157894
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewer.java",
        "comments": 66,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 4.12,
        "tokens": 142,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 142,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11267605633802817,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.875
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CircularStateNodeViewer.java",
        "comments": 26,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 502,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 125.5,
        "ccn_per_token": 0.017928286852589643,
        "functions_per_token": 0.00796812749003984,
        "loc_per_token": 0.11553784860557768,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.655172413793103
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/StateNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 279,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 139.5,
        "ccn_per_token": 0.007168458781362007,
        "functions_per_token": 0.007168458781362007,
        "loc_per_token": 0.1003584229390681,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 9.964285714285714
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 168,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CallNodeViewer.java",
        "comments": 37,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.07,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1150,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 127.77777777777777,
        "ccn_per_token": 0.022608695652173914,
        "functions_per_token": 0.00782608695652174,
        "loc_per_token": 0.14608695652173914,
        "ccn_per_loc": 0.15476190476190477,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 6.845238095238095
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewerRegistry.java",
        "comments": 69,
        "loc_per_function": 9.25,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.93,
        "tokens": 735,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 91.875,
        "ccn_per_token": 0.012244897959183673,
        "functions_per_token": 0.010884353741496598,
        "loc_per_token": 0.10068027210884353,
        "ccn_per_loc": 0.12162162162162163,
        "functions_per_loc": 0.10810810810810811,
        "tokens_per_loc": 9.932432432432432
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/FieldNodeViewer.java",
        "comments": 38,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.09,
        "num_funs": 8,
        "comments_per_loc": 0.36,
        "tokens": 1009,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 126.125,
        "ccn_per_token": 0.010901883052527254,
        "functions_per_token": 0.007928642220019821,
        "loc_per_token": 0.10505450941526263,
        "ccn_per_loc": 0.10377358490566038,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 9.518867924528301
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ActorNodeViewer.java",
        "comments": 23,
        "loc_per_function": 22,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.35,
        "tokens": 729,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 243.0,
        "ccn_per_token": 0.00411522633744856,
        "functions_per_token": 0.00411522633744856,
        "loc_per_token": 0.09053497942386832,
        "ccn_per_loc": 0.045454545454545456,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 11.045454545454545
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PointNodeViewer.java",
        "comments": 24,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.83,
        "tokens": 193,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.25,
        "ccn_per_token": 0.02072538860103627,
        "functions_per_token": 0.02072538860103627,
        "loc_per_token": 0.15025906735751296,
        "ccn_per_loc": 0.13793103448275862,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 6.655172413793103
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramViewer.java",
        "comments": 32,
        "loc_per_function": 27.5,
        "blanks_per_loc": 0.07,
        "num_funs": 2,
        "comments_per_loc": 0.58,
        "tokens": 321,
        "ccn": 12,
        "ccn_per_function": 6.0,
        "tokens_per_function": 160.5,
        "ccn_per_token": 0.037383177570093455,
        "functions_per_token": 0.006230529595015576,
        "loc_per_token": 0.17133956386292834,
        "ccn_per_loc": 0.21818181818181817,
        "functions_per_loc": 0.03636363636363636,
        "tokens_per_loc": 5.836363636363636
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramViewer.java",
        "comments": 75,
        "loc_per_function": 16.71,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.64,
        "tokens": 694,
        "ccn": 26,
        "ccn_per_function": 3.7142857142857144,
        "tokens_per_function": 99.14285714285714,
        "ccn_per_token": 0.037463976945244955,
        "functions_per_token": 0.010086455331412104,
        "loc_per_token": 0.1685878962536023,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.05982905982905983,
        "tokens_per_loc": 5.931623931623932
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 50,
        "loc_per_function": 23,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 760,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.021052631578947368,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1513157894736842,
        "ccn_per_loc": 0.1391304347826087,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 6.608695652173913
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 0.94,
        "tokens": 283,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 141.5,
        "ccn_per_token": 0.007067137809187279,
        "functions_per_token": 0.007067137809187279,
        "loc_per_token": 0.11307420494699646,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.84375
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 56,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 575,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 95.83333333333333,
        "ccn_per_token": 0.017391304347826087,
        "functions_per_token": 0.010434782608695653,
        "loc_per_token": 0.13217391304347825,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.565789473684211
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewerUtilities.java",
        "comments": 46,
        "loc_per_function": 13,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.88,
        "tokens": 291,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 72.75,
        "ccn_per_token": 0.027491408934707903,
        "functions_per_token": 0.013745704467353952,
        "loc_per_token": 0.17869415807560138,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.596153846153846
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 28,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 2,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 741,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 247.0,
        "ccn_per_token": 0.014844804318488529,
        "functions_per_token": 0.004048582995951417,
        "loc_per_token": 0.09986504723346828,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 10.013513513513514
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 198,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 138,
        "loc_per_function": 8.25,
        "blanks_per_loc": 0.14,
        "num_funs": 24,
        "comments_per_loc": 0.7,
        "tokens": 1040,
        "ccn": 50,
        "ccn_per_function": 2.0833333333333335,
        "tokens_per_function": 43.333333333333336,
        "ccn_per_token": 0.04807692307692308,
        "functions_per_token": 0.023076923076923078,
        "loc_per_token": 0.19038461538461537,
        "ccn_per_loc": 0.25252525252525254,
        "functions_per_loc": 0.12121212121212122,
        "tokens_per_loc": 5.252525252525253
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 31,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.43,
        "tokens": 39,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 39,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1794871794871795,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.571428571428571
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 145,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 67,
        "loc_per_function": 16.11,
        "blanks_per_loc": 0.12,
        "num_funs": 9,
        "comments_per_loc": 0.46,
        "tokens": 1175,
        "ccn": 11,
        "ccn_per_function": 1.2222222222222223,
        "tokens_per_function": 130.55555555555554,
        "ccn_per_token": 0.009361702127659575,
        "functions_per_token": 0.007659574468085106,
        "loc_per_token": 0.12340425531914893,
        "ccn_per_loc": 0.07586206896551724,
        "functions_per_loc": 0.06206896551724138,
        "tokens_per_loc": 8.10344827586207
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 133,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 96,
        "loc_per_function": 10.23,
        "blanks_per_loc": 0.13,
        "num_funs": 13,
        "comments_per_loc": 0.72,
        "tokens": 825,
        "ccn": 34,
        "ccn_per_function": 2.6153846153846154,
        "tokens_per_function": 63.46153846153846,
        "ccn_per_token": 0.041212121212121214,
        "functions_per_token": 0.01575757575757576,
        "loc_per_token": 0.16121212121212122,
        "ccn_per_loc": 0.2556390977443609,
        "functions_per_loc": 0.09774436090225563,
        "tokens_per_loc": 6.203007518796992
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 134,
        "loc_per_function": 25,
        "blanks_per_loc": 0.84,
        "num_funs": 0,
        "comments_per_loc": 5.36,
        "tokens": 163,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 163,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15337423312883436,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.52
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.78,
        "num_funs": 0,
        "comments_per_loc": 4.89,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 23,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 23,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21739130434782608,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.6
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.32,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 107,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.666666666666664,
        "ccn_per_token": 0.028037383177570093,
        "functions_per_token": 0.028037383177570093,
        "loc_per_token": 0.205607476635514,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.863636363636363
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 26,
        "loc_per_function": 3,
        "blanks_per_loc": 1.33,
        "num_funs": 0,
        "comments_per_loc": 8.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 27,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 9,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 40,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.3,
        "num_funs": 5,
        "comments_per_loc": 1.48,
        "tokens": 141,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 28.2,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03546099290780142,
        "loc_per_token": 0.19148936170212766,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 5.222222222222222
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 27,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 9,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 23,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 238,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 39.666666666666664,
        "ccn_per_token": 0.037815126050420166,
        "functions_per_token": 0.025210084033613446,
        "loc_per_token": 0.21008403361344538,
        "ccn_per_loc": 0.18,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.76
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.33,
        "num_funs": 5,
        "comments_per_loc": 1.63,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 26,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 8.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ConstructorEdge.java",
        "comments": 23,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 1,
        "comments_per_loc": 2.56,
        "tokens": 38,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 38.0,
        "ccn_per_token": 0.02631578947368421,
        "functions_per_token": 0.02631578947368421,
        "loc_per_token": 0.23684210526315788,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.222222222222222
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.33,
        "num_funs": 5,
        "comments_per_loc": 1.67,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 40,
        "loc_per_function": 5,
        "blanks_per_loc": 0.37,
        "num_funs": 6,
        "comments_per_loc": 1.33,
        "tokens": 146,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.333333333333332,
        "ccn_per_token": 0.0410958904109589,
        "functions_per_token": 0.0410958904109589,
        "loc_per_token": 0.2054794520547945,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 4.866666666666666
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 1.5,
        "tokens": 106,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.22641509433962265,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.416666666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 119,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 40,
        "loc_per_function": 7,
        "blanks_per_loc": 0.18,
        "num_funs": 17,
        "comments_per_loc": 0.34,
        "tokens": 589,
        "ccn": 21,
        "ccn_per_function": 1.2352941176470589,
        "tokens_per_function": 34.64705882352941,
        "ccn_per_token": 0.035653650254668934,
        "functions_per_token": 0.028862478777589132,
        "loc_per_token": 0.20203735144312393,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.949579831932773
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 25,
        "loc_per_function": 6.1,
        "blanks_per_loc": 0.2,
        "num_funs": 20,
        "comments_per_loc": 0.2,
        "tokens": 569,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.45,
        "ccn_per_token": 0.0351493848857645,
        "functions_per_token": 0.0351493848857645,
        "loc_per_token": 0.21441124780316345,
        "ccn_per_loc": 0.16393442622950818,
        "functions_per_loc": 0.16393442622950818,
        "tokens_per_loc": 4.663934426229508
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 3.25,
        "tokens": 31,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 31.0,
        "ccn_per_token": 0.03225806451612903,
        "functions_per_token": 0.03225806451612903,
        "loc_per_token": 0.25806451612903225,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.875
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 29,
        "loc_per_function": 9.17,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.53,
        "tokens": 278,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.02877697841726619,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.19784172661870503,
        "ccn_per_loc": 0.14545454545454545,
        "functions_per_loc": 0.10909090909090909,
        "tokens_per_loc": 5.054545454545455
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 42,
        "loc_per_function": 6.22,
        "blanks_per_loc": 0.25,
        "num_funs": 9,
        "comments_per_loc": 0.75,
        "tokens": 250,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.77777777777778,
        "ccn_per_token": 0.036,
        "functions_per_token": 0.036,
        "loc_per_token": 0.224,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.16071428571428573,
        "tokens_per_loc": 4.464285714285714
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.26,
        "num_funs": 9,
        "comments_per_loc": 0.57,
        "tokens": 235,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.11111111111111,
        "ccn_per_token": 0.0425531914893617,
        "functions_per_token": 0.03829787234042553,
        "loc_per_token": 0.2297872340425532,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.351851851851852
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 1,
        "comments_per_loc": 2.89,
        "tokens": 40,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.025,
        "functions_per_token": 0.025,
        "loc_per_token": 0.225,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.444444444444445
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/TypeNode.java",
        "comments": 38,
        "loc_per_function": 6.11,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.69,
        "tokens": 236,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 26.22222222222222,
        "ccn_per_token": 0.0423728813559322,
        "functions_per_token": 0.038135593220338986,
        "loc_per_token": 0.2330508474576271,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.16363636363636364,
        "tokens_per_loc": 4.290909090909091
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 8.71,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 327,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 46.714285714285715,
        "ccn_per_token": 0.027522935779816515,
        "functions_per_token": 0.021406727828746176,
        "loc_per_token": 0.18654434250764526,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.11475409836065574,
        "tokens_per_loc": 5.360655737704918
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 219,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 109.5,
        "ccn_per_token": 0.0091324200913242,
        "functions_per_token": 0.0091324200913242,
        "loc_per_token": 0.1187214611872146,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.423076923076923
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 119,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 17,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.29,
        "tokens": 719,
        "ccn": 21,
        "ccn_per_function": 3.0,
        "tokens_per_function": 102.71428571428571,
        "ccn_per_token": 0.02920723226703755,
        "functions_per_token": 0.009735744089012517,
        "loc_per_token": 0.16550764951321278,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.042016806722689
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 337,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 154,
        "loc_per_function": 17.74,
        "blanks_per_loc": 0.1,
        "num_funs": 19,
        "comments_per_loc": 0.46,
        "tokens": 2388,
        "ccn": 62,
        "ccn_per_function": 3.263157894736842,
        "tokens_per_function": 125.6842105263158,
        "ccn_per_token": 0.025963149078726967,
        "functions_per_token": 0.007956448911222781,
        "loc_per_token": 0.14112227805695143,
        "ccn_per_loc": 0.18397626112759644,
        "functions_per_loc": 0.05637982195845697,
        "tokens_per_loc": 7.086053412462908
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 248,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 104,
        "loc_per_function": 16.53,
        "blanks_per_loc": 0.08,
        "num_funs": 15,
        "comments_per_loc": 0.42,
        "tokens": 1389,
        "ccn": 49,
        "ccn_per_function": 3.2666666666666666,
        "tokens_per_function": 92.6,
        "ccn_per_token": 0.035277177825773935,
        "functions_per_token": 0.01079913606911447,
        "loc_per_token": 0.1785457163426926,
        "ccn_per_loc": 0.1975806451612903,
        "functions_per_loc": 0.06048387096774194,
        "tokens_per_loc": 5.600806451612903
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 61,
        "loc_per_function": 8.11,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.84,
        "tokens": 356,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 39.55555555555556,
        "ccn_per_token": 0.033707865168539325,
        "functions_per_token": 0.025280898876404494,
        "loc_per_token": 0.2050561797752809,
        "ccn_per_loc": 0.1643835616438356,
        "functions_per_loc": 0.1232876712328767,
        "tokens_per_loc": 4.876712328767123
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 240,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 34,
        "loc_per_function": 18.46,
        "blanks_per_loc": 0.07,
        "num_funs": 13,
        "comments_per_loc": 0.14,
        "tokens": 1562,
        "ccn": 46,
        "ccn_per_function": 3.5384615384615383,
        "tokens_per_function": 120.15384615384616,
        "ccn_per_token": 0.029449423815621,
        "functions_per_token": 0.008322663252240717,
        "loc_per_token": 0.15364916773367476,
        "ccn_per_loc": 0.19166666666666668,
        "functions_per_loc": 0.05416666666666667,
        "tokens_per_loc": 6.508333333333334
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 195,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 97.5,
        "ccn_per_token": 0.010256410256410256,
        "functions_per_token": 0.010256410256410256,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.25,
        "tokens": 170,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 56.666666666666664,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.01764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 38,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.69,
        "tokens": 448,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.033482142857142856,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.12276785714285714,
        "ccn_per_loc": 0.2727272727272727,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.145454545454545
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 8.83,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 414,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.043478260869565216,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.1280193236714976,
        "ccn_per_loc": 0.33962264150943394,
        "functions_per_loc": 0.11320754716981132,
        "tokens_per_loc": 7.811320754716981
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 231,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11688311688311688,
        "ccn_per_loc": 0.25925925925925924,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 8.555555555555555
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 138,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 46.0,
        "ccn_per_token": 0.036231884057971016,
        "functions_per_token": 0.021739130434782608,
        "loc_per_token": 0.2028985507246377,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 4.928571428571429
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.75,
        "tokens": 385,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 192.5,
        "ccn_per_token": 0.02077922077922078,
        "functions_per_token": 0.005194805194805195,
        "loc_per_token": 0.13246753246753246,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.0392156862745098,
        "tokens_per_loc": 7.549019607843137
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 272,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 90.66666666666667,
        "ccn_per_token": 0.022058823529411766,
        "functions_per_token": 0.011029411764705883,
        "loc_per_token": 0.14705882352941177,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.8
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 192,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 86,
        "loc_per_function": 12,
        "blanks_per_loc": 0.1,
        "num_funs": 16,
        "comments_per_loc": 0.45,
        "tokens": 1029,
        "ccn": 45,
        "ccn_per_function": 2.8125,
        "tokens_per_function": 64.3125,
        "ccn_per_token": 0.043731778425655975,
        "functions_per_token": 0.015549076773566569,
        "loc_per_token": 0.18658892128279883,
        "ccn_per_loc": 0.234375,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 5.359375
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 43,
        "loc_per_function": 11.2,
        "blanks_per_loc": 0.23,
        "num_funs": 5,
        "comments_per_loc": 0.77,
        "tokens": 419,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 83.8,
        "ccn_per_token": 0.016706443914081145,
        "functions_per_token": 0.011933174224343675,
        "loc_per_token": 0.13365155131264916,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.08928571428571429,
        "tokens_per_loc": 7.482142857142857
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.24,
        "num_funs": 12,
        "comments_per_loc": 0.79,
        "tokens": 514,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 42.833333333333336,
        "ccn_per_token": 0.027237354085603113,
        "functions_per_token": 0.023346303501945526,
        "loc_per_token": 0.16926070038910507,
        "ccn_per_loc": 0.16091954022988506,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 5.908045977011494
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 102,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 81,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1552511415525114,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 6.4411764705882355
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 589,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.8,
        "ccn_per_token": 0.011884550084889643,
        "functions_per_token": 0.008488964346349746,
        "loc_per_token": 0.12224108658743633,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.180555555555555
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 49,
        "loc_per_function": 10.9,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.45,
        "tokens": 743,
        "ccn": 14,
        "ccn_per_function": 1.4,
        "tokens_per_function": 74.3,
        "ccn_per_token": 0.018842530282637954,
        "functions_per_token": 0.013458950201884253,
        "loc_per_token": 0.14670255720053835,
        "ccn_per_loc": 0.12844036697247707,
        "functions_per_loc": 0.09174311926605505,
        "tokens_per_loc": 6.81651376146789
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 609,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 152.25,
        "ccn_per_token": 0.008210180623973728,
        "functions_per_token": 0.006568144499178982,
        "loc_per_token": 0.12479474548440066,
        "ccn_per_loc": 0.06578947368421052,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.013157894736842
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 44,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.26,
        "tokens": 243,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.0205761316872428,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.1440329218106996,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 6.942857142857143
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 544,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 99,
        "loc_per_function": 16,
        "blanks_per_loc": 0.12,
        "num_funs": 34,
        "comments_per_loc": 0.18,
        "tokens": 3974,
        "ccn": 77,
        "ccn_per_function": 2.264705882352941,
        "tokens_per_function": 116.88235294117646,
        "ccn_per_token": 0.019375943633618522,
        "functions_per_token": 0.008555611474584801,
        "loc_per_token": 0.13688978359335682,
        "ccn_per_loc": 0.14154411764705882,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 7.305147058823529
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 428,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 94,
        "loc_per_function": 13.81,
        "blanks_per_loc": 0.1,
        "num_funs": 31,
        "comments_per_loc": 0.22,
        "tokens": 2726,
        "ccn": 82,
        "ccn_per_function": 2.6451612903225805,
        "tokens_per_function": 87.93548387096774,
        "ccn_per_token": 0.03008070432868672,
        "functions_per_token": 0.011371973587674248,
        "loc_per_token": 0.15700660308143802,
        "ccn_per_loc": 0.19158878504672897,
        "functions_per_loc": 0.07242990654205607,
        "tokens_per_loc": 6.369158878504673
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 176,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 70,
        "loc_per_function": 11.73,
        "blanks_per_loc": 0.11,
        "num_funs": 15,
        "comments_per_loc": 0.4,
        "tokens": 1385,
        "ccn": 23,
        "ccn_per_function": 1.5333333333333334,
        "tokens_per_function": 92.33333333333333,
        "ccn_per_token": 0.01660649819494585,
        "functions_per_token": 0.010830324909747292,
        "loc_per_token": 0.12707581227436823,
        "ccn_per_loc": 0.13068181818181818,
        "functions_per_loc": 0.08522727272727272,
        "tokens_per_loc": 7.869318181818182
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/KeyEventHandler.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1232,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.2,
        "ccn_per_token": 0.025162337662337664,
        "functions_per_token": 0.008116883116883116,
        "loc_per_token": 0.15746753246753248,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.350515463917525
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 224,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 135,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.14,
        "num_funs": 26,
        "comments_per_loc": 0.6,
        "tokens": 1164,
        "ccn": 42,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 44.76923076923077,
        "ccn_per_token": 0.03608247422680412,
        "functions_per_token": 0.022336769759450172,
        "loc_per_token": 0.19243986254295534,
        "ccn_per_loc": 0.1875,
        "functions_per_loc": 0.11607142857142858,
        "tokens_per_loc": 5.196428571428571
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.76,
        "tokens": 578,
        "ccn": 29,
        "ccn_per_function": 1.8125,
        "tokens_per_function": 36.125,
        "ccn_per_token": 0.050173010380622836,
        "functions_per_token": 0.02768166089965398,
        "loc_per_token": 0.20069204152249134,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.982758620689655
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 178,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 94,
        "loc_per_function": 8.09,
        "blanks_per_loc": 0.19,
        "num_funs": 22,
        "comments_per_loc": 0.53,
        "tokens": 1047,
        "ccn": 29,
        "ccn_per_function": 1.3181818181818181,
        "tokens_per_function": 47.59090909090909,
        "ccn_per_token": 0.027698185291308502,
        "functions_per_token": 0.021012416427889206,
        "loc_per_token": 0.17000955109837632,
        "ccn_per_loc": 0.16292134831460675,
        "functions_per_loc": 0.12359550561797752,
        "tokens_per_loc": 5.882022471910112
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 40,
        "loc_per_function": 13,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.13978494623655913,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.153846153846154
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 42,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.05,
        "tokens": 261,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 87.0,
        "ccn_per_token": 0.019157088122605363,
        "functions_per_token": 0.011494252873563218,
        "loc_per_token": 0.1532567049808429,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.525
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12,
        "blanks_per_loc": 0.14,
        "num_funs": 7,
        "comments_per_loc": 0.37,
        "tokens": 610,
        "ccn": 15,
        "ccn_per_function": 2.142857142857143,
        "tokens_per_function": 87.14285714285714,
        "ccn_per_token": 0.02459016393442623,
        "functions_per_token": 0.011475409836065573,
        "loc_per_token": 0.1377049180327869,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.261904761904762
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 4,
        "comments_per_loc": 1.05,
        "tokens": 194,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 48.5,
        "ccn_per_token": 0.041237113402061855,
        "functions_per_token": 0.020618556701030927,
        "loc_per_token": 0.20103092783505155,
        "ccn_per_loc": 0.20512820512820512,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 4.9743589743589745
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 106,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 17.67,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 721,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 120.16666666666667,
        "ccn_per_token": 0.024965325936199722,
        "functions_per_token": 0.008321775312066574,
        "loc_per_token": 0.14701803051317613,
        "ccn_per_loc": 0.16981132075471697,
        "functions_per_loc": 0.05660377358490566,
        "tokens_per_loc": 6.80188679245283
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.5,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 164,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.0,
        "ccn_per_token": 0.024390243902439025,
        "functions_per_token": 0.024390243902439025,
        "loc_per_token": 0.18292682926829268,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.13333333333333333,
        "tokens_per_loc": 5.466666666666667
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 47,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 1.38,
        "tokens": 148,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.0472972972972973,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.22972972972972974,
        "ccn_per_loc": 0.20588235294117646,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.352941176470588
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 213,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 134,
        "loc_per_function": 14.2,
        "blanks_per_loc": 0.15,
        "num_funs": 15,
        "comments_per_loc": 0.63,
        "tokens": 1150,
        "ccn": 65,
        "ccn_per_function": 4.333333333333333,
        "tokens_per_function": 76.66666666666667,
        "ccn_per_token": 0.05652173913043478,
        "functions_per_token": 0.013043478260869565,
        "loc_per_token": 0.18521739130434783,
        "ccn_per_loc": 0.3051643192488263,
        "functions_per_loc": 0.07042253521126761,
        "tokens_per_loc": 5.39906103286385
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 17,
        "file_path": "src/org/json/JSONException.java",
        "comments": 19,
        "loc_per_function": 5.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 67,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 22.333333333333332,
        "ccn_per_token": 0.04477611940298507,
        "functions_per_token": 0.04477611940298507,
        "loc_per_token": 0.2537313432835821,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.17647058823529413,
        "tokens_per_loc": 3.9411764705882355
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 533,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 451,
        "loc_per_function": 14.81,
        "blanks_per_loc": 0.12,
        "num_funs": 36,
        "comments_per_loc": 0.85,
        "tokens": 3523,
        "ccn": 195,
        "ccn_per_function": 5.416666666666667,
        "tokens_per_function": 97.86111111111111,
        "ccn_per_token": 0.055350553505535055,
        "functions_per_token": 0.01021856372409878,
        "loc_per_token": 0.15129151291512916,
        "ccn_per_loc": 0.36585365853658536,
        "functions_per_loc": 0.0675422138836773,
        "tokens_per_loc": 6.609756097560975
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 179,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 11.93,
        "blanks_per_loc": 0.17,
        "num_funs": 15,
        "comments_per_loc": 1.11,
        "tokens": 1134,
        "ccn": 59,
        "ccn_per_function": 3.933333333333333,
        "tokens_per_function": 75.6,
        "ccn_per_token": 0.05202821869488536,
        "functions_per_token": 0.013227513227513227,
        "loc_per_token": 0.15784832451499117,
        "ccn_per_loc": 0.329608938547486,
        "functions_per_loc": 0.08379888268156424,
        "tokens_per_loc": 6.335195530726257
    },
    {
        "date": "2020-04-16 Rel 2.6",
        "loc": 203,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 228,
        "loc_per_function": 11.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 1.12,
        "tokens": 1246,
        "ccn": 53,
        "ccn_per_function": 3.1176470588235294,
        "tokens_per_function": 73.29411764705883,
        "ccn_per_token": 0.04253611556982344,
        "functions_per_token": 0.013643659711075442,
        "loc_per_token": 0.16292134831460675,
        "ccn_per_loc": 0.26108374384236455,
        "functions_per_loc": 0.08374384236453201,
        "tokens_per_loc": 6.137931034482759
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 9,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 24,
        "loc_per_function": 4.5,
        "blanks_per_loc": 0.44,
        "num_funs": 2,
        "comments_per_loc": 2.67,
        "tokens": 53,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.16981132075471697,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.2222222222222222,
        "tokens_per_loc": 5.888888888888889
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestDimension.java",
        "comments": 21,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.45,
        "tokens": 387,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.4,
        "ccn_per_token": 0.012919896640826873,
        "functions_per_token": 0.012919896640826873,
        "loc_per_token": 0.12144702842377261,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 8.23404255319149
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 365,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 73.0,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0136986301369863,
        "loc_per_token": 0.13424657534246576,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.448979591836735
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 466,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.2,
        "ccn_per_token": 0.01072961373390558,
        "functions_per_token": 0.01072961373390558,
        "loc_per_token": 0.11802575107296137,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.472727272727273
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestUtil.java",
        "comments": 20,
        "loc_per_function": 6,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 234,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 33.42857142857143,
        "ccn_per_token": 0.029914529914529916,
        "functions_per_token": 0.029914529914529916,
        "loc_per_token": 0.1794871794871795,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.571428571428571
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 737,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.88888888888889,
        "ccn_per_token": 0.012211668928086838,
        "functions_per_token": 0.012211668928086838,
        "loc_per_token": 0.11533242876526459,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.670588235294117
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 484,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 21.04,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.09,
        "tokens": 4925,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 214.1304347826087,
        "ccn_per_token": 0.0046700507614213195,
        "functions_per_token": 0.0046700507614213195,
        "loc_per_token": 0.09827411167512691,
        "ccn_per_loc": 0.047520661157024795,
        "functions_per_loc": 0.047520661157024795,
        "tokens_per_loc": 10.175619834710744
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestDependencyEdgeViewer.java",
        "comments": 20,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 288,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.010416666666666666,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.1423611111111111,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 7.024390243902439
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 71,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/edges/TestNoteEdgeViewer.java",
        "comments": 25,
        "loc_per_function": 17.75,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.35,
        "tokens": 615,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 153.75,
        "ccn_per_token": 0.0065040650406504065,
        "functions_per_token": 0.0065040650406504065,
        "loc_per_token": 0.11544715447154472,
        "ccn_per_loc": 0.056338028169014086,
        "functions_per_loc": 0.056338028169014086,
        "tokens_per_loc": 8.661971830985916
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 118,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestFieldNodeViewer.java",
        "comments": 35,
        "loc_per_function": 9.08,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.3,
        "tokens": 805,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.92307692307692,
        "ccn_per_token": 0.016149068322981366,
        "functions_per_token": 0.016149068322981366,
        "loc_per_token": 0.14658385093167703,
        "ccn_per_loc": 0.11016949152542373,
        "functions_per_loc": 0.11016949152542373,
        "tokens_per_loc": 6.822033898305085
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 33,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCircularNodeViewer.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 0.61,
        "tokens": 241,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.33333333333333,
        "ccn_per_token": 0.012448132780082987,
        "functions_per_token": 0.012448132780082987,
        "loc_per_token": 0.13692946058091288,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.303030303030303
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 125,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestTypeNodeViewer.java",
        "comments": 17,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 0.14,
        "tokens": 814,
        "ccn": 16,
        "ccn_per_function": 1.0666666666666667,
        "tokens_per_function": 54.266666666666666,
        "ccn_per_token": 0.019656019656019656,
        "functions_per_token": 0.018427518427518427,
        "loc_per_token": 0.15356265356265356,
        "ccn_per_loc": 0.128,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 6.512
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestUseCaseNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestObjectNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.25,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.18,
        "tokens": 789,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.75,
        "ccn_per_token": 0.015209125475285171,
        "functions_per_token": 0.015209125475285171,
        "loc_per_token": 0.14068441064638784,
        "ccn_per_loc": 0.10810810810810811,
        "functions_per_loc": 0.10810810810810811,
        "tokens_per_loc": 7.108108108108108
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 60,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestCallNodeViewer.java",
        "comments": 20,
        "loc_per_function": 20,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.33,
        "tokens": 451,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 150.33333333333334,
        "ccn_per_token": 0.0066518847006651885,
        "functions_per_token": 0.0066518847006651885,
        "loc_per_token": 0.13303769401330376,
        "ccn_per_loc": 0.05,
        "functions_per_loc": 0.05,
        "tokens_per_loc": 7.516666666666667
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestPackageNodeViewer.java",
        "comments": 20,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.18,
        "tokens": 680,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 52.30769230769231,
        "ccn_per_token": 0.022058823529411766,
        "functions_per_token": 0.01911764705882353,
        "loc_per_token": 0.16470588235294117,
        "ccn_per_loc": 0.13392857142857142,
        "functions_per_loc": 0.11607142857142858,
        "tokens_per_loc": 6.071428571428571
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestActorNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 360,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.0,
        "ccn_per_token": 0.013888888888888888,
        "functions_per_token": 0.013888888888888888,
        "loc_per_token": 0.13055555555555556,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 7.659574468085107
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/viewers/nodes/TestStateNodeViewer.java",
        "comments": 20,
        "loc_per_function": 9.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 374,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.8,
        "ccn_per_token": 0.013368983957219251,
        "functions_per_token": 0.013368983957219251,
        "loc_per_token": 0.12834224598930483,
        "ccn_per_loc": 0.10416666666666667,
        "functions_per_loc": 0.10416666666666667,
        "tokens_per_loc": 7.791666666666667
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestGrid.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.24,
        "tokens": 1233,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 246.6,
        "ccn_per_token": 0.0040551500405515,
        "functions_per_token": 0.0040551500405515,
        "loc_per_token": 0.0689375506893755,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 14.505882352941176
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 133,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 24,
        "loc_per_function": 7.39,
        "blanks_per_loc": 0.17,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 787,
        "ccn": 23,
        "ccn_per_function": 1.2777777777777777,
        "tokens_per_function": 43.72222222222222,
        "ccn_per_token": 0.029224904701397714,
        "functions_per_token": 0.022871664548919948,
        "loc_per_token": 0.16899618805590852,
        "ccn_per_loc": 0.17293233082706766,
        "functions_per_loc": 0.13533834586466165,
        "tokens_per_loc": 5.917293233082707
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2696,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.5,
        "ccn_per_token": 0.005934718100890208,
        "functions_per_token": 0.005934718100890208,
        "loc_per_token": 0.1064540059347181,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.393728222996515
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 283,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 24,
        "loc_per_function": 13.48,
        "blanks_per_loc": 0.11,
        "num_funs": 21,
        "comments_per_loc": 0.08,
        "tokens": 2086,
        "ccn": 23,
        "ccn_per_function": 1.0952380952380953,
        "tokens_per_function": 99.33333333333333,
        "ccn_per_token": 0.01102588686481304,
        "functions_per_token": 0.010067114093959731,
        "loc_per_token": 0.13566634707574304,
        "ccn_per_loc": 0.0812720848056537,
        "functions_per_loc": 0.07420494699646643,
        "tokens_per_loc": 7.371024734982332
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3507,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 219.1875,
        "ccn_per_token": 0.004562303963501569,
        "functions_per_token": 0.004562303963501569,
        "loc_per_token": 0.0932420872540633,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.724770642201834
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 186,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 21,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.11,
        "tokens": 1809,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 100.5,
        "ccn_per_token": 0.010503040353786623,
        "functions_per_token": 0.009950248756218905,
        "loc_per_token": 0.10281923714759536,
        "ccn_per_loc": 0.10215053763440861,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 9.725806451612904
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 162,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 32,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.2,
        "tokens": 1051,
        "ccn": 15,
        "ccn_per_function": 1.0,
        "tokens_per_function": 70.06666666666666,
        "ccn_per_token": 0.014272121788772598,
        "functions_per_token": 0.014272121788772598,
        "loc_per_token": 0.15413891531874405,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 6.487654320987654
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.21,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 159,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.0,
        "ccn_per_token": 0.006289308176100629,
        "functions_per_token": 0.006289308176100629,
        "loc_per_token": 0.11949685534591195,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.368421052631579
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 490,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.9,
        "blanks_per_loc": 0.19,
        "num_funs": 29,
        "comments_per_loc": 0.06,
        "tokens": 4568,
        "ccn": 31,
        "ccn_per_function": 1.0689655172413792,
        "tokens_per_function": 157.51724137931035,
        "ccn_per_token": 0.006786339754816112,
        "functions_per_token": 0.006348511383537653,
        "loc_per_token": 0.10726795096322242,
        "ccn_per_loc": 0.06326530612244897,
        "functions_per_loc": 0.05918367346938776,
        "tokens_per_loc": 9.322448979591837
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 316,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.31,
        "blanks_per_loc": 0.2,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3056,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 235.07692307692307,
        "ccn_per_token": 0.004908376963350785,
        "functions_per_token": 0.004253926701570681,
        "loc_per_token": 0.10340314136125654,
        "ccn_per_loc": 0.04746835443037975,
        "functions_per_loc": 0.04113924050632911,
        "tokens_per_loc": 9.670886075949367
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 333,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 19.59,
        "blanks_per_loc": 0.23,
        "num_funs": 17,
        "comments_per_loc": 0.08,
        "tokens": 2875,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 169.11764705882354,
        "ccn_per_token": 0.00591304347826087,
        "functions_per_token": 0.00591304347826087,
        "loc_per_token": 0.11582608695652175,
        "ccn_per_loc": 0.05105105105105105,
        "functions_per_loc": 0.05105105105105105,
        "tokens_per_loc": 8.633633633633634
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 20,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.44,
        "tokens": 466,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 116.5,
        "ccn_per_token": 0.008583690987124463,
        "functions_per_token": 0.008583690987124463,
        "loc_per_token": 0.09656652360515021,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 10.355555555555556
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 24,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.59,
        "tokens": 294,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 98.0,
        "ccn_per_token": 0.01020408163265306,
        "functions_per_token": 0.01020408163265306,
        "loc_per_token": 0.13945578231292516,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 7.170731707317073
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 0.65,
        "tokens": 292,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.0,
        "ccn_per_token": 0.00684931506849315,
        "functions_per_token": 0.00684931506849315,
        "loc_per_token": 0.10616438356164383,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 9.419354838709678
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 1.18,
        "tokens": 167,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 167.0,
        "ccn_per_token": 0.005988023952095809,
        "functions_per_token": 0.005988023952095809,
        "loc_per_token": 0.10179640718562874,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 9.823529411764707
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 46,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestEdgeProperties.java",
        "comments": 23,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 0.5,
        "tokens": 514,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 171.33333333333334,
        "ccn_per_token": 0.005836575875486381,
        "functions_per_token": 0.005836575875486381,
        "loc_per_token": 0.08949416342412451,
        "ccn_per_loc": 0.06521739130434782,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 11.173913043478262
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 20,
        "loc_per_function": 14,
        "blanks_per_loc": 0.29,
        "num_funs": 2,
        "comments_per_loc": 0.71,
        "tokens": 225,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 112.5,
        "ccn_per_token": 0.008888888888888889,
        "functions_per_token": 0.008888888888888889,
        "loc_per_token": 0.12444444444444444,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 8.035714285714286
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 20,
        "loc_per_function": 10.25,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 251,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 62.75,
        "ccn_per_token": 0.01593625498007968,
        "functions_per_token": 0.01593625498007968,
        "loc_per_token": 0.16334661354581673,
        "ccn_per_loc": 0.0975609756097561,
        "functions_per_loc": 0.0975609756097561,
        "tokens_per_loc": 6.121951219512195
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 133,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 16.62,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1295,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 161.875,
        "ccn_per_token": 0.006177606177606178,
        "functions_per_token": 0.006177606177606178,
        "loc_per_token": 0.10270270270270271,
        "ccn_per_loc": 0.06015037593984962,
        "functions_per_loc": 0.06015037593984962,
        "tokens_per_loc": 9.736842105263158
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 110,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 22,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.19,
        "tokens": 1015,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 203.0,
        "ccn_per_token": 0.0049261083743842365,
        "functions_per_token": 0.0049261083743842365,
        "loc_per_token": 0.10837438423645321,
        "ccn_per_loc": 0.045454545454545456,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 9.227272727272727
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 14,
        "blanks_per_loc": 0.29,
        "num_funs": 2,
        "comments_per_loc": 0.71,
        "tokens": 225,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 112.5,
        "ccn_per_token": 0.008888888888888889,
        "functions_per_token": 0.008888888888888889,
        "loc_per_token": 0.12444444444444444,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 8.035714285714286
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.43,
        "tokens": 393,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 131.0,
        "ccn_per_token": 0.007633587786259542,
        "functions_per_token": 0.007633587786259542,
        "loc_per_token": 0.12468193384223919,
        "ccn_per_loc": 0.061224489795918366,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 8.020408163265307
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 63,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 10.5,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.37,
        "tokens": 414,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.014492753623188406,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.15217391304347827,
        "ccn_per_loc": 0.09523809523809523,
        "functions_per_loc": 0.09523809523809523,
        "tokens_per_loc": 6.571428571428571
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 135,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.0,
        "ccn_per_token": 0.007407407407407408,
        "functions_per_token": 0.007407407407407408,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 187,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 11.69,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.11,
        "tokens": 1853,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 115.8125,
        "ccn_per_token": 0.008634646519158122,
        "functions_per_token": 0.008634646519158122,
        "loc_per_token": 0.10091743119266056,
        "ccn_per_loc": 0.0855614973262032,
        "functions_per_loc": 0.0855614973262032,
        "tokens_per_loc": 9.909090909090908
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 12.64,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1546,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 140.54545454545453,
        "ccn_per_token": 0.0071151358344113845,
        "functions_per_token": 0.0071151358344113845,
        "loc_per_token": 0.08990944372574386,
        "ccn_per_loc": 0.07913669064748201,
        "functions_per_loc": 0.07913669064748201,
        "tokens_per_loc": 11.122302158273381
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 106,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1081,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.125,
        "ccn_per_token": 0.0074005550416281225,
        "functions_per_token": 0.0074005550416281225,
        "loc_per_token": 0.09805735430157261,
        "ccn_per_loc": 0.07547169811320754,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 10.19811320754717
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 217,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 33,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.15,
        "tokens": 1486,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.875,
        "ccn_per_token": 0.010767160161507403,
        "functions_per_token": 0.010767160161507403,
        "loc_per_token": 0.14602960969044415,
        "ccn_per_loc": 0.07373271889400922,
        "functions_per_loc": 0.07373271889400922,
        "tokens_per_loc": 6.847926267281106
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 168,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.12,
        "tokens": 1518,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.66666666666666,
        "ccn_per_token": 0.005928853754940711,
        "functions_per_token": 0.005928853754940711,
        "loc_per_token": 0.11067193675889328,
        "ccn_per_loc": 0.05357142857142857,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 9.035714285714286
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 352,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 28,
        "loc_per_function": 12.14,
        "blanks_per_loc": 0.12,
        "num_funs": 29,
        "comments_per_loc": 0.08,
        "tokens": 2844,
        "ccn": 32,
        "ccn_per_function": 1.103448275862069,
        "tokens_per_function": 98.06896551724138,
        "ccn_per_token": 0.011251758087201125,
        "functions_per_token": 0.010196905766526019,
        "loc_per_token": 0.12376933895921238,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.08238636363636363,
        "tokens_per_loc": 8.079545454545455
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 79,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 23,
        "loc_per_function": 15.8,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.29,
        "tokens": 556,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 111.2,
        "ccn_per_token": 0.01079136690647482,
        "functions_per_token": 0.008992805755395683,
        "loc_per_token": 0.1420863309352518,
        "ccn_per_loc": 0.0759493670886076,
        "functions_per_loc": 0.06329113924050633,
        "tokens_per_loc": 7.037974683544304
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 54,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 375,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 75.0,
        "ccn_per_token": 0.013333333333333334,
        "functions_per_token": 0.013333333333333334,
        "loc_per_token": 0.144,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 6.944444444444445
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 84,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 595,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.11111111111111,
        "ccn_per_token": 0.015126050420168067,
        "functions_per_token": 0.015126050420168067,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 163,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 7.76,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.12,
        "tokens": 998,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 47.523809523809526,
        "ccn_per_token": 0.021042084168336674,
        "functions_per_token": 0.021042084168336674,
        "loc_per_token": 0.16332665330661322,
        "ccn_per_loc": 0.12883435582822086,
        "functions_per_loc": 0.12883435582822086,
        "tokens_per_loc": 6.122699386503068
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 176,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.8,
        "blanks_per_loc": 0.14,
        "num_funs": 20,
        "comments_per_loc": 0.11,
        "tokens": 1218,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 60.9,
        "ccn_per_token": 0.016420361247947456,
        "functions_per_token": 0.016420361247947456,
        "loc_per_token": 0.1444991789819376,
        "ccn_per_loc": 0.11363636363636363,
        "functions_per_loc": 0.11363636363636363,
        "tokens_per_loc": 6.920454545454546
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 71,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.88,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 432,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.0,
        "ccn_per_token": 0.018518518518518517,
        "functions_per_token": 0.018518518518518517,
        "loc_per_token": 0.16435185185185186,
        "ccn_per_loc": 0.11267605633802817,
        "functions_per_loc": 0.11267605633802817,
        "tokens_per_loc": 6.084507042253521
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.36,
        "blanks_per_loc": 0.2,
        "num_funs": 11,
        "comments_per_loc": 0.22,
        "tokens": 558,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.72727272727273,
        "ccn_per_token": 0.01971326164874552,
        "functions_per_token": 0.01971326164874552,
        "loc_per_token": 0.16487455197132617,
        "ccn_per_loc": 0.11956521739130435,
        "functions_per_loc": 0.11956521739130435,
        "tokens_per_loc": 6.065217391304348
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 99,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.5,
        "ccn_per_token": 0.020202020202020204,
        "functions_per_token": 0.020202020202020204,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 745,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 93.125,
        "ccn_per_token": 0.013422818791946308,
        "functions_per_token": 0.010738255033557046,
        "loc_per_token": 0.14630872483221477,
        "ccn_per_loc": 0.09174311926605505,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 6.834862385321101
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 32,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 0.62,
        "tokens": 233,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.66666666666667,
        "ccn_per_token": 0.012875536480686695,
        "functions_per_token": 0.012875536480686695,
        "loc_per_token": 0.13733905579399142,
        "ccn_per_loc": 0.09375,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 7.28125
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 184,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.17,
        "num_funs": 14,
        "comments_per_loc": 0.11,
        "tokens": 1430,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 102.14285714285714,
        "ccn_per_token": 0.011188811188811189,
        "functions_per_token": 0.009790209790209791,
        "loc_per_token": 0.12867132867132866,
        "ccn_per_loc": 0.08695652173913043,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 7.771739130434782
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 24,
        "loc_per_function": 32.8,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.15,
        "tokens": 1551,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 310.2,
        "ccn_per_token": 0.0038684719535783366,
        "functions_per_token": 0.003223726627981947,
        "loc_per_token": 0.10573823339780787,
        "ccn_per_loc": 0.036585365853658534,
        "functions_per_loc": 0.03048780487804878,
        "tokens_per_loc": 9.457317073170731
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1506,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 301.2,
        "ccn_per_token": 0.0033200531208499337,
        "functions_per_token": 0.0033200531208499337,
        "loc_per_token": 0.09229747675962816,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.83453237410072
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 249,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.83,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2665,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.05555555555554,
        "ccn_per_token": 0.00675422138836773,
        "functions_per_token": 0.00675422138836773,
        "loc_per_token": 0.09343339587242026,
        "ccn_per_loc": 0.07228915662650602,
        "functions_per_loc": 0.07228915662650602,
        "tokens_per_loc": 10.70281124497992
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 21,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 619,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 77.375,
        "ccn_per_token": 0.01615508885298869,
        "functions_per_token": 0.012924071082390954,
        "loc_per_token": 0.1518578352180937,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.585106382978723
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 464,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 41,
        "loc_per_function": 12.21,
        "blanks_per_loc": 0.1,
        "num_funs": 38,
        "comments_per_loc": 0.09,
        "tokens": 3320,
        "ccn": 40,
        "ccn_per_function": 1.0526315789473684,
        "tokens_per_function": 87.36842105263158,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.01144578313253012,
        "loc_per_token": 0.13975903614457832,
        "ccn_per_loc": 0.08620689655172414,
        "functions_per_loc": 0.08189655172413793,
        "tokens_per_loc": 7.155172413793103
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestEditorFrame.java",
        "comments": 20,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 1.54,
        "tokens": 94,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 94.0,
        "ccn_per_token": 0.010638297872340425,
        "functions_per_token": 0.010638297872340425,
        "loc_per_token": 0.13829787234042554,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.230769230769231
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 74,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestDiagramTabToolBar.java",
        "comments": 28,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.38,
        "tokens": 441,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 73.5,
        "ccn_per_token": 0.018140589569160998,
        "functions_per_token": 0.013605442176870748,
        "loc_per_token": 0.16780045351473924,
        "ccn_per_loc": 0.10810810810810811,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 5.95945945945946
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 165,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/CollectionAssertions.java",
        "comments": 56,
        "loc_per_function": 12.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.34,
        "tokens": 1058,
        "ccn": 49,
        "ccn_per_function": 3.769230769230769,
        "tokens_per_function": 81.38461538461539,
        "ccn_per_token": 0.046313799621928164,
        "functions_per_token": 0.012287334593572778,
        "loc_per_token": 0.15595463137996218,
        "ccn_per_loc": 0.296969696969697,
        "functions_per_loc": 0.07878787878787878,
        "tokens_per_loc": 6.412121212121212
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 28,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 172,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 57.333333333333336,
        "ccn_per_token": 0.01744186046511628,
        "functions_per_token": 0.01744186046511628,
        "loc_per_token": 0.16279069767441862,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.142857142857143
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 564,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 37.6,
        "blanks_per_loc": 0.23,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7271,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 484.73333333333335,
        "ccn_per_token": 0.0027506532801540367,
        "functions_per_token": 0.0020629899601155273,
        "loc_per_token": 0.07756842250034383,
        "ccn_per_loc": 0.03546099290780142,
        "functions_per_loc": 0.026595744680851064,
        "tokens_per_loc": 12.891843971631205
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 63,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 23,
        "loc_per_function": 12.6,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 521,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 104.2,
        "ccn_per_token": 0.009596928982725527,
        "functions_per_token": 0.009596928982725527,
        "loc_per_token": 0.12092130518234165,
        "ccn_per_loc": 0.07936507936507936,
        "functions_per_loc": 0.07936507936507936,
        "tokens_per_loc": 8.26984126984127
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 91,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 20,
        "loc_per_function": 13,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.22,
        "tokens": 502,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 71.71428571428571,
        "ccn_per_token": 0.0199203187250996,
        "functions_per_token": 0.013944223107569721,
        "loc_per_token": 0.18127490039840638,
        "ccn_per_loc": 0.10989010989010989,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.516483516483516
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 74,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 22,
        "loc_per_function": 14.8,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.3,
        "tokens": 522,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 104.4,
        "ccn_per_token": 0.011494252873563218,
        "functions_per_token": 0.009578544061302681,
        "loc_per_token": 0.1417624521072797,
        "ccn_per_loc": 0.08108108108108109,
        "functions_per_loc": 0.06756756756756757,
        "tokens_per_loc": 7.054054054054054
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 191,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 31,
        "loc_per_function": 17.36,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1880,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 170.9090909090909,
        "ccn_per_token": 0.005851063829787234,
        "functions_per_token": 0.005851063829787234,
        "loc_per_token": 0.10159574468085106,
        "ccn_per_loc": 0.05759162303664921,
        "functions_per_loc": 0.05759162303664921,
        "tokens_per_loc": 9.842931937172775
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 614,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 102.33333333333333,
        "ccn_per_token": 0.03745928338762215,
        "functions_per_token": 0.009771986970684038,
        "loc_per_token": 0.18241042345276873,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.482142857142857
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 123,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 27,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1143,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 127.0,
        "ccn_per_token": 0.007874015748031496,
        "functions_per_token": 0.007874015748031496,
        "loc_per_token": 0.10761154855643044,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 9.292682926829269
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 48,
        "file_path": "src/ca/mcgill/cs/jetuml/UMLEditor.java",
        "comments": 32,
        "loc_per_function": 12,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.67,
        "tokens": 371,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.75,
        "ccn_per_token": 0.01078167115902965,
        "functions_per_token": 0.01078167115902965,
        "loc_per_token": 0.1293800539083558,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.729166666666667
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 59,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 43,
        "loc_per_function": 8.43,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.73,
        "tokens": 269,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 38.42857142857143,
        "ccn_per_token": 0.048327137546468404,
        "functions_per_token": 0.026022304832713755,
        "loc_per_token": 0.21933085501858737,
        "ccn_per_loc": 0.22033898305084745,
        "functions_per_loc": 0.11864406779661017,
        "tokens_per_loc": 4.559322033898305
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Util.java",
        "comments": 28,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 2,
        "comments_per_loc": 1.47,
        "tokens": 72,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.2638888888888889,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 3.789473684210526
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 51,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 1.31,
        "tokens": 300,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.0,
        "ccn_per_token": 0.02,
        "functions_per_token": 0.02,
        "loc_per_token": 0.13,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 7.6923076923076925
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 56,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.16,
        "num_funs": 12,
        "comments_per_loc": 0.64,
        "tokens": 385,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 32.083333333333336,
        "ccn_per_token": 0.046753246753246755,
        "functions_per_token": 0.03116883116883117,
        "loc_per_token": 0.22597402597402597,
        "ccn_per_loc": 0.20689655172413793,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.425287356321839
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 12,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectCollaborationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 1,
        "comments_per_loc": 2.17,
        "tokens": 92,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.13043478260869565,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.666666666666667
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 223,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentedEdgeViewer.java",
        "comments": 56,
        "loc_per_function": 20.27,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 2018,
        "ccn": 25,
        "ccn_per_function": 2.272727272727273,
        "tokens_per_function": 183.45454545454547,
        "ccn_per_token": 0.012388503468780971,
        "functions_per_token": 0.005450941526263627,
        "loc_per_token": 0.11050545094152626,
        "ccn_per_loc": 0.11210762331838565,
        "functions_per_loc": 0.04932735426008968,
        "tokens_per_loc": 9.04932735426009
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseDependencyEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.93,
        "tokens": 265,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.33333333333333,
        "ccn_per_token": 0.011320754716981131,
        "functions_per_token": 0.011320754716981131,
        "loc_per_token": 0.10943396226415095,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 9.137931034482758
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewerRegistry.java",
        "comments": 59,
        "loc_per_function": 9,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.82,
        "tokens": 699,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 87.375,
        "ccn_per_token": 0.012875536480686695,
        "functions_per_token": 0.011444921316165951,
        "loc_per_token": 0.10300429184549356,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 9.708333333333334
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseGeneralizationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/NoteEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ReturnEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 18.33,
        "blanks_per_loc": 0.09,
        "num_funs": 3,
        "comments_per_loc": 0.49,
        "tokens": 579,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 193.0,
        "ccn_per_token": 0.008635578583765112,
        "functions_per_token": 0.0051813471502590676,
        "loc_per_token": 0.09499136442141623,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.05454545454545454,
        "tokens_per_loc": 10.527272727272727
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StraightEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 456,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.010964912280701754,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.11842105263157894,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 8.444444444444445
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/LabeledStraightEdgeViewer.java",
        "comments": 30,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 423,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 105.75,
        "ccn_per_token": 0.016548463356973995,
        "functions_per_token": 0.009456264775413711,
        "loc_per_token": 0.12056737588652482,
        "ccn_per_loc": 0.13725490196078433,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 8.294117647058824
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 164,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/CallEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 18.22,
        "blanks_per_loc": 0.1,
        "num_funs": 9,
        "comments_per_loc": 0.18,
        "tokens": 1462,
        "ccn": 17,
        "ccn_per_function": 1.8888888888888888,
        "tokens_per_function": 162.44444444444446,
        "ccn_per_token": 0.011627906976744186,
        "functions_per_token": 0.006155950752393981,
        "loc_per_token": 0.1121751025991792,
        "ccn_per_loc": 0.10365853658536585,
        "functions_per_loc": 0.054878048780487805,
        "tokens_per_loc": 8.914634146341463
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/GeneralizationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 192,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.13541666666666666,
        "ccn_per_loc": 0.11538461538461539,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.384615384615385
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AssociationEdgeViewer.java",
        "comments": 32,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.1,
        "num_funs": 3,
        "comments_per_loc": 0.8,
        "tokens": 253,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 84.33333333333333,
        "ccn_per_token": 0.02766798418972332,
        "functions_per_token": 0.011857707509881422,
        "loc_per_token": 0.15810276679841898,
        "ccn_per_loc": 0.175,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.325
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 561,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyleFactory.java",
        "comments": 96,
        "loc_per_function": 17,
        "blanks_per_loc": 0.1,
        "num_funs": 33,
        "comments_per_loc": 0.17,
        "tokens": 3773,
        "ccn": 119,
        "ccn_per_function": 3.606060606060606,
        "tokens_per_function": 114.33333333333333,
        "ccn_per_token": 0.03153988868274583,
        "functions_per_token": 0.008746355685131196,
        "loc_per_token": 0.14868804664723032,
        "ccn_per_loc": 0.21212121212121213,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.7254901960784315
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AbstractEdgeViewer.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.56,
        "tokens": 664,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 110.66666666666667,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.009036144578313253,
        "loc_per_token": 0.11746987951807229,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.512820512820513
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 114,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/ObjectReferenceEdgeViewer.java",
        "comments": 27,
        "loc_per_function": 16.29,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.24,
        "tokens": 1045,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 149.28571428571428,
        "ccn_per_token": 0.009569377990430622,
        "functions_per_token": 0.0066985645933014355,
        "loc_per_token": 0.10909090909090909,
        "ccn_per_loc": 0.08771929824561403,
        "functions_per_loc": 0.06140350877192982,
        "tokens_per_loc": 9.166666666666666
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/SegmentationStyle.java",
        "comments": 50,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 223,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.053811659192825115,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.21973094170403587,
        "ccn_per_loc": 0.24489795918367346,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 4.551020408163265
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 362,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/StateTransitionEdgeViewer.java",
        "comments": 62,
        "loc_per_function": 17.24,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.17,
        "tokens": 2916,
        "ccn": 48,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 138.85714285714286,
        "ccn_per_token": 0.01646090534979424,
        "functions_per_token": 0.00720164609053498,
        "loc_per_token": 0.12414266117969822,
        "ccn_per_loc": 0.13259668508287292,
        "functions_per_loc": 0.058011049723756904,
        "tokens_per_loc": 8.05524861878453
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/DependencyEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 1,
        "comments_per_loc": 1.73,
        "tokens": 134,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 134.0,
        "ccn_per_token": 0.007462686567164179,
        "functions_per_token": 0.007462686567164179,
        "loc_per_token": 0.11194029850746269,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 8.933333333333334
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/UseCaseAssociationEdgeViewer.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 64,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 64.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.015625,
        "loc_per_token": 0.15625,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.4
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/EdgeViewer.java",
        "comments": 63,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 3.94,
        "tokens": 139,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 139,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11510791366906475,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.6875
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/edges/AggregationEdgeViewer.java",
        "comments": 29,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.11,
        "num_funs": 2,
        "comments_per_loc": 1.07,
        "tokens": 192,
        "ccn": 3,
        "ccn_per_function": 1.5,
        "tokens_per_function": 96.0,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.010416666666666666,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NoteNodeViewer.java",
        "comments": 27,
        "loc_per_function": 15,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 638,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.5,
        "ccn_per_token": 0.006269592476489028,
        "functions_per_token": 0.006269592476489028,
        "loc_per_token": 0.09404388714733543,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 10.633333333333333
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ImplicitParameterNodeViewer.java",
        "comments": 28,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.37,
        "tokens": 696,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 116.0,
        "ccn_per_token": 0.01293103448275862,
        "functions_per_token": 0.008620689655172414,
        "loc_per_token": 0.10919540229885058,
        "ccn_per_loc": 0.11842105263157894,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 9.157894736842104
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 130,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PackageNodeViewer.java",
        "comments": 37,
        "loc_per_function": 14.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.28,
        "tokens": 1171,
        "ccn": 17,
        "ccn_per_function": 1.8888888888888888,
        "tokens_per_function": 130.11111111111111,
        "ccn_per_token": 0.014517506404782237,
        "functions_per_token": 0.007685738684884714,
        "loc_per_token": 0.11101622544833475,
        "ccn_per_loc": 0.13076923076923078,
        "functions_per_loc": 0.06923076923076923,
        "tokens_per_loc": 9.007692307692308
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 88,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ObjectNodeViewer.java",
        "comments": 32,
        "loc_per_function": 17.6,
        "blanks_per_loc": 0.08,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 805,
        "ccn": 11,
        "ccn_per_function": 2.2,
        "tokens_per_function": 161.0,
        "ccn_per_token": 0.013664596273291925,
        "functions_per_token": 0.006211180124223602,
        "loc_per_token": 0.1093167701863354,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.056818181818181816,
        "tokens_per_loc": 9.147727272727273
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 79,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/AbstractNodeViewer.java",
        "comments": 35,
        "loc_per_function": 19.75,
        "blanks_per_loc": 0.09,
        "num_funs": 4,
        "comments_per_loc": 0.44,
        "tokens": 598,
        "ccn": 10,
        "ccn_per_function": 2.5,
        "tokens_per_function": 149.5,
        "ccn_per_token": 0.016722408026755852,
        "functions_per_token": 0.006688963210702341,
        "loc_per_token": 0.13210702341137123,
        "ccn_per_loc": 0.12658227848101267,
        "functions_per_loc": 0.05063291139240506,
        "tokens_per_loc": 7.569620253164557
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/UseCaseNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 314,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 157.0,
        "ccn_per_token": 0.006369426751592357,
        "functions_per_token": 0.006369426751592357,
        "loc_per_token": 0.08917197452229299,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 11.214285714285714
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 95,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/TypeNodeViewer.java",
        "comments": 27,
        "loc_per_function": 15.83,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.28,
        "tokens": 878,
        "ccn": 12,
        "ccn_per_function": 2.0,
        "tokens_per_function": 146.33333333333334,
        "ccn_per_token": 0.01366742596810934,
        "functions_per_token": 0.00683371298405467,
        "loc_per_token": 0.1082004555808656,
        "ccn_per_loc": 0.12631578947368421,
        "functions_per_loc": 0.06315789473684211,
        "tokens_per_loc": 9.242105263157894
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewer.java",
        "comments": 66,
        "loc_per_function": 16,
        "blanks_per_loc": 0.44,
        "num_funs": 0,
        "comments_per_loc": 4.12,
        "tokens": 142,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 142,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11267605633802817,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.875
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CircularStateNodeViewer.java",
        "comments": 26,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.45,
        "tokens": 502,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 125.5,
        "ccn_per_token": 0.017928286852589643,
        "functions_per_token": 0.00796812749003984,
        "loc_per_token": 0.11553784860557768,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.655172413793103
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/StateNodeViewer.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 279,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 139.5,
        "ccn_per_token": 0.007168458781362007,
        "functions_per_token": 0.007168458781362007,
        "loc_per_token": 0.1003584229390681,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 9.964285714285714
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 141,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/CallNodeViewer.java",
        "comments": 37,
        "loc_per_function": 23.5,
        "blanks_per_loc": 0.07,
        "num_funs": 6,
        "comments_per_loc": 0.26,
        "tokens": 1032,
        "ccn": 21,
        "ccn_per_function": 3.5,
        "tokens_per_function": 172.0,
        "ccn_per_token": 0.020348837209302327,
        "functions_per_token": 0.005813953488372093,
        "loc_per_token": 0.13662790697674418,
        "ccn_per_loc": 0.14893617021276595,
        "functions_per_loc": 0.0425531914893617,
        "tokens_per_loc": 7.319148936170213
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/NodeViewerRegistry.java",
        "comments": 60,
        "loc_per_function": 9.25,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.81,
        "tokens": 735,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 91.875,
        "ccn_per_token": 0.012244897959183673,
        "functions_per_token": 0.010884353741496598,
        "loc_per_token": 0.10068027210884353,
        "ccn_per_loc": 0.12162162162162163,
        "functions_per_loc": 0.10810810810810811,
        "tokens_per_loc": 9.932432432432432
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/FieldNodeViewer.java",
        "comments": 35,
        "loc_per_function": 12,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.42,
        "tokens": 789,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 112.71428571428571,
        "ccn_per_token": 0.012674271229404309,
        "functions_per_token": 0.008871989860583017,
        "loc_per_token": 0.10646387832699619,
        "ccn_per_loc": 0.11904761904761904,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 9.392857142857142
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/ActorNodeViewer.java",
        "comments": 23,
        "loc_per_function": 22,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.35,
        "tokens": 729,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 243.0,
        "ccn_per_token": 0.00411522633744856,
        "functions_per_token": 0.00411522633744856,
        "loc_per_token": 0.09053497942386832,
        "ccn_per_loc": 0.045454545454545456,
        "functions_per_loc": 0.045454545454545456,
        "tokens_per_loc": 11.045454545454545
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/viewers/nodes/PointNodeViewer.java",
        "comments": 24,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.83,
        "tokens": 193,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.25,
        "ccn_per_token": 0.02072538860103627,
        "functions_per_token": 0.02072538860103627,
        "loc_per_token": 0.15025906735751296,
        "ccn_per_loc": 0.13793103448275862,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 6.655172413793103
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramViewer.java",
        "comments": 32,
        "loc_per_function": 28,
        "blanks_per_loc": 0.07,
        "num_funs": 2,
        "comments_per_loc": 0.57,
        "tokens": 337,
        "ccn": 12,
        "ccn_per_function": 6.0,
        "tokens_per_function": 168.5,
        "ccn_per_token": 0.03560830860534125,
        "functions_per_token": 0.005934718100890208,
        "loc_per_token": 0.1661721068249258,
        "ccn_per_loc": 0.21428571428571427,
        "functions_per_loc": 0.03571428571428571,
        "tokens_per_loc": 6.017857142857143
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 124,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramViewer.java",
        "comments": 75,
        "loc_per_function": 17.71,
        "blanks_per_loc": 0.08,
        "num_funs": 7,
        "comments_per_loc": 0.6,
        "tokens": 737,
        "ccn": 28,
        "ccn_per_function": 4.0,
        "tokens_per_function": 105.28571428571429,
        "ccn_per_token": 0.037991858887381276,
        "functions_per_token": 0.009497964721845319,
        "loc_per_token": 0.16824966078697423,
        "ccn_per_loc": 0.22580645161290322,
        "functions_per_loc": 0.056451612903225805,
        "tokens_per_loc": 5.943548387096774
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 50,
        "loc_per_function": 23,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 760,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.021052631578947368,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.1513157894736842,
        "ccn_per_loc": 0.1391304347826087,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 6.608695652173913
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 0.94,
        "tokens": 283,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 141.5,
        "ccn_per_token": 0.007067137809187279,
        "functions_per_token": 0.007067137809187279,
        "loc_per_token": 0.11307420494699646,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.84375
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 56,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 575,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 95.83333333333333,
        "ccn_per_token": 0.017391304347826087,
        "functions_per_token": 0.010434782608695653,
        "loc_per_token": 0.13217391304347825,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.565789473684211
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewerUtilities.java",
        "comments": 46,
        "loc_per_function": 13,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.88,
        "tokens": 291,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 72.75,
        "ccn_per_token": 0.027491408934707903,
        "functions_per_token": 0.013745704467353952,
        "loc_per_token": 0.17869415807560138,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.596153846153846
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 28,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 2,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 741,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 247.0,
        "ccn_per_token": 0.014844804318488529,
        "functions_per_token": 0.004048582995951417,
        "loc_per_token": 0.09986504723346828,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 10.013513513513514
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 46,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ClassDiagram.java",
        "comments": 23,
        "loc_per_function": 11.5,
        "blanks_per_loc": 0.2,
        "num_funs": 4,
        "comments_per_loc": 0.5,
        "tokens": 325,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.25,
        "ccn_per_token": 0.012307692307692308,
        "functions_per_token": 0.012307692307692308,
        "loc_per_token": 0.14153846153846153,
        "ccn_per_loc": 0.08695652173913043,
        "functions_per_loc": 0.08695652173913043,
        "tokens_per_loc": 7.065217391304348
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ObjectDiagram.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.27,
        "num_funs": 4,
        "comments_per_loc": 0.51,
        "tokens": 297,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.25,
        "ccn_per_token": 0.013468013468013467,
        "functions_per_token": 0.013468013468013467,
        "loc_per_token": 0.15151515151515152,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 6.6
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/UseCaseDiagram.java",
        "comments": 23,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.59,
        "tokens": 280,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 70.0,
        "ccn_per_token": 0.014285714285714285,
        "functions_per_token": 0.014285714285714285,
        "loc_per_token": 0.1392857142857143,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.17948717948718
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 140,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 113,
        "loc_per_function": 8.75,
        "blanks_per_loc": 0.16,
        "num_funs": 16,
        "comments_per_loc": 0.81,
        "tokens": 679,
        "ccn": 38,
        "ccn_per_function": 2.375,
        "tokens_per_function": 42.4375,
        "ccn_per_token": 0.055964653902798235,
        "functions_per_token": 0.023564064801178203,
        "loc_per_token": 0.20618556701030927,
        "ccn_per_loc": 0.2714285714285714,
        "functions_per_loc": 0.11428571428571428,
        "tokens_per_loc": 4.85
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/SequenceDiagram.java",
        "comments": 23,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.72,
        "tokens": 225,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 56.25,
        "ccn_per_token": 0.017777777777777778,
        "functions_per_token": 0.017777777777777778,
        "loc_per_token": 0.14222222222222222,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.03125
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/StateDiagram.java",
        "comments": 23,
        "loc_per_function": 8.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 0.7,
        "tokens": 245,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.25,
        "ccn_per_token": 0.0163265306122449,
        "functions_per_token": 0.0163265306122449,
        "loc_per_token": 0.1346938775510204,
        "ccn_per_loc": 0.12121212121212122,
        "functions_per_loc": 0.12121212121212122,
        "tokens_per_loc": 7.424242424242424
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 34,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.86,
        "tokens": 40,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 40,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.175,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.714285714285714
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 46,
        "loc_per_function": 12.17,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.63,
        "tokens": 437,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 72.83333333333333,
        "ccn_per_token": 0.02288329519450801,
        "functions_per_token": 0.013729977116704805,
        "loc_per_token": 0.16704805491990846,
        "ccn_per_loc": 0.136986301369863,
        "functions_per_loc": 0.0821917808219178,
        "tokens_per_loc": 5.986301369863014
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 121,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 92,
        "loc_per_function": 11,
        "blanks_per_loc": 0.13,
        "num_funs": 11,
        "comments_per_loc": 0.76,
        "tokens": 751,
        "ccn": 30,
        "ccn_per_function": 2.727272727272727,
        "tokens_per_function": 68.27272727272727,
        "ccn_per_token": 0.03994673768308921,
        "functions_per_token": 0.014647137150466045,
        "loc_per_token": 0.1611185086551265,
        "ccn_per_loc": 0.24793388429752067,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.206611570247934
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 53,
        "loc_per_function": 13,
        "blanks_per_loc": 0.77,
        "num_funs": 0,
        "comments_per_loc": 4.08,
        "tokens": 85,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 85,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15294117647058825,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.538461538461538
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.78,
        "num_funs": 0,
        "comments_per_loc": 4.89,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 23,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 23,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21739130434782608,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.6
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.32,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 107,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.666666666666664,
        "ccn_per_token": 0.028037383177570093,
        "functions_per_token": 0.028037383177570093,
        "loc_per_token": 0.205607476635514,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.863636363636363
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 26,
        "loc_per_function": 3,
        "blanks_per_loc": 1.33,
        "num_funs": 0,
        "comments_per_loc": 8.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 27,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 9,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 40,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.37,
        "num_funs": 5,
        "comments_per_loc": 1.48,
        "tokens": 152,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 30.4,
        "ccn_per_token": 0.039473684210526314,
        "functions_per_token": 0.03289473684210526,
        "loc_per_token": 0.17763157894736842,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 5.62962962962963
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 27,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 9,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 23,
        "loc_per_function": 8.33,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 238,
        "ccn": 9,
        "ccn_per_function": 1.5,
        "tokens_per_function": 39.666666666666664,
        "ccn_per_token": 0.037815126050420166,
        "functions_per_token": 0.025210084033613446,
        "loc_per_token": 0.21008403361344538,
        "ccn_per_loc": 0.18,
        "functions_per_loc": 0.12,
        "tokens_per_loc": 4.76
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.33,
        "num_funs": 5,
        "comments_per_loc": 1.63,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 26,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 8.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.33,
        "num_funs": 5,
        "comments_per_loc": 1.67,
        "tokens": 121,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.2,
        "ccn_per_token": 0.04132231404958678,
        "functions_per_token": 0.04132231404958678,
        "loc_per_token": 0.2231404958677686,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 4.481481481481482
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 40,
        "loc_per_function": 5,
        "blanks_per_loc": 0.37,
        "num_funs": 6,
        "comments_per_loc": 1.33,
        "tokens": 146,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.333333333333332,
        "ccn_per_token": 0.0410958904109589,
        "functions_per_token": 0.0410958904109589,
        "loc_per_token": 0.2054794520547945,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 4.866666666666666
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ParentNode.java",
        "comments": 46,
        "loc_per_function": 10,
        "blanks_per_loc": 0.6,
        "num_funs": 0,
        "comments_per_loc": 4.6,
        "tokens": 72,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 72,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1388888888888889,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.2
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 1.5,
        "tokens": 106,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.22641509433962265,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.416666666666667
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 102,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 40,
        "loc_per_function": 7.29,
        "blanks_per_loc": 0.19,
        "num_funs": 14,
        "comments_per_loc": 0.39,
        "tokens": 491,
        "ccn": 19,
        "ccn_per_function": 1.3571428571428572,
        "tokens_per_function": 35.07142857142857,
        "ccn_per_token": 0.038696537678207736,
        "functions_per_token": 0.028513238289205704,
        "loc_per_token": 0.20773930753564154,
        "ccn_per_loc": 0.18627450980392157,
        "functions_per_loc": 0.13725490196078433,
        "tokens_per_loc": 4.813725490196078
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 23,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 9,
        "comments_per_loc": 0.38,
        "tokens": 356,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 39.55555555555556,
        "ccn_per_token": 0.025280898876404494,
        "functions_per_token": 0.025280898876404494,
        "loc_per_token": 0.16853932584269662,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.933333333333334
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 3.25,
        "tokens": 31,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 31.0,
        "ccn_per_token": 0.03225806451612903,
        "functions_per_token": 0.03225806451612903,
        "loc_per_token": 0.25806451612903225,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.875
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ChildNode.java",
        "comments": 42,
        "loc_per_function": 8,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.25,
        "tokens": 50,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 50,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.25
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 29,
        "loc_per_function": 10.2,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.57,
        "tokens": 245,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 49.0,
        "ccn_per_token": 0.0326530612244898,
        "functions_per_token": 0.02040816326530612,
        "loc_per_token": 0.20816326530612245,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.09803921568627451,
        "tokens_per_loc": 4.803921568627451
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 44,
        "loc_per_function": 6.88,
        "blanks_per_loc": 0.22,
        "num_funs": 8,
        "comments_per_loc": 0.8,
        "tokens": 267,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 33.375,
        "ccn_per_token": 0.04868913857677903,
        "functions_per_token": 0.0299625468164794,
        "loc_per_token": 0.20599250936329588,
        "ccn_per_loc": 0.23636363636363636,
        "functions_per_loc": 0.14545454545454545,
        "tokens_per_loc": 4.8545454545454545
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 3,
        "blanks_per_loc": 0.67,
        "num_funs": 0,
        "comments_per_loc": 8.33,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 36,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.25,
        "num_funs": 6,
        "comments_per_loc": 0.86,
        "tokens": 145,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 24.166666666666668,
        "ccn_per_token": 0.04827586206896552,
        "functions_per_token": 0.041379310344827586,
        "loc_per_token": 0.2482758620689655,
        "ccn_per_loc": 0.19444444444444445,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.027777777777778
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 9,
        "blanks_per_loc": 0.33,
        "num_funs": 1,
        "comments_per_loc": 2.89,
        "tokens": 40,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.025,
        "functions_per_token": 0.025,
        "loc_per_token": 0.225,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.444444444444445
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 3,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 3,
        "blanks_per_loc": 1,
        "num_funs": 0,
        "comments_per_loc": 7.67,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/TypeNode.java",
        "comments": 38,
        "loc_per_function": 5.86,
        "blanks_per_loc": 0.22,
        "num_funs": 7,
        "comments_per_loc": 0.93,
        "tokens": 157,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 22.428571428571427,
        "ccn_per_token": 0.050955414012738856,
        "functions_per_token": 0.044585987261146494,
        "loc_per_token": 0.2611464968152866,
        "ccn_per_loc": 0.1951219512195122,
        "functions_per_loc": 0.17073170731707318,
        "tokens_per_loc": 3.8292682926829267
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.47,
        "tokens": 314,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 52.333333333333336,
        "ccn_per_token": 0.03184713375796178,
        "functions_per_token": 0.01910828025477707,
        "loc_per_token": 0.19745222929936307,
        "ccn_per_loc": 0.16129032258064516,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 5.064516129032258
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 213,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.5,
        "ccn_per_token": 0.009389671361502348,
        "functions_per_token": 0.009389671361502348,
        "loc_per_token": 0.12206572769953052,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.192307692307692
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 120,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 17.14,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.29,
        "tokens": 728,
        "ccn": 20,
        "ccn_per_function": 2.857142857142857,
        "tokens_per_function": 104.0,
        "ccn_per_token": 0.027472527472527472,
        "functions_per_token": 0.009615384615384616,
        "loc_per_token": 0.16483516483516483,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.058333333333333334,
        "tokens_per_loc": 6.066666666666666
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 339,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 153,
        "loc_per_function": 17.84,
        "blanks_per_loc": 0.1,
        "num_funs": 19,
        "comments_per_loc": 0.45,
        "tokens": 2351,
        "ccn": 62,
        "ccn_per_function": 3.263157894736842,
        "tokens_per_function": 123.73684210526316,
        "ccn_per_token": 0.026371756699276903,
        "functions_per_token": 0.008081667375584857,
        "loc_per_token": 0.14419396001701404,
        "ccn_per_loc": 0.18289085545722714,
        "functions_per_loc": 0.05604719764011799,
        "tokens_per_loc": 6.935103244837758
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 96,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 33,
        "loc_per_function": 19.2,
        "blanks_per_loc": 0.08,
        "num_funs": 5,
        "comments_per_loc": 0.34,
        "tokens": 558,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 111.6,
        "ccn_per_token": 0.026881720430107527,
        "functions_per_token": 0.008960573476702509,
        "loc_per_token": 0.17204301075268819,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.052083333333333336,
        "tokens_per_loc": 5.8125
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 61,
        "loc_per_function": 8.11,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.84,
        "tokens": 356,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 39.55555555555556,
        "ccn_per_token": 0.033707865168539325,
        "functions_per_token": 0.025280898876404494,
        "loc_per_token": 0.2050561797752809,
        "ccn_per_loc": 0.1643835616438356,
        "functions_per_loc": 0.1232876712328767,
        "tokens_per_loc": 4.876712328767123
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 237,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 33,
        "loc_per_function": 18.23,
        "blanks_per_loc": 0.07,
        "num_funs": 13,
        "comments_per_loc": 0.14,
        "tokens": 1567,
        "ccn": 45,
        "ccn_per_function": 3.4615384615384617,
        "tokens_per_function": 120.53846153846153,
        "ccn_per_token": 0.02871729419272495,
        "functions_per_token": 0.008296107211231652,
        "loc_per_token": 0.15124441608168473,
        "ccn_per_loc": 0.189873417721519,
        "functions_per_loc": 0.05485232067510549,
        "tokens_per_loc": 6.6118143459915615
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 189,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 94.5,
        "ccn_per_token": 0.010582010582010581,
        "functions_per_token": 0.010582010582010581,
        "loc_per_token": 0.12698412698412698,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.875
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.25,
        "tokens": 170,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 56.666666666666664,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.01764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 38,
        "loc_per_function": 11.2,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.68,
        "tokens": 477,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 95.4,
        "ccn_per_token": 0.031446540880503145,
        "functions_per_token": 0.010482180293501049,
        "loc_per_token": 0.11740041928721175,
        "ccn_per_loc": 0.26785714285714285,
        "functions_per_loc": 0.08928571428571429,
        "tokens_per_loc": 8.517857142857142
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 8.83,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 414,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.043478260869565216,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.1280193236714976,
        "ccn_per_loc": 0.33962264150943394,
        "functions_per_loc": 0.11320754716981132,
        "tokens_per_loc": 7.811320754716981
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 231,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11688311688311688,
        "ccn_per_loc": 0.25925925925925924,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 8.555555555555555
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 138,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 46.0,
        "ccn_per_token": 0.036231884057971016,
        "functions_per_token": 0.021739130434782608,
        "loc_per_token": 0.2028985507246377,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 4.928571428571429
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.75,
        "tokens": 385,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 192.5,
        "ccn_per_token": 0.02077922077922078,
        "functions_per_token": 0.005194805194805195,
        "loc_per_token": 0.13246753246753246,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.0392156862745098,
        "tokens_per_loc": 7.549019607843137
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 272,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 90.66666666666667,
        "ccn_per_token": 0.022058823529411766,
        "functions_per_token": 0.011029411764705883,
        "loc_per_token": 0.14705882352941177,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.8
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 210,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 84,
        "loc_per_function": 13.12,
        "blanks_per_loc": 0.1,
        "num_funs": 16,
        "comments_per_loc": 0.4,
        "tokens": 1167,
        "ccn": 53,
        "ccn_per_function": 3.3125,
        "tokens_per_function": 72.9375,
        "ccn_per_token": 0.04541559554413025,
        "functions_per_token": 0.013710368466152529,
        "loc_per_token": 0.17994858611825193,
        "ccn_per_loc": 0.2523809523809524,
        "functions_per_loc": 0.0761904761904762,
        "tokens_per_loc": 5.557142857142857
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 34,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.41,
        "num_funs": 3,
        "comments_per_loc": 0.83,
        "tokens": 337,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 112.33333333333333,
        "ccn_per_token": 0.01483679525222552,
        "functions_per_token": 0.008902077151335312,
        "loc_per_token": 0.12166172106824925,
        "ccn_per_loc": 0.12195121951219512,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 8.21951219512195
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.24,
        "num_funs": 12,
        "comments_per_loc": 0.79,
        "tokens": 514,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 42.833333333333336,
        "ccn_per_token": 0.027237354085603113,
        "functions_per_token": 0.023346303501945526,
        "loc_per_token": 0.16926070038910507,
        "ccn_per_loc": 0.16091954022988506,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 5.908045977011494
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 102,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 79,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1552511415525114,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 6.4411764705882355
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 585,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.0,
        "ccn_per_token": 0.011965811965811967,
        "functions_per_token": 0.008547008547008548,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 49,
        "loc_per_function": 10.9,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.45,
        "tokens": 743,
        "ccn": 14,
        "ccn_per_function": 1.4,
        "tokens_per_function": 74.3,
        "ccn_per_token": 0.018842530282637954,
        "functions_per_token": 0.013458950201884253,
        "loc_per_token": 0.14670255720053835,
        "ccn_per_loc": 0.12844036697247707,
        "functions_per_loc": 0.09174311926605505,
        "tokens_per_loc": 6.81651376146789
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 609,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 152.25,
        "ccn_per_token": 0.008210180623973728,
        "functions_per_token": 0.006568144499178982,
        "loc_per_token": 0.12479474548440066,
        "ccn_per_loc": 0.06578947368421052,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.013157894736842
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 44,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.26,
        "tokens": 243,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.0205761316872428,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.1440329218106996,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 6.942857142857143
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 542,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 113,
        "loc_per_function": 15.94,
        "blanks_per_loc": 0.12,
        "num_funs": 34,
        "comments_per_loc": 0.21,
        "tokens": 3996,
        "ccn": 78,
        "ccn_per_function": 2.2941176470588234,
        "tokens_per_function": 117.52941176470588,
        "ccn_per_token": 0.01951951951951952,
        "functions_per_token": 0.00850850850850851,
        "loc_per_token": 0.13563563563563563,
        "ccn_per_loc": 0.14391143911439114,
        "functions_per_loc": 0.06273062730627306,
        "tokens_per_loc": 7.372693726937269
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 419,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 96,
        "loc_per_function": 13.52,
        "blanks_per_loc": 0.11,
        "num_funs": 31,
        "comments_per_loc": 0.23,
        "tokens": 2659,
        "ccn": 84,
        "ccn_per_function": 2.7096774193548385,
        "tokens_per_function": 85.7741935483871,
        "ccn_per_token": 0.03159082361790147,
        "functions_per_token": 0.011658518239939826,
        "loc_per_token": 0.1575780368559609,
        "ccn_per_loc": 0.20047732696897375,
        "functions_per_loc": 0.07398568019093078,
        "tokens_per_loc": 6.3460620525059666
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 63,
        "loc_per_function": 11.86,
        "blanks_per_loc": 0.11,
        "num_funs": 14,
        "comments_per_loc": 0.38,
        "tokens": 1318,
        "ccn": 20,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 94.14285714285714,
        "ccn_per_token": 0.015174506828528073,
        "functions_per_token": 0.010622154779969651,
        "loc_per_token": 0.125948406676783,
        "ccn_per_loc": 0.12048192771084337,
        "functions_per_loc": 0.08433734939759036,
        "tokens_per_loc": 7.9397590361445785
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1232,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.2,
        "ccn_per_token": 0.025162337662337664,
        "functions_per_token": 0.008116883116883116,
        "loc_per_token": 0.15746753246753248,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.350515463917525
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 208,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 127,
        "loc_per_function": 9.04,
        "blanks_per_loc": 0.14,
        "num_funs": 23,
        "comments_per_loc": 0.61,
        "tokens": 1073,
        "ccn": 38,
        "ccn_per_function": 1.6521739130434783,
        "tokens_per_function": 46.65217391304348,
        "ccn_per_token": 0.035414725069897485,
        "functions_per_token": 0.021435228331780055,
        "loc_per_token": 0.19384902143522834,
        "ccn_per_loc": 0.18269230769230768,
        "functions_per_loc": 0.11057692307692307,
        "tokens_per_loc": 5.158653846153846
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.76,
        "tokens": 578,
        "ccn": 29,
        "ccn_per_function": 1.8125,
        "tokens_per_function": 36.125,
        "ccn_per_token": 0.050173010380622836,
        "functions_per_token": 0.02768166089965398,
        "loc_per_token": 0.20069204152249134,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.982758620689655
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 140,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 87,
        "loc_per_function": 7.78,
        "blanks_per_loc": 0.21,
        "num_funs": 18,
        "comments_per_loc": 0.62,
        "tokens": 892,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 49.55555555555556,
        "ccn_per_token": 0.021300448430493273,
        "functions_per_token": 0.020179372197309416,
        "loc_per_token": 0.15695067264573992,
        "ccn_per_loc": 0.1357142857142857,
        "functions_per_loc": 0.12857142857142856,
        "tokens_per_loc": 6.371428571428571
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 40,
        "loc_per_function": 13,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.13978494623655913,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.153846153846154
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 41,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.17,
        "tokens": 222,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.02252252252252252,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.15765765765765766,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 6.3428571428571425
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 89,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12.71,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 643,
        "ccn": 16,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 91.85714285714286,
        "ccn_per_token": 0.024883359253499222,
        "functions_per_token": 0.01088646967340591,
        "loc_per_token": 0.13841368584758942,
        "ccn_per_loc": 0.1797752808988764,
        "functions_per_loc": 0.07865168539325842,
        "tokens_per_loc": 7.224719101123595
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 10,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 1.02,
        "tokens": 199,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 49.75,
        "ccn_per_token": 0.04020100502512563,
        "functions_per_token": 0.020100502512562814,
        "loc_per_token": 0.20100502512562815,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.975
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 18.17,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.41,
        "tokens": 782,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 130.33333333333334,
        "ccn_per_token": 0.024296675191815855,
        "functions_per_token": 0.0076726342710997444,
        "loc_per_token": 0.13938618925831203,
        "ccn_per_loc": 0.1743119266055046,
        "functions_per_loc": 0.05504587155963303,
        "tokens_per_loc": 7.174311926605505
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.5,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 164,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.0,
        "ccn_per_token": 0.024390243902439025,
        "functions_per_token": 0.024390243902439025,
        "loc_per_token": 0.18292682926829268,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.13333333333333333,
        "tokens_per_loc": 5.466666666666667
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 47,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 1.38,
        "tokens": 148,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.0472972972972973,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.22972972972972974,
        "ccn_per_loc": 0.20588235294117646,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.352941176470588
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 213,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 134,
        "loc_per_function": 14.2,
        "blanks_per_loc": 0.15,
        "num_funs": 15,
        "comments_per_loc": 0.63,
        "tokens": 1150,
        "ccn": 65,
        "ccn_per_function": 4.333333333333333,
        "tokens_per_function": 76.66666666666667,
        "ccn_per_token": 0.05652173913043478,
        "functions_per_token": 0.013043478260869565,
        "loc_per_token": 0.18521739130434783,
        "ccn_per_loc": 0.3051643192488263,
        "functions_per_loc": 0.07042253521126761,
        "tokens_per_loc": 5.39906103286385
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 17,
        "file_path": "src/org/json/JSONException.java",
        "comments": 19,
        "loc_per_function": 5.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 67,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 22.333333333333332,
        "ccn_per_token": 0.04477611940298507,
        "functions_per_token": 0.04477611940298507,
        "loc_per_token": 0.2537313432835821,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.17647058823529413,
        "tokens_per_loc": 3.9411764705882355
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 533,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 451,
        "loc_per_function": 14.81,
        "blanks_per_loc": 0.12,
        "num_funs": 36,
        "comments_per_loc": 0.85,
        "tokens": 3523,
        "ccn": 195,
        "ccn_per_function": 5.416666666666667,
        "tokens_per_function": 97.86111111111111,
        "ccn_per_token": 0.055350553505535055,
        "functions_per_token": 0.01021856372409878,
        "loc_per_token": 0.15129151291512916,
        "ccn_per_loc": 0.36585365853658536,
        "functions_per_loc": 0.0675422138836773,
        "tokens_per_loc": 6.609756097560975
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 179,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 11.93,
        "blanks_per_loc": 0.17,
        "num_funs": 15,
        "comments_per_loc": 1.11,
        "tokens": 1134,
        "ccn": 59,
        "ccn_per_function": 3.933333333333333,
        "tokens_per_function": 75.6,
        "ccn_per_token": 0.05202821869488536,
        "functions_per_token": 0.013227513227513227,
        "loc_per_token": 0.15784832451499117,
        "ccn_per_loc": 0.329608938547486,
        "functions_per_loc": 0.08379888268156424,
        "tokens_per_loc": 6.335195530726257
    },
    {
        "date": "2020-01-04 Rel 2.5",
        "loc": 203,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 228,
        "loc_per_function": 11.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 1.12,
        "tokens": 1246,
        "ccn": 53,
        "ccn_per_function": 3.1176470588235294,
        "tokens_per_function": 73.29411764705883,
        "ccn_per_token": 0.04253611556982344,
        "functions_per_token": 0.013643659711075442,
        "loc_per_token": 0.16292134831460675,
        "ccn_per_loc": 0.26108374384236455,
        "functions_per_loc": 0.08374384236453201,
        "tokens_per_loc": 6.137931034482759
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 9,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 24,
        "loc_per_function": 4.5,
        "blanks_per_loc": 0.44,
        "num_funs": 2,
        "comments_per_loc": 2.67,
        "tokens": 53,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 26.5,
        "ccn_per_token": 0.03773584905660377,
        "functions_per_token": 0.03773584905660377,
        "loc_per_token": 0.16981132075471697,
        "ccn_per_loc": 0.2222222222222222,
        "functions_per_loc": 0.2222222222222222,
        "tokens_per_loc": 5.888888888888889
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 47,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestDimension.java",
        "comments": 21,
        "loc_per_function": 9.4,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.45,
        "tokens": 387,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.4,
        "ccn_per_token": 0.012919896640826873,
        "functions_per_token": 0.012919896640826873,
        "loc_per_token": 0.12144702842377261,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.10638297872340426,
        "tokens_per_loc": 8.23404255319149
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 365,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 73.0,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.0136986301369863,
        "loc_per_token": 0.13424657534246576,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.448979591836735
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 466,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.2,
        "ccn_per_token": 0.01072961373390558,
        "functions_per_token": 0.01072961373390558,
        "loc_per_token": 0.11802575107296137,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.472727272727273
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestUtil.java",
        "comments": 20,
        "loc_per_function": 6,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 234,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 33.42857142857143,
        "ccn_per_token": 0.029914529914529916,
        "functions_per_token": 0.029914529914529916,
        "loc_per_token": 0.1794871794871795,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.571428571428571
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 737,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.88888888888889,
        "ccn_per_token": 0.012211668928086838,
        "functions_per_token": 0.012211668928086838,
        "loc_per_token": 0.11533242876526459,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.670588235294117
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestGrid.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.24,
        "tokens": 1233,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 246.6,
        "ccn_per_token": 0.0040551500405515,
        "functions_per_token": 0.0040551500405515,
        "loc_per_token": 0.0689375506893755,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 14.505882352941176
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 483,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 21,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.09,
        "tokens": 4910,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 213.47826086956522,
        "ccn_per_token": 0.004684317718940937,
        "functions_per_token": 0.004684317718940937,
        "loc_per_token": 0.09837067209775967,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 10.165631469979296
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 69,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestNoteEdgeView.java",
        "comments": 25,
        "loc_per_function": 17.25,
        "blanks_per_loc": 0.26,
        "num_funs": 4,
        "comments_per_loc": 0.36,
        "tokens": 609,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 152.25,
        "ccn_per_token": 0.006568144499178982,
        "functions_per_token": 0.006568144499178982,
        "loc_per_token": 0.11330049261083744,
        "ccn_per_loc": 0.057971014492753624,
        "functions_per_loc": 0.057971014492753624,
        "tokens_per_loc": 8.826086956521738
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 40,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestDependencyEdgeView.java",
        "comments": 20,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.25,
        "num_funs": 3,
        "comments_per_loc": 0.5,
        "tokens": 276,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.14492753623188406,
        "ccn_per_loc": 0.075,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.9
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 108,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestPackageNodeView.java",
        "comments": 20,
        "loc_per_function": 8.31,
        "blanks_per_loc": 0.17,
        "num_funs": 13,
        "comments_per_loc": 0.19,
        "tokens": 633,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 48.69230769230769,
        "ccn_per_token": 0.023696682464454975,
        "functions_per_token": 0.020537124802527645,
        "loc_per_token": 0.17061611374407584,
        "ccn_per_loc": 0.1388888888888889,
        "functions_per_loc": 0.12037037037037036,
        "tokens_per_loc": 5.861111111111111
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 89,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestInterfaceNodeView.java",
        "comments": 20,
        "loc_per_function": 11.12,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 963,
        "ccn": 15,
        "ccn_per_function": 1.875,
        "tokens_per_function": 120.375,
        "ccn_per_token": 0.01557632398753894,
        "functions_per_token": 0.008307372793354102,
        "loc_per_token": 0.09241952232606439,
        "ccn_per_loc": 0.16853932584269662,
        "functions_per_loc": 0.0898876404494382,
        "tokens_per_loc": 10.820224719101123
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 102,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestClassViewNode.java",
        "comments": 20,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1353,
        "ccn": 20,
        "ccn_per_function": 2.5,
        "tokens_per_function": 169.125,
        "ccn_per_token": 0.014781966001478197,
        "functions_per_token": 0.005912786400591279,
        "loc_per_token": 0.07538802660753881,
        "ccn_per_loc": 0.19607843137254902,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 13.264705882352942
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 61,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestCallNodeView.java",
        "comments": 20,
        "loc_per_function": 15.25,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.33,
        "tokens": 458,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 114.5,
        "ccn_per_token": 0.008733624454148471,
        "functions_per_token": 0.008733624454148471,
        "loc_per_token": 0.1331877729257642,
        "ccn_per_loc": 0.06557377049180328,
        "functions_per_loc": 0.06557377049180328,
        "tokens_per_loc": 7.508196721311475
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 125,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestFieldAndObjectNodeView.java",
        "comments": 35,
        "loc_per_function": 9.62,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.28,
        "tokens": 863,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.38461538461539,
        "ccn_per_token": 0.015063731170336037,
        "functions_per_token": 0.015063731170336037,
        "loc_per_token": 0.14484356894553882,
        "ccn_per_loc": 0.104,
        "functions_per_loc": 0.104,
        "tokens_per_loc": 6.904
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 133,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 24,
        "loc_per_function": 7.39,
        "blanks_per_loc": 0.17,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 787,
        "ccn": 23,
        "ccn_per_function": 1.2777777777777777,
        "tokens_per_function": 43.72222222222222,
        "ccn_per_token": 0.029224904701397714,
        "functions_per_token": 0.022871664548919948,
        "loc_per_token": 0.16899618805590852,
        "ccn_per_loc": 0.17293233082706766,
        "functions_per_loc": 0.13533834586466165,
        "tokens_per_loc": 5.917293233082707
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2696,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.5,
        "ccn_per_token": 0.005934718100890208,
        "functions_per_token": 0.005934718100890208,
        "loc_per_token": 0.1064540059347181,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.393728222996515
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 283,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 24,
        "loc_per_function": 13.48,
        "blanks_per_loc": 0.11,
        "num_funs": 21,
        "comments_per_loc": 0.08,
        "tokens": 2086,
        "ccn": 23,
        "ccn_per_function": 1.0952380952380953,
        "tokens_per_function": 99.33333333333333,
        "ccn_per_token": 0.01102588686481304,
        "functions_per_token": 0.010067114093959731,
        "loc_per_token": 0.13566634707574304,
        "ccn_per_loc": 0.0812720848056537,
        "functions_per_loc": 0.07420494699646643,
        "tokens_per_loc": 7.371024734982332
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3507,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 219.1875,
        "ccn_per_token": 0.004562303963501569,
        "functions_per_token": 0.004562303963501569,
        "loc_per_token": 0.0932420872540633,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.724770642201834
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 186,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 21,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.11,
        "tokens": 1809,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 100.5,
        "ccn_per_token": 0.010503040353786623,
        "functions_per_token": 0.009950248756218905,
        "loc_per_token": 0.10281923714759536,
        "ccn_per_loc": 0.10215053763440861,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 9.725806451612904
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 162,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 32,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.2,
        "tokens": 1051,
        "ccn": 15,
        "ccn_per_function": 1.0,
        "tokens_per_function": 70.06666666666666,
        "ccn_per_token": 0.014272121788772598,
        "functions_per_token": 0.014272121788772598,
        "loc_per_token": 0.15413891531874405,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 6.487654320987654
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.21,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 159,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.0,
        "ccn_per_token": 0.006289308176100629,
        "functions_per_token": 0.006289308176100629,
        "loc_per_token": 0.11949685534591195,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.368421052631579
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 489,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.86,
        "blanks_per_loc": 0.19,
        "num_funs": 29,
        "comments_per_loc": 0.06,
        "tokens": 4571,
        "ccn": 31,
        "ccn_per_function": 1.0689655172413792,
        "tokens_per_function": 157.6206896551724,
        "ccn_per_token": 0.006781885801793918,
        "functions_per_token": 0.006344344782323342,
        "loc_per_token": 0.10697877926055567,
        "ccn_per_loc": 0.06339468302658487,
        "functions_per_loc": 0.05930470347648262,
        "tokens_per_loc": 9.34764826175869
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 316,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.31,
        "blanks_per_loc": 0.2,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3056,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 235.07692307692307,
        "ccn_per_token": 0.004908376963350785,
        "functions_per_token": 0.004253926701570681,
        "loc_per_token": 0.10340314136125654,
        "ccn_per_loc": 0.04746835443037975,
        "functions_per_loc": 0.04113924050632911,
        "tokens_per_loc": 9.670886075949367
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 348,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 19.33,
        "blanks_per_loc": 0.22,
        "num_funs": 18,
        "comments_per_loc": 0.07,
        "tokens": 2950,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 163.88888888888889,
        "ccn_per_token": 0.006440677966101695,
        "functions_per_token": 0.006101694915254237,
        "loc_per_token": 0.11796610169491525,
        "ccn_per_loc": 0.05459770114942529,
        "functions_per_loc": 0.05172413793103448,
        "tokens_per_loc": 8.477011494252874
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 20,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.44,
        "tokens": 466,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 116.5,
        "ccn_per_token": 0.008583690987124463,
        "functions_per_token": 0.008583690987124463,
        "loc_per_token": 0.09656652360515021,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 10.355555555555556
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 24,
        "loc_per_function": 12,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.5,
        "tokens": 332,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 83.0,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.012048192771084338,
        "loc_per_token": 0.14457831325301204,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.916666666666667
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 38,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.53,
        "tokens": 330,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 110.0,
        "ccn_per_token": 0.00909090909090909,
        "functions_per_token": 0.00909090909090909,
        "loc_per_token": 0.11515151515151516,
        "ccn_per_loc": 0.07894736842105263,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 8.68421052631579
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 24,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 12,
        "blanks_per_loc": 0.21,
        "num_funs": 2,
        "comments_per_loc": 0.83,
        "tokens": 205,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 102.5,
        "ccn_per_token": 0.00975609756097561,
        "functions_per_token": 0.00975609756097561,
        "loc_per_token": 0.11707317073170732,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 8.541666666666666
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 35,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 20,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 0.57,
        "tokens": 263,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 87.66666666666667,
        "ccn_per_token": 0.011406844106463879,
        "functions_per_token": 0.011406844106463879,
        "loc_per_token": 0.13307984790874525,
        "ccn_per_loc": 0.08571428571428572,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 7.514285714285714
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 73,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 20,
        "loc_per_function": 10.43,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.27,
        "tokens": 523,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.71428571428571,
        "ccn_per_token": 0.01338432122370937,
        "functions_per_token": 0.01338432122370937,
        "loc_per_token": 0.13957934990439771,
        "ccn_per_loc": 0.0958904109589041,
        "functions_per_loc": 0.0958904109589041,
        "tokens_per_loc": 7.164383561643835
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 129,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 16.12,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1291,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 161.375,
        "ccn_per_token": 0.006196746707978312,
        "functions_per_token": 0.006196746707978312,
        "loc_per_token": 0.09992254066615028,
        "ccn_per_loc": 0.06201550387596899,
        "functions_per_loc": 0.06201550387596899,
        "tokens_per_loc": 10.007751937984496
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 130,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 21.67,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.16,
        "tokens": 1334,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 222.33333333333334,
        "ccn_per_token": 0.004497751124437781,
        "functions_per_token": 0.004497751124437781,
        "loc_per_token": 0.09745127436281859,
        "ccn_per_loc": 0.046153846153846156,
        "functions_per_loc": 0.046153846153846156,
        "tokens_per_loc": 10.261538461538462
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 14,
        "blanks_per_loc": 0.29,
        "num_funs": 2,
        "comments_per_loc": 0.71,
        "tokens": 225,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 112.5,
        "ccn_per_token": 0.008888888888888889,
        "functions_per_token": 0.008888888888888889,
        "loc_per_token": 0.12444444444444444,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 8.035714285714286
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 0.23,
        "tokens": 905,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 150.83333333333334,
        "ccn_per_token": 0.0066298342541436465,
        "functions_per_token": 0.0066298342541436465,
        "loc_per_token": 0.10165745856353592,
        "ccn_per_loc": 0.06521739130434782,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 9.83695652173913
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 74,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 20,
        "loc_per_function": 10.57,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.27,
        "tokens": 528,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 75.42857142857143,
        "ccn_per_token": 0.013257575757575758,
        "functions_per_token": 0.013257575757575758,
        "loc_per_token": 0.14015151515151514,
        "ccn_per_loc": 0.0945945945945946,
        "functions_per_loc": 0.0945945945945946,
        "tokens_per_loc": 7.135135135135135
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 135,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.0,
        "ccn_per_token": 0.007407407407407408,
        "functions_per_token": 0.007407407407407408,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 187,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 11.69,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.11,
        "tokens": 1853,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 115.8125,
        "ccn_per_token": 0.008634646519158122,
        "functions_per_token": 0.008634646519158122,
        "loc_per_token": 0.10091743119266056,
        "ccn_per_loc": 0.0855614973262032,
        "functions_per_loc": 0.0855614973262032,
        "tokens_per_loc": 9.909090909090908
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 12.64,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1546,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 140.54545454545453,
        "ccn_per_token": 0.0071151358344113845,
        "functions_per_token": 0.0071151358344113845,
        "loc_per_token": 0.08990944372574386,
        "ccn_per_loc": 0.07913669064748201,
        "functions_per_loc": 0.07913669064748201,
        "tokens_per_loc": 11.122302158273381
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 106,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13.25,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1081,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 135.125,
        "ccn_per_token": 0.0074005550416281225,
        "functions_per_token": 0.0074005550416281225,
        "loc_per_token": 0.09805735430157261,
        "ccn_per_loc": 0.07547169811320754,
        "functions_per_loc": 0.07547169811320754,
        "tokens_per_loc": 10.19811320754717
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 217,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 33,
        "loc_per_function": 13.56,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.15,
        "tokens": 1486,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.875,
        "ccn_per_token": 0.010767160161507403,
        "functions_per_token": 0.010767160161507403,
        "loc_per_token": 0.14602960969044415,
        "ccn_per_loc": 0.07373271889400922,
        "functions_per_loc": 0.07373271889400922,
        "tokens_per_loc": 6.847926267281106
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 168,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 20,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.12,
        "tokens": 1518,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 168.66666666666666,
        "ccn_per_token": 0.005928853754940711,
        "functions_per_token": 0.005928853754940711,
        "loc_per_token": 0.11067193675889328,
        "ccn_per_loc": 0.05357142857142857,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 9.035714285714286
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 333,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 28,
        "loc_per_function": 11.89,
        "blanks_per_loc": 0.12,
        "num_funs": 28,
        "comments_per_loc": 0.08,
        "tokens": 2638,
        "ccn": 31,
        "ccn_per_function": 1.1071428571428572,
        "tokens_per_function": 94.21428571428571,
        "ccn_per_token": 0.011751326762699014,
        "functions_per_token": 0.01061410159211524,
        "loc_per_token": 0.12623199393479909,
        "ccn_per_loc": 0.09309309309309309,
        "functions_per_loc": 0.08408408408408409,
        "tokens_per_loc": 7.921921921921922
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 89,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 23,
        "loc_per_function": 14.83,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.26,
        "tokens": 638,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 106.33333333333333,
        "ccn_per_token": 0.0109717868338558,
        "functions_per_token": 0.009404388714733543,
        "loc_per_token": 0.13949843260188088,
        "ccn_per_loc": 0.07865168539325842,
        "functions_per_loc": 0.06741573033707865,
        "tokens_per_loc": 7.168539325842697
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 54,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 375,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 75.0,
        "ccn_per_token": 0.013333333333333334,
        "functions_per_token": 0.013333333333333334,
        "loc_per_token": 0.144,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 6.944444444444445
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 84,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 595,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.11111111111111,
        "ccn_per_token": 0.015126050420168067,
        "functions_per_token": 0.015126050420168067,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 163,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 7.76,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.12,
        "tokens": 998,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 47.523809523809526,
        "ccn_per_token": 0.021042084168336674,
        "functions_per_token": 0.021042084168336674,
        "loc_per_token": 0.16332665330661322,
        "ccn_per_loc": 0.12883435582822086,
        "functions_per_loc": 0.12883435582822086,
        "tokens_per_loc": 6.122699386503068
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 176,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.8,
        "blanks_per_loc": 0.14,
        "num_funs": 20,
        "comments_per_loc": 0.11,
        "tokens": 1218,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 60.9,
        "ccn_per_token": 0.016420361247947456,
        "functions_per_token": 0.016420361247947456,
        "loc_per_token": 0.1444991789819376,
        "ccn_per_loc": 0.11363636363636363,
        "functions_per_loc": 0.11363636363636363,
        "tokens_per_loc": 6.920454545454546
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 71,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.88,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 432,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 54.0,
        "ccn_per_token": 0.018518518518518517,
        "functions_per_token": 0.018518518518518517,
        "loc_per_token": 0.16435185185185186,
        "ccn_per_loc": 0.11267605633802817,
        "functions_per_loc": 0.11267605633802817,
        "tokens_per_loc": 6.084507042253521
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 20,
        "loc_per_function": 8.36,
        "blanks_per_loc": 0.2,
        "num_funs": 11,
        "comments_per_loc": 0.22,
        "tokens": 558,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.72727272727273,
        "ccn_per_token": 0.01971326164874552,
        "functions_per_token": 0.01971326164874552,
        "loc_per_token": 0.16487455197132617,
        "ccn_per_loc": 0.11956521739130435,
        "functions_per_loc": 0.11956521739130435,
        "tokens_per_loc": 6.065217391304348
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 99,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.5,
        "ccn_per_token": 0.020202020202020204,
        "functions_per_token": 0.020202020202020204,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.62,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 745,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 93.125,
        "ccn_per_token": 0.013422818791946308,
        "functions_per_token": 0.010738255033557046,
        "loc_per_token": 0.14630872483221477,
        "ccn_per_loc": 0.09174311926605505,
        "functions_per_loc": 0.07339449541284404,
        "tokens_per_loc": 6.834862385321101
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 32,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 0.62,
        "tokens": 233,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.66666666666667,
        "ccn_per_token": 0.012875536480686695,
        "functions_per_token": 0.012875536480686695,
        "loc_per_token": 0.13733905579399142,
        "ccn_per_loc": 0.09375,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 7.28125
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 184,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.17,
        "num_funs": 14,
        "comments_per_loc": 0.11,
        "tokens": 1430,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 102.14285714285714,
        "ccn_per_token": 0.011188811188811189,
        "functions_per_token": 0.009790209790209791,
        "loc_per_token": 0.12867132867132866,
        "ccn_per_loc": 0.08695652173913043,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 7.771739130434782
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 24,
        "loc_per_function": 32.8,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.15,
        "tokens": 1551,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 310.2,
        "ccn_per_token": 0.0038684719535783366,
        "functions_per_token": 0.003223726627981947,
        "loc_per_token": 0.10573823339780787,
        "ccn_per_loc": 0.036585365853658534,
        "functions_per_loc": 0.03048780487804878,
        "tokens_per_loc": 9.457317073170731
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1506,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 301.2,
        "ccn_per_token": 0.0033200531208499337,
        "functions_per_token": 0.0033200531208499337,
        "loc_per_token": 0.09229747675962816,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.83453237410072
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 249,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.83,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2665,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.05555555555554,
        "ccn_per_token": 0.00675422138836773,
        "functions_per_token": 0.00675422138836773,
        "loc_per_token": 0.09343339587242026,
        "ccn_per_loc": 0.07228915662650602,
        "functions_per_loc": 0.07228915662650602,
        "tokens_per_loc": 10.70281124497992
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 21,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 619,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 77.375,
        "ccn_per_token": 0.01615508885298869,
        "functions_per_token": 0.012924071082390954,
        "loc_per_token": 0.1518578352180937,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.585106382978723
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 464,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 41,
        "loc_per_function": 12.21,
        "blanks_per_loc": 0.1,
        "num_funs": 38,
        "comments_per_loc": 0.09,
        "tokens": 3320,
        "ccn": 40,
        "ccn_per_function": 1.0526315789473684,
        "tokens_per_function": 87.36842105263158,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.01144578313253012,
        "loc_per_token": 0.13975903614457832,
        "ccn_per_loc": 0.08620689655172414,
        "functions_per_loc": 0.08189655172413793,
        "tokens_per_loc": 7.155172413793103
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestEditorFrame.java",
        "comments": 20,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 1.54,
        "tokens": 94,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 94.0,
        "ccn_per_token": 0.010638297872340425,
        "functions_per_token": 0.010638297872340425,
        "loc_per_token": 0.13829787234042554,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.230769230769231
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 144,
        "file_path": "test/ca/mcgill/cs/jetuml/testutils/CollectionAssertions.java",
        "comments": 51,
        "loc_per_function": 12,
        "blanks_per_loc": 0.15,
        "num_funs": 12,
        "comments_per_loc": 0.35,
        "tokens": 932,
        "ccn": 44,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 77.66666666666667,
        "ccn_per_token": 0.04721030042918455,
        "functions_per_token": 0.012875536480686695,
        "loc_per_token": 0.15450643776824036,
        "ccn_per_loc": 0.3055555555555556,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.472222222222222
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 28,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 172,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 57.333333333333336,
        "ccn_per_token": 0.01744186046511628,
        "functions_per_token": 0.01744186046511628,
        "loc_per_token": 0.16279069767441862,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.142857142857143
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 562,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 37.47,
        "blanks_per_loc": 0.23,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7581,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 505.4,
        "ccn_per_token": 0.002638174383326738,
        "functions_per_token": 0.0019786307874950534,
        "loc_per_token": 0.07413270017148134,
        "ccn_per_loc": 0.03558718861209965,
        "functions_per_loc": 0.026690391459074734,
        "tokens_per_loc": 13.48932384341637
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 63,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 23,
        "loc_per_function": 12.6,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 521,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 104.2,
        "ccn_per_token": 0.009596928982725527,
        "functions_per_token": 0.009596928982725527,
        "loc_per_token": 0.12092130518234165,
        "ccn_per_loc": 0.07936507936507936,
        "functions_per_loc": 0.07936507936507936,
        "tokens_per_loc": 8.26984126984127
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 91,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 20,
        "loc_per_function": 13,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.22,
        "tokens": 502,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 71.71428571428571,
        "ccn_per_token": 0.0199203187250996,
        "functions_per_token": 0.013944223107569721,
        "loc_per_token": 0.18127490039840638,
        "ccn_per_loc": 0.10989010989010989,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.516483516483516
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 74,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 22,
        "loc_per_function": 14.8,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.3,
        "tokens": 522,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 104.4,
        "ccn_per_token": 0.011494252873563218,
        "functions_per_token": 0.009578544061302681,
        "loc_per_token": 0.1417624521072797,
        "ccn_per_loc": 0.08108108108108109,
        "functions_per_loc": 0.06756756756756757,
        "tokens_per_loc": 7.054054054054054
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 191,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 31,
        "loc_per_function": 17.36,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1880,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 170.9090909090909,
        "ccn_per_token": 0.005851063829787234,
        "functions_per_token": 0.005851063829787234,
        "loc_per_token": 0.10159574468085106,
        "ccn_per_loc": 0.05759162303664921,
        "functions_per_loc": 0.05759162303664921,
        "tokens_per_loc": 9.842931937172775
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 614,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 102.33333333333333,
        "ccn_per_token": 0.03745928338762215,
        "functions_per_token": 0.009771986970684038,
        "loc_per_token": 0.18241042345276873,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.482142857142857
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 123,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 27,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1143,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 127.0,
        "ccn_per_token": 0.007874015748031496,
        "functions_per_token": 0.007874015748031496,
        "loc_per_token": 0.10761154855643044,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 9.292682926829269
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 48,
        "file_path": "src/ca/mcgill/cs/jetuml/UMLEditor.java",
        "comments": 32,
        "loc_per_function": 12,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.67,
        "tokens": 371,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.75,
        "ccn_per_token": 0.01078167115902965,
        "functions_per_token": 0.01078167115902965,
        "loc_per_token": 0.1293800539083558,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.729166666666667
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 59,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 43,
        "loc_per_function": 8.43,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.73,
        "tokens": 269,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 38.42857142857143,
        "ccn_per_token": 0.048327137546468404,
        "functions_per_token": 0.026022304832713755,
        "loc_per_token": 0.21933085501858737,
        "ccn_per_loc": 0.22033898305084745,
        "functions_per_loc": 0.11864406779661017,
        "tokens_per_loc": 4.559322033898305
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Util.java",
        "comments": 28,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 2,
        "comments_per_loc": 1.47,
        "tokens": 72,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.2638888888888889,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 3.789473684210526
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 51,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 1.31,
        "tokens": 300,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.0,
        "ccn_per_token": 0.02,
        "functions_per_token": 0.02,
        "loc_per_token": 0.13,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 7.6923076923076925
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 56,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.16,
        "num_funs": 12,
        "comments_per_loc": 0.64,
        "tokens": 385,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 32.083333333333336,
        "ccn_per_token": 0.046753246753246755,
        "functions_per_token": 0.03116883116883117,
        "loc_per_token": 0.22597402597402597,
        "ccn_per_loc": 0.20689655172413793,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.425287356321839
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramViewer.java",
        "comments": 32,
        "loc_per_function": 28,
        "blanks_per_loc": 0.07,
        "num_funs": 2,
        "comments_per_loc": 0.57,
        "tokens": 343,
        "ccn": 12,
        "ccn_per_function": 6.0,
        "tokens_per_function": 171.5,
        "ccn_per_token": 0.03498542274052478,
        "functions_per_token": 0.0058309037900874635,
        "loc_per_token": 0.16326530612244897,
        "ccn_per_loc": 0.21428571428571427,
        "functions_per_loc": 0.03571428571428571,
        "tokens_per_loc": 6.125
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramViewer.java",
        "comments": 75,
        "loc_per_function": 17.43,
        "blanks_per_loc": 0.08,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 728,
        "ccn": 28,
        "ccn_per_function": 4.0,
        "tokens_per_function": 104.0,
        "ccn_per_token": 0.038461538461538464,
        "functions_per_token": 0.009615384615384616,
        "loc_per_token": 0.16758241758241757,
        "ccn_per_loc": 0.22950819672131148,
        "functions_per_loc": 0.05737704918032787,
        "tokens_per_loc": 5.967213114754099
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 114,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 50,
        "loc_per_function": 22.8,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.44,
        "tokens": 760,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 152.0,
        "ccn_per_token": 0.021052631578947368,
        "functions_per_token": 0.006578947368421052,
        "loc_per_token": 0.15,
        "ccn_per_loc": 0.14035087719298245,
        "functions_per_loc": 0.043859649122807015,
        "tokens_per_loc": 6.666666666666667
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 30,
        "loc_per_function": 16,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 0.94,
        "tokens": 283,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 141.5,
        "ccn_per_token": 0.007067137809187279,
        "functions_per_token": 0.007067137809187279,
        "loc_per_token": 0.11307420494699646,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 8.84375
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 56,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 575,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 95.83333333333333,
        "ccn_per_token": 0.017391304347826087,
        "functions_per_token": 0.010434782608695653,
        "loc_per_token": 0.13217391304347825,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.565789473684211
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramElementView.java",
        "comments": 46,
        "loc_per_function": 15,
        "blanks_per_loc": 0.47,
        "num_funs": 0,
        "comments_per_loc": 3.07,
        "tokens": 101,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 101,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1485148514851485,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.733333333333333
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 28,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 2,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 741,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 247.0,
        "ccn_per_token": 0.014844804318488529,
        "functions_per_token": 0.004048582995951417,
        "loc_per_token": 0.09986504723346828,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 10.013513513513514
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/ObjectReferenceEdgeView.java",
        "comments": 30,
        "loc_per_function": 14.62,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.26,
        "tokens": 1045,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 130.625,
        "ccn_per_token": 0.010526315789473684,
        "functions_per_token": 0.007655502392344498,
        "loc_per_token": 0.11196172248803828,
        "ccn_per_loc": 0.09401709401709402,
        "functions_per_loc": 0.06837606837606838,
        "tokens_per_loc": 8.931623931623932
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 365,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/StateTransitionEdgeView.java",
        "comments": 65,
        "loc_per_function": 16.59,
        "blanks_per_loc": 0.1,
        "num_funs": 22,
        "comments_per_loc": 0.18,
        "tokens": 2935,
        "ccn": 49,
        "ccn_per_function": 2.227272727272727,
        "tokens_per_function": 133.4090909090909,
        "ccn_per_token": 0.016695059625212946,
        "functions_per_token": 0.007495741056218058,
        "loc_per_token": 0.12436115843270869,
        "ccn_per_loc": 0.13424657534246576,
        "functions_per_loc": 0.06027397260273973,
        "tokens_per_loc": 8.04109589041096
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 83,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/AbstractEdgeView.java",
        "comments": 48,
        "loc_per_function": 10.38,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.58,
        "tokens": 655,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 81.875,
        "ccn_per_token": 0.015267175572519083,
        "functions_per_token": 0.012213740458015267,
        "loc_per_token": 0.1267175572519084,
        "ccn_per_loc": 0.12048192771084337,
        "functions_per_loc": 0.0963855421686747,
        "tokens_per_loc": 7.891566265060241
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/StraightEdgeView.java",
        "comments": 33,
        "loc_per_function": 13.75,
        "blanks_per_loc": 0.11,
        "num_funs": 4,
        "comments_per_loc": 0.6,
        "tokens": 453,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 113.25,
        "ccn_per_token": 0.011037527593818985,
        "functions_per_token": 0.008830022075055188,
        "loc_per_token": 0.12141280353200883,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.07272727272727272,
        "tokens_per_loc": 8.236363636363636
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/ReturnEdgeView.java",
        "comments": 29,
        "loc_per_function": 18,
        "blanks_per_loc": 0.11,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 565,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 188.33333333333334,
        "ccn_per_token": 0.008849557522123894,
        "functions_per_token": 0.005309734513274336,
        "loc_per_token": 0.09557522123893805,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 10.462962962962964
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 535,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyleFactory.java",
        "comments": 97,
        "loc_per_function": 17.26,
        "blanks_per_loc": 0.1,
        "num_funs": 31,
        "comments_per_loc": 0.18,
        "tokens": 3707,
        "ccn": 112,
        "ccn_per_function": 3.6129032258064515,
        "tokens_per_function": 119.58064516129032,
        "ccn_per_token": 0.030213110331804693,
        "functions_per_token": 0.008362557323981657,
        "loc_per_token": 0.14432155381710277,
        "ccn_per_loc": 0.20934579439252338,
        "functions_per_loc": 0.05794392523364486,
        "tokens_per_loc": 6.9289719626168225
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/LabeledStraightEdgeView.java",
        "comments": 31,
        "loc_per_function": 12.75,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.61,
        "tokens": 408,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.01715686274509804,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.125,
        "ccn_per_loc": 0.13725490196078433,
        "functions_per_loc": 0.0784313725490196,
        "tokens_per_loc": 8.0
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 149,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/CallEdgeView.java",
        "comments": 31,
        "loc_per_function": 14.9,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.21,
        "tokens": 1272,
        "ccn": 16,
        "ccn_per_function": 1.6,
        "tokens_per_function": 127.2,
        "ccn_per_token": 0.012578616352201259,
        "functions_per_token": 0.007861635220125786,
        "loc_per_token": 0.11713836477987422,
        "ccn_per_loc": 0.10738255033557047,
        "functions_per_loc": 0.06711409395973154,
        "tokens_per_loc": 8.536912751677852
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 220,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentedEdgeView.java",
        "comments": 57,
        "loc_per_function": 20,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.26,
        "tokens": 1977,
        "ccn": 25,
        "ccn_per_function": 2.272727272727273,
        "tokens_per_function": 179.72727272727272,
        "ccn_per_token": 0.012645422357106728,
        "functions_per_token": 0.00556398583712696,
        "loc_per_token": 0.1112797167425392,
        "ccn_per_loc": 0.11363636363636363,
        "functions_per_loc": 0.05,
        "tokens_per_loc": 8.986363636363636
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyle.java",
        "comments": 50,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 223,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.053811659192825115,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.21973094170403587,
        "ccn_per_loc": 0.24489795918367346,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 4.551020408163265
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/EdgeView.java",
        "comments": 29,
        "loc_per_function": 7,
        "blanks_per_loc": 0.29,
        "num_funs": 0,
        "comments_per_loc": 4.14,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13725490196078433,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.285714285714286
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 57,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ClassNodeView.java",
        "comments": 29,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.51,
        "tokens": 350,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 58.333333333333336,
        "ccn_per_token": 0.022857142857142857,
        "functions_per_token": 0.017142857142857144,
        "loc_per_token": 0.16285714285714287,
        "ccn_per_loc": 0.14035087719298245,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 6.140350877192983
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 86,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/AbstractNodeView.java",
        "comments": 41,
        "loc_per_function": 14.33,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.48,
        "tokens": 597,
        "ccn": 12,
        "ccn_per_function": 2.0,
        "tokens_per_function": 99.5,
        "ccn_per_token": 0.020100502512562814,
        "functions_per_token": 0.010050251256281407,
        "loc_per_token": 0.1440536013400335,
        "ccn_per_loc": 0.13953488372093023,
        "functions_per_loc": 0.06976744186046512,
        "tokens_per_loc": 6.941860465116279
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 99,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/InterfaceNodeView.java",
        "comments": 46,
        "loc_per_function": 9,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.46,
        "tokens": 783,
        "ccn": 17,
        "ccn_per_function": 1.5454545454545454,
        "tokens_per_function": 71.18181818181819,
        "ccn_per_token": 0.021711366538952746,
        "functions_per_token": 0.0140485312899106,
        "loc_per_token": 0.12643678160919541,
        "ccn_per_loc": 0.1717171717171717,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 7.909090909090909
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NodeView.java",
        "comments": 31,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 0,
        "comments_per_loc": 3.88,
        "tokens": 66,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 66,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.12121212121212122,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.25
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 88,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/FieldNodeView.java",
        "comments": 35,
        "loc_per_function": 8.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.4,
        "tokens": 780,
        "ccn": 13,
        "ccn_per_function": 1.3,
        "tokens_per_function": 78.0,
        "ccn_per_token": 0.016666666666666666,
        "functions_per_token": 0.01282051282051282,
        "loc_per_token": 0.11282051282051282,
        "ccn_per_loc": 0.14772727272727273,
        "functions_per_loc": 0.11363636363636363,
        "tokens_per_loc": 8.863636363636363
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NoteNodeView.java",
        "comments": 30,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.45,
        "tokens": 640,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.66666666666667,
        "ccn_per_token": 0.009375,
        "functions_per_token": 0.009375,
        "loc_per_token": 0.103125,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.696969696969697
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 155,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CallNodeView.java",
        "comments": 43,
        "loc_per_function": 14.09,
        "blanks_per_loc": 0.11,
        "num_funs": 11,
        "comments_per_loc": 0.28,
        "tokens": 1068,
        "ccn": 26,
        "ccn_per_function": 2.3636363636363638,
        "tokens_per_function": 97.0909090909091,
        "ccn_per_token": 0.024344569288389514,
        "functions_per_token": 0.010299625468164793,
        "loc_per_token": 0.1451310861423221,
        "ccn_per_loc": 0.16774193548387098,
        "functions_per_loc": 0.07096774193548387,
        "tokens_per_loc": 6.890322580645162
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ImplicitParameterNodeView.java",
        "comments": 30,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.34,
        "tokens": 715,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 79.44444444444444,
        "ccn_per_token": 0.016783216783216783,
        "functions_per_token": 0.012587412587412588,
        "loc_per_token": 0.12167832167832168,
        "ccn_per_loc": 0.13793103448275862,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 8.218390804597702
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/StateNodeView.java",
        "comments": 26,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 0.76,
        "tokens": 280,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 70.0,
        "ccn_per_token": 0.014285714285714285,
        "functions_per_token": 0.014285714285714285,
        "loc_per_token": 0.12142857142857143,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 8.235294117647058
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CircularStateNodeView.java",
        "comments": 27,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.47,
        "tokens": 507,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 126.75,
        "ccn_per_token": 0.01775147928994083,
        "functions_per_token": 0.007889546351084813,
        "loc_per_token": 0.11439842209072978,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.741379310344827
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 146,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PackageNodeView.java",
        "comments": 39,
        "loc_per_function": 11.23,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.27,
        "tokens": 1176,
        "ccn": 21,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 90.46153846153847,
        "ccn_per_token": 0.017857142857142856,
        "functions_per_token": 0.011054421768707483,
        "loc_per_token": 0.12414965986394558,
        "ccn_per_loc": 0.14383561643835616,
        "functions_per_loc": 0.08904109589041095,
        "tokens_per_loc": 8.054794520547945
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 99,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ObjectNodeView.java",
        "comments": 33,
        "loc_per_function": 12.38,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.33,
        "tokens": 803,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 100.375,
        "ccn_per_token": 0.017434620174346202,
        "functions_per_token": 0.009962640099626401,
        "loc_per_token": 0.1232876712328767,
        "ccn_per_loc": 0.1414141414141414,
        "functions_per_loc": 0.08080808080808081,
        "tokens_per_loc": 8.11111111111111
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ActorNodeView.java",
        "comments": 26,
        "loc_per_function": 14.6,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 728,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 145.6,
        "ccn_per_token": 0.006868131868131868,
        "functions_per_token": 0.006868131868131868,
        "loc_per_token": 0.10027472527472528,
        "ccn_per_loc": 0.0684931506849315,
        "functions_per_loc": 0.0684931506849315,
        "tokens_per_loc": 9.972602739726028
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/UseCaseNodeView.java",
        "comments": 26,
        "loc_per_function": 8.75,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.74,
        "tokens": 311,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.75,
        "ccn_per_token": 0.012861736334405145,
        "functions_per_token": 0.012861736334405145,
        "loc_per_token": 0.11254019292604502,
        "ccn_per_loc": 0.11428571428571428,
        "functions_per_loc": 0.11428571428571428,
        "tokens_per_loc": 8.885714285714286
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PointNodeView.java",
        "comments": 27,
        "loc_per_function": 6.6,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 0.82,
        "tokens": 203,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.6,
        "ccn_per_token": 0.024630541871921183,
        "functions_per_token": 0.024630541871921183,
        "loc_per_token": 0.1625615763546798,
        "ccn_per_loc": 0.15151515151515152,
        "functions_per_loc": 0.15151515151515152,
        "tokens_per_loc": 6.151515151515151
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ClassDiagram.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.2,
        "num_funs": 4,
        "comments_per_loc": 0.51,
        "tokens": 325,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.25,
        "ccn_per_token": 0.012307692307692308,
        "functions_per_token": 0.012307692307692308,
        "loc_per_token": 0.13846153846153847,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 7.222222222222222
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ObjectDiagram.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.27,
        "num_funs": 4,
        "comments_per_loc": 0.51,
        "tokens": 297,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.25,
        "ccn_per_token": 0.013468013468013467,
        "functions_per_token": 0.013468013468013467,
        "loc_per_token": 0.15151515151515152,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 6.6
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 38,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/UseCaseDiagram.java",
        "comments": 23,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.61,
        "tokens": 280,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 70.0,
        "ccn_per_token": 0.014285714285714285,
        "functions_per_token": 0.014285714285714285,
        "loc_per_token": 0.1357142857142857,
        "ccn_per_loc": 0.10526315789473684,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 7.368421052631579
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 113,
        "loc_per_function": 8.29,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.97,
        "tokens": 576,
        "ccn": 32,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 41.142857142857146,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.024305555555555556,
        "loc_per_token": 0.2013888888888889,
        "ccn_per_loc": 0.27586206896551724,
        "functions_per_loc": 0.1206896551724138,
        "tokens_per_loc": 4.9655172413793105
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/SequenceDiagram.java",
        "comments": 23,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.72,
        "tokens": 225,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 56.25,
        "ccn_per_token": 0.017777777777777778,
        "functions_per_token": 0.017777777777777778,
        "loc_per_token": 0.14222222222222222,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.03125
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/StateDiagram.java",
        "comments": 23,
        "loc_per_function": 8.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 0.7,
        "tokens": 245,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.25,
        "ccn_per_token": 0.0163265306122449,
        "functions_per_token": 0.0163265306122449,
        "loc_per_token": 0.1346938775510204,
        "ccn_per_loc": 0.12121212121212122,
        "functions_per_loc": 0.12121212121212122,
        "tokens_per_loc": 7.424242424242424
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 34,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.86,
        "tokens": 40,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 40,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.175,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.714285714285714
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 46,
        "loc_per_function": 12.17,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.63,
        "tokens": 437,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 72.83333333333333,
        "ccn_per_token": 0.02288329519450801,
        "functions_per_token": 0.013729977116704805,
        "loc_per_token": 0.16704805491990846,
        "ccn_per_loc": 0.136986301369863,
        "functions_per_loc": 0.0821917808219178,
        "tokens_per_loc": 5.986301369863014
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 121,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 92,
        "loc_per_function": 11,
        "blanks_per_loc": 0.13,
        "num_funs": 11,
        "comments_per_loc": 0.76,
        "tokens": 752,
        "ccn": 30,
        "ccn_per_function": 2.727272727272727,
        "tokens_per_function": 68.36363636363636,
        "ccn_per_token": 0.0398936170212766,
        "functions_per_token": 0.014627659574468085,
        "loc_per_token": 0.16090425531914893,
        "ccn_per_loc": 0.24793388429752067,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.214876033057851
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 43,
        "loc_per_function": 11,
        "blanks_per_loc": 0.64,
        "num_funs": 0,
        "comments_per_loc": 3.91,
        "tokens": 78,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 78,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14102564102564102,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.090909090909091
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 47,
        "loc_per_function": 11,
        "blanks_per_loc": 0.82,
        "num_funs": 0,
        "comments_per_loc": 4.27,
        "tokens": 71,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 71,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15492957746478872,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.454545454545454
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 29,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.14,
        "tokens": 41,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 41,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17073170731707318,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.857142857142857
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 36,
        "loc_per_function": 8.86,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.58,
        "tokens": 345,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 49.285714285714285,
        "ccn_per_token": 0.03188405797101449,
        "functions_per_token": 0.020289855072463767,
        "loc_per_token": 0.17971014492753623,
        "ccn_per_loc": 0.1774193548387097,
        "functions_per_loc": 0.11290322580645161,
        "tokens_per_loc": 5.564516129032258
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ClassRelationshipEdge.java",
        "comments": 28,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 4.67,
        "tokens": 43,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 43,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13953488372093023,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.166666666666667
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 26,
        "loc_per_function": 13,
        "blanks_per_loc": 0.31,
        "num_funs": 1,
        "comments_per_loc": 2,
        "tokens": 101,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 101.0,
        "ccn_per_token": 0.009900990099009901,
        "functions_per_token": 0.009900990099009901,
        "loc_per_token": 0.12871287128712872,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.769230769230769
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 1.23,
        "tokens": 187,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.5,
        "ccn_per_token": 0.0106951871657754,
        "functions_per_token": 0.0106951871657754,
        "loc_per_token": 0.11764705882352941,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.5
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.27,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 40,
        "loc_per_function": 5.67,
        "blanks_per_loc": 0.32,
        "num_funs": 6,
        "comments_per_loc": 1.18,
        "tokens": 198,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 33.0,
        "ccn_per_token": 0.03535353535353535,
        "functions_per_token": 0.030303030303030304,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.20588235294117646,
        "functions_per_loc": 0.17647058823529413,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 27,
        "loc_per_function": 13,
        "blanks_per_loc": 0.31,
        "num_funs": 1,
        "comments_per_loc": 2.08,
        "tokens": 108,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 108.0,
        "ccn_per_token": 0.009259259259259259,
        "functions_per_token": 0.009259259259259259,
        "loc_per_token": 0.12037037037037036,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.307692307692308
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 69,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 34,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.49,
        "tokens": 372,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 46.5,
        "ccn_per_token": 0.02956989247311828,
        "functions_per_token": 0.021505376344086023,
        "loc_per_token": 0.18548387096774194,
        "ccn_per_loc": 0.15942028985507245,
        "functions_per_loc": 0.11594202898550725,
        "tokens_per_loc": 5.391304347826087
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 317,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.625,
        "ccn_per_token": 0.028391167192429023,
        "functions_per_token": 0.025236593059936908,
        "loc_per_token": 0.17665615141955837,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.660714285714286
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 1.77,
        "tokens": 101,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 101.0,
        "ccn_per_token": 0.009900990099009901,
        "functions_per_token": 0.009900990099009901,
        "loc_per_token": 0.12871287128712872,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.769230769230769
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 26,
        "loc_per_function": 13,
        "blanks_per_loc": 0.31,
        "num_funs": 1,
        "comments_per_loc": 2,
        "tokens": 101,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 101.0,
        "ccn_per_token": 0.009900990099009901,
        "functions_per_token": 0.009900990099009901,
        "loc_per_token": 0.12871287128712872,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.769230769230769
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.8,
        "tokens": 315,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.375,
        "ccn_per_token": 0.02857142857142857,
        "functions_per_token": 0.025396825396825397,
        "loc_per_token": 0.17777777777777778,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.625
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 74,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.013513513513513514,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.14864864864864866,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.7272727272727275
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 38,
        "loc_per_function": 7.71,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.7,
        "tokens": 367,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 52.42857142857143,
        "ccn_per_token": 0.01907356948228883,
        "functions_per_token": 0.01907356948228883,
        "loc_per_token": 0.14713896457765668,
        "ccn_per_loc": 0.12962962962962962,
        "functions_per_loc": 0.12962962962962962,
        "tokens_per_loc": 6.796296296296297
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.18,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ParentNode.java",
        "comments": 46,
        "loc_per_function": 10,
        "blanks_per_loc": 0.6,
        "num_funs": 0,
        "comments_per_loc": 4.6,
        "tokens": 72,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 72,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1388888888888889,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.2
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.27,
        "num_funs": 5,
        "comments_per_loc": 1.13,
        "tokens": 147,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.4,
        "ccn_per_token": 0.034013605442176874,
        "functions_per_token": 0.034013605442176874,
        "loc_per_token": 0.20408163265306123,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.9
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 40,
        "loc_per_function": 7.27,
        "blanks_per_loc": 0.18,
        "num_funs": 15,
        "comments_per_loc": 0.37,
        "tokens": 537,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 35.8,
        "ccn_per_token": 0.037243947858473,
        "functions_per_token": 0.027932960893854747,
        "loc_per_token": 0.20297951582867785,
        "ccn_per_loc": 0.1834862385321101,
        "functions_per_loc": 0.13761467889908258,
        "tokens_per_loc": 4.926605504587156
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 34,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.2,
        "num_funs": 8,
        "comments_per_loc": 0.63,
        "tokens": 324,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.5,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.024691358024691357,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 47,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 36,
        "loc_per_function": 5.88,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 198,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 24.75,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.04040404040404041,
        "loc_per_token": 0.23737373737373738,
        "ccn_per_loc": 0.19148936170212766,
        "functions_per_loc": 0.1702127659574468,
        "tokens_per_loc": 4.212765957446808
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 69,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.014492753623188406,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.15942028985507245,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.2727272727272725
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ChildNode.java",
        "comments": 42,
        "loc_per_function": 8,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.25,
        "tokens": 50,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 50,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.25
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 63,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 32,
        "loc_per_function": 9,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.51,
        "tokens": 325,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 46.42857142857143,
        "ccn_per_token": 0.03076923076923077,
        "functions_per_token": 0.021538461538461538,
        "loc_per_token": 0.19384615384615383,
        "ccn_per_loc": 0.15873015873015872,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.158730158730159
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 44,
        "loc_per_function": 6.89,
        "blanks_per_loc": 0.21,
        "num_funs": 9,
        "comments_per_loc": 0.71,
        "tokens": 314,
        "ccn": 14,
        "ccn_per_function": 1.5555555555555556,
        "tokens_per_function": 34.888888888888886,
        "ccn_per_token": 0.044585987261146494,
        "functions_per_token": 0.028662420382165606,
        "loc_per_token": 0.19745222929936307,
        "ccn_per_loc": 0.22580645161290322,
        "functions_per_loc": 0.14516129032258066,
        "tokens_per_loc": 5.064516129032258
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.27,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 43,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 31,
        "loc_per_function": 6.14,
        "blanks_per_loc": 0.26,
        "num_funs": 7,
        "comments_per_loc": 0.72,
        "tokens": 191,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 27.285714285714285,
        "ccn_per_token": 0.041884816753926704,
        "functions_per_token": 0.03664921465968586,
        "loc_per_token": 0.225130890052356,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.16279069767441862,
        "tokens_per_loc": 4.441860465116279
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.31,
        "num_funs": 2,
        "comments_per_loc": 1.62,
        "tokens": 86,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 43.0,
        "ccn_per_token": 0.023255813953488372,
        "functions_per_token": 0.023255813953488372,
        "loc_per_token": 0.18604651162790697,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.375
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 69,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.014492753623188406,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.15942028985507245,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.2727272727272725
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 69,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 9.86,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.42,
        "tokens": 360,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 51.42857142857143,
        "ccn_per_token": 0.030555555555555555,
        "functions_per_token": 0.019444444444444445,
        "loc_per_token": 0.19166666666666668,
        "ccn_per_loc": 0.15942028985507245,
        "functions_per_loc": 0.10144927536231885,
        "tokens_per_loc": 5.217391304347826
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 213,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.5,
        "ccn_per_token": 0.009389671361502348,
        "functions_per_token": 0.009389671361502348,
        "loc_per_token": 0.12206572769953052,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.192307692307692
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 111,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 15.86,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.32,
        "tokens": 696,
        "ccn": 20,
        "ccn_per_function": 2.857142857142857,
        "tokens_per_function": 99.42857142857143,
        "ccn_per_token": 0.028735632183908046,
        "functions_per_token": 0.010057471264367816,
        "loc_per_token": 0.15948275862068967,
        "ccn_per_loc": 0.18018018018018017,
        "functions_per_loc": 0.06306306306306306,
        "tokens_per_loc": 6.27027027027027
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 329,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 153,
        "loc_per_function": 17.32,
        "blanks_per_loc": 0.1,
        "num_funs": 19,
        "comments_per_loc": 0.47,
        "tokens": 2321,
        "ccn": 62,
        "ccn_per_function": 3.263157894736842,
        "tokens_per_function": 122.15789473684211,
        "ccn_per_token": 0.026712623869021974,
        "functions_per_token": 0.008186126669538992,
        "loc_per_token": 0.14174924601464886,
        "ccn_per_loc": 0.1884498480243161,
        "functions_per_loc": 0.057750759878419454,
        "tokens_per_loc": 7.054711246200608
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 88,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 33,
        "loc_per_function": 17.6,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.38,
        "tokens": 545,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 109.0,
        "ccn_per_token": 0.029357798165137616,
        "functions_per_token": 0.009174311926605505,
        "loc_per_token": 0.1614678899082569,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.056818181818181816,
        "tokens_per_loc": 6.193181818181818
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 61,
        "loc_per_function": 8.11,
        "blanks_per_loc": 0.16,
        "num_funs": 9,
        "comments_per_loc": 0.84,
        "tokens": 356,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 39.55555555555556,
        "ccn_per_token": 0.033707865168539325,
        "functions_per_token": 0.025280898876404494,
        "loc_per_token": 0.2050561797752809,
        "ccn_per_loc": 0.1643835616438356,
        "functions_per_loc": 0.1232876712328767,
        "tokens_per_loc": 4.876712328767123
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 209,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 33,
        "loc_per_function": 16.08,
        "blanks_per_loc": 0.08,
        "num_funs": 13,
        "comments_per_loc": 0.16,
        "tokens": 1463,
        "ccn": 45,
        "ccn_per_function": 3.4615384615384617,
        "tokens_per_function": 112.53846153846153,
        "ccn_per_token": 0.030758714969241284,
        "functions_per_token": 0.00888585099111415,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.215311004784689,
        "functions_per_loc": 0.06220095693779904,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 189,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 94.5,
        "ccn_per_token": 0.010582010582010581,
        "functions_per_token": 0.010582010582010581,
        "loc_per_token": 0.12698412698412698,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.875
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.25,
        "tokens": 170,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 56.666666666666664,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.01764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 38,
        "loc_per_function": 11,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.69,
        "tokens": 483,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 96.6,
        "ccn_per_token": 0.031055900621118012,
        "functions_per_token": 0.010351966873706004,
        "loc_per_token": 0.11387163561076605,
        "ccn_per_loc": 0.2727272727272727,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.781818181818181
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 8.83,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 414,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.043478260869565216,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.1280193236714976,
        "ccn_per_loc": 0.33962264150943394,
        "functions_per_loc": 0.11320754716981132,
        "tokens_per_loc": 7.811320754716981
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 231,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11688311688311688,
        "ccn_per_loc": 0.25925925925925924,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 8.555555555555555
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 138,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 46.0,
        "ccn_per_token": 0.036231884057971016,
        "functions_per_token": 0.021739130434782608,
        "loc_per_token": 0.2028985507246377,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 4.928571428571429
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.76,
        "tokens": 378,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 189.0,
        "ccn_per_token": 0.021164021164021163,
        "functions_per_token": 0.005291005291005291,
        "loc_per_token": 0.13227513227513227,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.04,
        "tokens_per_loc": 7.56
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 272,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 90.66666666666667,
        "ccn_per_token": 0.022058823529411766,
        "functions_per_token": 0.011029411764705883,
        "loc_per_token": 0.14705882352941177,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.8
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 210,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 84,
        "loc_per_function": 13.12,
        "blanks_per_loc": 0.1,
        "num_funs": 16,
        "comments_per_loc": 0.4,
        "tokens": 1175,
        "ccn": 53,
        "ccn_per_function": 3.3125,
        "tokens_per_function": 73.4375,
        "ccn_per_token": 0.0451063829787234,
        "functions_per_token": 0.013617021276595745,
        "loc_per_token": 0.17872340425531916,
        "ccn_per_loc": 0.2523809523809524,
        "functions_per_loc": 0.0761904761904762,
        "tokens_per_loc": 5.595238095238095
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 34,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.41,
        "num_funs": 3,
        "comments_per_loc": 0.83,
        "tokens": 337,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 112.33333333333333,
        "ccn_per_token": 0.01483679525222552,
        "functions_per_token": 0.008902077151335312,
        "loc_per_token": 0.12166172106824925,
        "ccn_per_loc": 0.12195121951219512,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 8.21951219512195
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.08,
        "blanks_per_loc": 0.25,
        "num_funs": 12,
        "comments_per_loc": 0.81,
        "tokens": 514,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 42.833333333333336,
        "ccn_per_token": 0.027237354085603113,
        "functions_per_token": 0.023346303501945526,
        "loc_per_token": 0.16536964980544747,
        "ccn_per_loc": 0.16470588235294117,
        "functions_per_loc": 0.1411764705882353,
        "tokens_per_loc": 6.047058823529412
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 101,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 78,
        "loc_per_function": 12.62,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1537290715372907,
        "ccn_per_loc": 0.1782178217821782,
        "functions_per_loc": 0.07920792079207921,
        "tokens_per_loc": 6.5049504950495045
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 585,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.0,
        "ccn_per_token": 0.011965811965811967,
        "functions_per_token": 0.008547008547008548,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 108,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 49,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.45,
        "tokens": 732,
        "ccn": 14,
        "ccn_per_function": 1.4,
        "tokens_per_function": 73.2,
        "ccn_per_token": 0.01912568306010929,
        "functions_per_token": 0.01366120218579235,
        "loc_per_token": 0.14754098360655737,
        "ccn_per_loc": 0.12962962962962962,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 6.777777777777778
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 609,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 152.25,
        "ccn_per_token": 0.008210180623973728,
        "functions_per_token": 0.006568144499178982,
        "loc_per_token": 0.12479474548440066,
        "ccn_per_loc": 0.06578947368421052,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.013157894736842
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 44,
        "loc_per_function": 11.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.29,
        "tokens": 233,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 77.66666666666667,
        "ccn_per_token": 0.02145922746781116,
        "functions_per_token": 0.012875536480686695,
        "loc_per_token": 0.1459227467811159,
        "ccn_per_loc": 0.14705882352941177,
        "functions_per_loc": 0.08823529411764706,
        "tokens_per_loc": 6.852941176470588
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 539,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 113,
        "loc_per_function": 15.85,
        "blanks_per_loc": 0.12,
        "num_funs": 34,
        "comments_per_loc": 0.21,
        "tokens": 3996,
        "ccn": 78,
        "ccn_per_function": 2.2941176470588234,
        "tokens_per_function": 117.52941176470588,
        "ccn_per_token": 0.01951951951951952,
        "functions_per_token": 0.00850850850850851,
        "loc_per_token": 0.1348848848848849,
        "ccn_per_loc": 0.14471243042671614,
        "functions_per_loc": 0.06307977736549165,
        "tokens_per_loc": 7.413729128014842
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 417,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 96,
        "loc_per_function": 13.45,
        "blanks_per_loc": 0.11,
        "num_funs": 31,
        "comments_per_loc": 0.23,
        "tokens": 2690,
        "ccn": 84,
        "ccn_per_function": 2.7096774193548385,
        "tokens_per_function": 86.7741935483871,
        "ccn_per_token": 0.031226765799256505,
        "functions_per_token": 0.011524163568773234,
        "loc_per_token": 0.1550185873605948,
        "ccn_per_loc": 0.2014388489208633,
        "functions_per_loc": 0.07434052757793765,
        "tokens_per_loc": 6.45083932853717
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 160,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 59,
        "loc_per_function": 11.43,
        "blanks_per_loc": 0.11,
        "num_funs": 14,
        "comments_per_loc": 0.37,
        "tokens": 1293,
        "ccn": 20,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 92.35714285714286,
        "ccn_per_token": 0.015467904098994586,
        "functions_per_token": 0.01082753286929621,
        "loc_per_token": 0.12374323279195669,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.0875,
        "tokens_per_loc": 8.08125
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1234,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.4,
        "ccn_per_token": 0.025121555915721232,
        "functions_per_token": 0.008103727714748784,
        "loc_per_token": 0.15721231766612642,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.360824742268041
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 205,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 127,
        "loc_per_function": 8.91,
        "blanks_per_loc": 0.14,
        "num_funs": 23,
        "comments_per_loc": 0.62,
        "tokens": 1042,
        "ccn": 38,
        "ccn_per_function": 1.6521739130434783,
        "tokens_per_function": 45.30434782608695,
        "ccn_per_token": 0.036468330134357005,
        "functions_per_token": 0.022072936660268713,
        "loc_per_token": 0.1967370441458733,
        "ccn_per_loc": 0.18536585365853658,
        "functions_per_loc": 0.11219512195121951,
        "tokens_per_loc": 5.082926829268293
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.76,
        "tokens": 578,
        "ccn": 29,
        "ccn_per_function": 1.8125,
        "tokens_per_function": 36.125,
        "ccn_per_token": 0.050173010380622836,
        "functions_per_token": 0.02768166089965398,
        "loc_per_token": 0.20069204152249134,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.982758620689655
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 140,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 87,
        "loc_per_function": 7.78,
        "blanks_per_loc": 0.21,
        "num_funs": 18,
        "comments_per_loc": 0.62,
        "tokens": 892,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 49.55555555555556,
        "ccn_per_token": 0.021300448430493273,
        "functions_per_token": 0.020179372197309416,
        "loc_per_token": 0.15695067264573992,
        "ccn_per_loc": 0.1357142857142857,
        "functions_per_loc": 0.12857142857142856,
        "tokens_per_loc": 6.371428571428571
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 40,
        "loc_per_function": 13,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.13978494623655913,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.153846153846154
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 41,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.17,
        "tokens": 222,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.02252252252252252,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.15765765765765766,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 6.3428571428571425
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 89,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12.71,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 643,
        "ccn": 16,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 91.85714285714286,
        "ccn_per_token": 0.024883359253499222,
        "functions_per_token": 0.01088646967340591,
        "loc_per_token": 0.13841368584758942,
        "ccn_per_loc": 0.1797752808988764,
        "functions_per_loc": 0.07865168539325842,
        "tokens_per_loc": 7.224719101123595
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 10,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 1.02,
        "tokens": 199,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 49.75,
        "ccn_per_token": 0.04020100502512563,
        "functions_per_token": 0.020100502512562814,
        "loc_per_token": 0.20100502512562815,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.975
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 108,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 18,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 776,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 129.33333333333334,
        "ccn_per_token": 0.024484536082474227,
        "functions_per_token": 0.007731958762886598,
        "loc_per_token": 0.13917525773195877,
        "ccn_per_loc": 0.17592592592592593,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 7.185185185185185
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.5,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 164,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.0,
        "ccn_per_token": 0.024390243902439025,
        "functions_per_token": 0.024390243902439025,
        "loc_per_token": 0.18292682926829268,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.13333333333333333,
        "tokens_per_loc": 5.466666666666667
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 127,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 42.333333333333336,
        "ccn_per_token": 0.03937007874015748,
        "functions_per_token": 0.023622047244094488,
        "loc_per_token": 0.2125984251968504,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.703703703703703
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 213,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 134,
        "loc_per_function": 14.2,
        "blanks_per_loc": 0.15,
        "num_funs": 15,
        "comments_per_loc": 0.63,
        "tokens": 1150,
        "ccn": 65,
        "ccn_per_function": 4.333333333333333,
        "tokens_per_function": 76.66666666666667,
        "ccn_per_token": 0.05652173913043478,
        "functions_per_token": 0.013043478260869565,
        "loc_per_token": 0.18521739130434783,
        "ccn_per_loc": 0.3051643192488263,
        "functions_per_loc": 0.07042253521126761,
        "tokens_per_loc": 5.39906103286385
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 17,
        "file_path": "src/org/json/JSONException.java",
        "comments": 19,
        "loc_per_function": 5.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 67,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 22.333333333333332,
        "ccn_per_token": 0.04477611940298507,
        "functions_per_token": 0.04477611940298507,
        "loc_per_token": 0.2537313432835821,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.17647058823529413,
        "tokens_per_loc": 3.9411764705882355
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 533,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 451,
        "loc_per_function": 14.81,
        "blanks_per_loc": 0.12,
        "num_funs": 36,
        "comments_per_loc": 0.85,
        "tokens": 3535,
        "ccn": 195,
        "ccn_per_function": 5.416666666666667,
        "tokens_per_function": 98.19444444444444,
        "ccn_per_token": 0.055162659123055166,
        "functions_per_token": 0.010183875530410185,
        "loc_per_token": 0.15077793493635078,
        "ccn_per_loc": 0.36585365853658536,
        "functions_per_loc": 0.0675422138836773,
        "tokens_per_loc": 6.632270168855535
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 179,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 11.93,
        "blanks_per_loc": 0.17,
        "num_funs": 15,
        "comments_per_loc": 1.11,
        "tokens": 1134,
        "ccn": 59,
        "ccn_per_function": 3.933333333333333,
        "tokens_per_function": 75.6,
        "ccn_per_token": 0.05202821869488536,
        "functions_per_token": 0.013227513227513227,
        "loc_per_token": 0.15784832451499117,
        "ccn_per_loc": 0.329608938547486,
        "functions_per_loc": 0.08379888268156424,
        "tokens_per_loc": 6.335195530726257
    },
    {
        "date": "2019-07-12 Rel 2.4",
        "loc": 203,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 228,
        "loc_per_function": 11.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 1.12,
        "tokens": 1249,
        "ccn": 53,
        "ccn_per_function": 3.1176470588235294,
        "tokens_per_function": 73.47058823529412,
        "ccn_per_token": 0.04243394715772618,
        "functions_per_token": 0.013610888710968775,
        "loc_per_token": 0.16253002401921537,
        "ccn_per_loc": 0.26108374384236455,
        "functions_per_loc": 0.08374384236453201,
        "tokens_per_loc": 6.152709359605911
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 23,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.31,
        "num_funs": 2,
        "comments_per_loc": 1.77,
        "tokens": 66,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 33.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.030303030303030304,
        "loc_per_token": 0.19696969696969696,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 5.076923076923077
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 355,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.0,
        "ccn_per_token": 0.014084507042253521,
        "functions_per_token": 0.014084507042253521,
        "loc_per_token": 0.13802816901408452,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.244897959183674
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 54,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 443,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.6,
        "ccn_per_token": 0.011286681715575621,
        "functions_per_token": 0.011286681715575621,
        "loc_per_token": 0.12189616252821671,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 8.203703703703704
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestUtil.java",
        "comments": 20,
        "loc_per_function": 6,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 230,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 32.857142857142854,
        "ccn_per_token": 0.030434782608695653,
        "functions_per_token": 0.030434782608695653,
        "loc_per_token": 0.1826086956521739,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.476190476190476
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 727,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.77777777777777,
        "ccn_per_token": 0.012379642365887207,
        "functions_per_token": 0.012379642365887207,
        "loc_per_token": 0.11691884456671252,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.552941176470588
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/views/TestGrid.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.24,
        "tokens": 1225,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 245.0,
        "ccn_per_token": 0.004081632653061225,
        "functions_per_token": 0.004081632653061225,
        "loc_per_token": 0.06938775510204082,
        "ccn_per_loc": 0.058823529411764705,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 14.411764705882353
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 484,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestSegmentationStrategies.java",
        "comments": 47,
        "loc_per_function": 21.04,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.1,
        "tokens": 4902,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 213.1304347826087,
        "ccn_per_token": 0.004691962464300286,
        "functions_per_token": 0.004691962464300286,
        "loc_per_token": 0.09873521011831905,
        "ccn_per_loc": 0.047520661157024795,
        "functions_per_loc": 0.047520661157024795,
        "tokens_per_loc": 10.12809917355372
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 70,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestNoteEdgeView.java",
        "comments": 28,
        "loc_per_function": 17.5,
        "blanks_per_loc": 0.26,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 597,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 149.25,
        "ccn_per_token": 0.006700167504187605,
        "functions_per_token": 0.006700167504187605,
        "loc_per_token": 0.11725293132328309,
        "ccn_per_loc": 0.05714285714285714,
        "functions_per_loc": 0.05714285714285714,
        "tokens_per_loc": 8.528571428571428
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestDependencyEdgeView.java",
        "comments": 23,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.56,
        "tokens": 268,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 89.33333333333333,
        "ccn_per_token": 0.011194029850746268,
        "functions_per_token": 0.011194029850746268,
        "loc_per_token": 0.15298507462686567,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.536585365853658
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestPackageNodeView.java",
        "comments": 23,
        "loc_per_function": 8.38,
        "blanks_per_loc": 0.17,
        "num_funs": 13,
        "comments_per_loc": 0.21,
        "tokens": 617,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 47.46153846153846,
        "ccn_per_token": 0.024311183144246355,
        "functions_per_token": 0.02106969205834684,
        "loc_per_token": 0.1766612641815235,
        "ccn_per_loc": 0.13761467889908258,
        "functions_per_loc": 0.11926605504587157,
        "tokens_per_loc": 5.660550458715596
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 90,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestInterfaceNodeView.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.26,
        "tokens": 1019,
        "ccn": 15,
        "ccn_per_function": 1.875,
        "tokens_per_function": 127.375,
        "ccn_per_token": 0.014720314033366046,
        "functions_per_token": 0.007850834151128557,
        "loc_per_token": 0.08832188420019627,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 11.322222222222223
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 103,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestClassViewNode.java",
        "comments": 23,
        "loc_per_function": 12.88,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 1421,
        "ccn": 20,
        "ccn_per_function": 2.5,
        "tokens_per_function": 177.625,
        "ccn_per_token": 0.014074595355383532,
        "functions_per_token": 0.005629838142153413,
        "loc_per_token": 0.07248416608022519,
        "ccn_per_loc": 0.1941747572815534,
        "functions_per_loc": 0.07766990291262135,
        "tokens_per_loc": 13.79611650485437
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 62,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestCallNodeView.java",
        "comments": 23,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.37,
        "tokens": 450,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 112.5,
        "ccn_per_token": 0.008888888888888889,
        "functions_per_token": 0.008888888888888889,
        "loc_per_token": 0.13777777777777778,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 7.258064516129032
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestFieldAndObjectNodeView.java",
        "comments": 38,
        "loc_per_function": 9.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.3,
        "tokens": 851,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.46153846153847,
        "ccn_per_token": 0.01527614571092832,
        "functions_per_token": 0.01527614571092832,
        "loc_per_token": 0.14806110458284372,
        "ccn_per_loc": 0.10317460317460317,
        "functions_per_loc": 0.10317460317460317,
        "tokens_per_loc": 6.753968253968254
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 130,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 27,
        "loc_per_function": 7.65,
        "blanks_per_loc": 0.16,
        "num_funs": 17,
        "comments_per_loc": 0.21,
        "tokens": 774,
        "ccn": 22,
        "ccn_per_function": 1.2941176470588236,
        "tokens_per_function": 45.529411764705884,
        "ccn_per_token": 0.028423772609819122,
        "functions_per_token": 0.021963824289405683,
        "loc_per_token": 0.16795865633074936,
        "ccn_per_loc": 0.16923076923076924,
        "functions_per_loc": 0.13076923076923078,
        "tokens_per_loc": 5.953846153846154
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2680,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 167.5,
        "ccn_per_token": 0.005970149253731343,
        "functions_per_token": 0.005970149253731343,
        "loc_per_token": 0.10708955223880597,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.337979094076655
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 284,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 27,
        "loc_per_function": 13.52,
        "blanks_per_loc": 0.11,
        "num_funs": 21,
        "comments_per_loc": 0.1,
        "tokens": 2066,
        "ccn": 23,
        "ccn_per_function": 1.0952380952380953,
        "tokens_per_function": 98.38095238095238,
        "ccn_per_token": 0.011132623426911906,
        "functions_per_token": 0.01016456921587609,
        "loc_per_token": 0.13746369796708616,
        "ccn_per_loc": 0.08098591549295775,
        "functions_per_loc": 0.07394366197183098,
        "tokens_per_loc": 7.274647887323944
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3483,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 217.6875,
        "ccn_per_token": 0.004593741027849555,
        "functions_per_token": 0.004593741027849555,
        "loc_per_token": 0.09388458225667529,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.65137614678899
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 197,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 20,
        "loc_per_function": 11.59,
        "blanks_per_loc": 0.12,
        "num_funs": 17,
        "comments_per_loc": 0.1,
        "tokens": 1940,
        "ccn": 18,
        "ccn_per_function": 1.0588235294117647,
        "tokens_per_function": 114.11764705882354,
        "ccn_per_token": 0.009278350515463918,
        "functions_per_token": 0.008762886597938144,
        "loc_per_token": 0.10154639175257732,
        "ccn_per_loc": 0.09137055837563451,
        "functions_per_loc": 0.08629441624365482,
        "tokens_per_loc": 9.847715736040609
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 163,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 35,
        "loc_per_function": 10.87,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.21,
        "tokens": 1031,
        "ccn": 15,
        "ccn_per_function": 1.0,
        "tokens_per_function": 68.73333333333333,
        "ccn_per_token": 0.014548981571290009,
        "functions_per_token": 0.014548981571290009,
        "loc_per_token": 0.15809893307468478,
        "ccn_per_loc": 0.09202453987730061,
        "functions_per_loc": 0.09202453987730061,
        "tokens_per_loc": 6.325153374233129
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.26,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 150,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 150.0,
        "ccn_per_token": 0.006666666666666667,
        "functions_per_token": 0.006666666666666667,
        "loc_per_token": 0.12666666666666668,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 7.894736842105263
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 489,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.86,
        "blanks_per_loc": 0.19,
        "num_funs": 29,
        "comments_per_loc": 0.06,
        "tokens": 4551,
        "ccn": 31,
        "ccn_per_function": 1.0689655172413792,
        "tokens_per_function": 156.93103448275863,
        "ccn_per_token": 0.0068116897385190065,
        "functions_per_token": 0.0063722258844210065,
        "loc_per_token": 0.1074489123269611,
        "ccn_per_loc": 0.06339468302658487,
        "functions_per_loc": 0.05930470347648262,
        "tokens_per_loc": 9.306748466257668
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 319,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.54,
        "blanks_per_loc": 0.19,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3074,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 236.46153846153845,
        "ccn_per_token": 0.004879635653871178,
        "functions_per_token": 0.004229017566688354,
        "loc_per_token": 0.10377358490566038,
        "ccn_per_loc": 0.047021943573667714,
        "functions_per_loc": 0.04075235109717868,
        "tokens_per_loc": 9.636363636363637
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 348,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 19.33,
        "blanks_per_loc": 0.22,
        "num_funs": 18,
        "comments_per_loc": 0.07,
        "tokens": 2926,
        "ccn": 19,
        "ccn_per_function": 1.0555555555555556,
        "tokens_per_function": 162.55555555555554,
        "ccn_per_token": 0.006493506493506494,
        "functions_per_token": 0.006151742993848257,
        "loc_per_token": 0.11893369788106631,
        "ccn_per_loc": 0.05459770114942529,
        "functions_per_loc": 0.05172413793103448,
        "tokens_per_loc": 8.408045977011493
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 46,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 23,
        "loc_per_function": 11.5,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.5,
        "tokens": 462,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 115.5,
        "ccn_per_token": 0.008658008658008658,
        "functions_per_token": 0.008658008658008658,
        "loc_per_token": 0.09956709956709957,
        "ccn_per_loc": 0.08695652173913043,
        "functions_per_loc": 0.08695652173913043,
        "tokens_per_loc": 10.043478260869565
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 50,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 27,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.54,
        "tokens": 339,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 84.75,
        "ccn_per_token": 0.011799410029498525,
        "functions_per_token": 0.011799410029498525,
        "loc_per_token": 0.14749262536873156,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 6.78
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 32,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 2,
        "comments_per_loc": 0.62,
        "tokens": 291,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 145.5,
        "ccn_per_token": 0.006872852233676976,
        "functions_per_token": 0.006872852233676976,
        "loc_per_token": 0.10996563573883161,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.09375
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 25,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.28,
        "num_funs": 2,
        "comments_per_loc": 0.8,
        "tokens": 178,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 89.0,
        "ccn_per_token": 0.011235955056179775,
        "functions_per_token": 0.011235955056179775,
        "loc_per_token": 0.1404494382022472,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 7.12
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 37,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 23,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 0.62,
        "tokens": 270,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 90.0,
        "ccn_per_token": 0.011111111111111112,
        "functions_per_token": 0.011111111111111112,
        "loc_per_token": 0.13703703703703704,
        "ccn_per_loc": 0.08108108108108109,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 7.297297297297297
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 76,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 23,
        "loc_per_function": 10.86,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.3,
        "tokens": 533,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 76.14285714285714,
        "ccn_per_token": 0.013133208255159476,
        "functions_per_token": 0.013133208255159476,
        "loc_per_token": 0.1425891181988743,
        "ccn_per_loc": 0.09210526315789473,
        "functions_per_loc": 0.09210526315789473,
        "tokens_per_loc": 7.0131578947368425
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 132,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 24,
        "loc_per_function": 16.5,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.18,
        "tokens": 1309,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 163.625,
        "ccn_per_token": 0.006111535523300229,
        "functions_per_token": 0.006111535523300229,
        "loc_per_token": 0.10084033613445378,
        "ccn_per_loc": 0.06060606060606061,
        "functions_per_loc": 0.06060606060606061,
        "tokens_per_loc": 9.916666666666666
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 133,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 24,
        "loc_per_function": 22.17,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.18,
        "tokens": 1348,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 224.66666666666666,
        "ccn_per_token": 0.004451038575667656,
        "functions_per_token": 0.004451038575667656,
        "loc_per_token": 0.09866468842729971,
        "ccn_per_loc": 0.045112781954887216,
        "functions_per_loc": 0.045112781954887216,
        "tokens_per_loc": 10.135338345864662
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 29,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 0.69,
        "tokens": 228,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.008771929824561403,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.12719298245614036,
        "ccn_per_loc": 0.06896551724137931,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 7.862068965517241
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 95,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 24,
        "loc_per_function": 15.83,
        "blanks_per_loc": 0.19,
        "num_funs": 6,
        "comments_per_loc": 0.25,
        "tokens": 923,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 153.83333333333334,
        "ccn_per_token": 0.0065005417118093175,
        "functions_per_token": 0.0065005417118093175,
        "loc_per_token": 0.10292524377031419,
        "ccn_per_loc": 0.06315789473684211,
        "functions_per_loc": 0.06315789473684211,
        "tokens_per_loc": 9.715789473684211
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 77,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.3,
        "tokens": 538,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 76.85714285714286,
        "ccn_per_token": 0.013011152416356878,
        "functions_per_token": 0.013011152416356878,
        "loc_per_token": 0.14312267657992564,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.987012987012987
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 127,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 127.0,
        "ccn_per_token": 0.007874015748031496,
        "functions_per_token": 0.007874015748031496,
        "loc_per_token": 0.16535433070866143,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.0476190476190474
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 188,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 23,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 1841,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 115.0625,
        "ccn_per_token": 0.008690928843020097,
        "functions_per_token": 0.008690928843020097,
        "loc_per_token": 0.10211841390548615,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 9.792553191489361
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 23,
        "loc_per_function": 12.73,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1534,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 139.45454545454547,
        "ccn_per_token": 0.007170795306388526,
        "functions_per_token": 0.007170795306388526,
        "loc_per_token": 0.09126466753585398,
        "ccn_per_loc": 0.07857142857142857,
        "functions_per_loc": 0.07857142857142857,
        "tokens_per_loc": 10.957142857142857
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 104,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13,
        "blanks_per_loc": 0.12,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1041,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 130.125,
        "ccn_per_token": 0.007684918347742555,
        "functions_per_token": 0.007684918347742555,
        "loc_per_token": 0.09990393852065321,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 10.009615384615385
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 24,
        "loc_per_function": 18.4,
        "blanks_per_loc": 0.23,
        "num_funs": 5,
        "comments_per_loc": 0.26,
        "tokens": 674,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 134.8,
        "ccn_per_token": 0.00741839762611276,
        "functions_per_token": 0.00741839762611276,
        "loc_per_token": 0.13649851632047477,
        "ccn_per_loc": 0.05434782608695652,
        "functions_per_loc": 0.05434782608695652,
        "tokens_per_loc": 7.326086956521739
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 169,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 23,
        "loc_per_function": 18.78,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.14,
        "tokens": 1498,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 166.44444444444446,
        "ccn_per_token": 0.006008010680907877,
        "functions_per_token": 0.006008010680907877,
        "loc_per_token": 0.11281708945260348,
        "ccn_per_loc": 0.05325443786982249,
        "functions_per_loc": 0.05325443786982249,
        "tokens_per_loc": 8.863905325443787
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 331,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 31,
        "loc_per_function": 11.82,
        "blanks_per_loc": 0.12,
        "num_funs": 28,
        "comments_per_loc": 0.09,
        "tokens": 2588,
        "ccn": 31,
        "ccn_per_function": 1.1071428571428572,
        "tokens_per_function": 92.42857142857143,
        "ccn_per_token": 0.011978361669242658,
        "functions_per_token": 0.010819165378670788,
        "loc_per_token": 0.12789799072642968,
        "ccn_per_loc": 0.09365558912386707,
        "functions_per_loc": 0.08459214501510574,
        "tokens_per_loc": 7.818731117824774
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 90,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 26,
        "loc_per_function": 15,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.29,
        "tokens": 626,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 104.33333333333333,
        "ccn_per_token": 0.011182108626198083,
        "functions_per_token": 0.009584664536741214,
        "loc_per_token": 0.14376996805111822,
        "ccn_per_loc": 0.07777777777777778,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.955555555555556
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 363,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.6,
        "ccn_per_token": 0.013774104683195593,
        "functions_per_token": 0.013774104683195593,
        "loc_per_token": 0.15151515151515152,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.6
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.11,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 555,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.666666666666664,
        "ccn_per_token": 0.016216216216216217,
        "functions_per_token": 0.016216216216216217,
        "loc_per_token": 0.14774774774774774,
        "ccn_per_loc": 0.10975609756097561,
        "functions_per_loc": 0.10975609756097561,
        "tokens_per_loc": 6.7682926829268295
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 7.81,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.14,
        "tokens": 986,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 46.95238095238095,
        "ccn_per_token": 0.02129817444219067,
        "functions_per_token": 0.02129817444219067,
        "loc_per_token": 0.1663286004056795,
        "ccn_per_loc": 0.12804878048780488,
        "functions_per_loc": 0.12804878048780488,
        "tokens_per_loc": 6.012195121951219
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 177,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 8.85,
        "blanks_per_loc": 0.14,
        "num_funs": 20,
        "comments_per_loc": 0.13,
        "tokens": 1206,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 60.3,
        "ccn_per_token": 0.01658374792703151,
        "functions_per_token": 0.01658374792703151,
        "loc_per_token": 0.14676616915422885,
        "ccn_per_loc": 0.11299435028248588,
        "functions_per_loc": 0.11299435028248588,
        "tokens_per_loc": 6.813559322033898
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 9,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.32,
        "tokens": 420,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 52.5,
        "ccn_per_token": 0.01904761904761905,
        "functions_per_token": 0.01904761904761905,
        "loc_per_token": 0.17142857142857143,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.833333333333333
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 93,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 8.45,
        "blanks_per_loc": 0.19,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 546,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.63636363636363,
        "ccn_per_token": 0.020146520146520148,
        "functions_per_token": 0.020146520146520148,
        "loc_per_token": 0.17032967032967034,
        "ccn_per_loc": 0.11827956989247312,
        "functions_per_loc": 0.11827956989247312,
        "tokens_per_loc": 5.870967741935484
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestJavaVersion.java",
        "comments": 20,
        "loc_per_function": 13.88,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.18,
        "tokens": 893,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 111.625,
        "ccn_per_token": 0.008958566629339306,
        "functions_per_token": 0.008958566629339306,
        "loc_per_token": 0.12430011198208286,
        "ccn_per_loc": 0.07207207207207207,
        "functions_per_loc": 0.07207207207207207,
        "tokens_per_loc": 8.045045045045045
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 91,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 45.5,
        "ccn_per_token": 0.02197802197802198,
        "functions_per_token": 0.02197802197802198,
        "loc_per_token": 0.18681318681318682,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.352941176470588
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 110,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.75,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 729,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 91.125,
        "ccn_per_token": 0.013717421124828532,
        "functions_per_token": 0.010973936899862825,
        "loc_per_token": 0.15089163237311384,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.07272727272727272,
        "tokens_per_loc": 6.627272727272727
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.23,
        "num_funs": 3,
        "comments_per_loc": 0.65,
        "tokens": 165,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 55.0,
        "ccn_per_token": 0.024242424242424242,
        "functions_per_token": 0.01818181818181818,
        "loc_per_token": 0.18787878787878787,
        "ccn_per_loc": 0.12903225806451613,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 5.32258064516129
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 187,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 23,
        "loc_per_function": 13.36,
        "blanks_per_loc": 0.11,
        "num_funs": 14,
        "comments_per_loc": 0.12,
        "tokens": 1425,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 101.78571428571429,
        "ccn_per_token": 0.011228070175438596,
        "functions_per_token": 0.009824561403508772,
        "loc_per_token": 0.1312280701754386,
        "ccn_per_loc": 0.0855614973262032,
        "functions_per_loc": 0.0748663101604278,
        "tokens_per_loc": 7.620320855614973
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 30,
        "loc_per_function": 32.8,
        "blanks_per_loc": 0.12,
        "num_funs": 5,
        "comments_per_loc": 0.18,
        "tokens": 1537,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 307.4,
        "ccn_per_token": 0.003903708523096942,
        "functions_per_token": 0.0032530904359141183,
        "loc_per_token": 0.10670136629798309,
        "ccn_per_loc": 0.036585365853658534,
        "functions_per_loc": 0.03048780487804878,
        "tokens_per_loc": 9.371951219512194
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 28,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1511,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 302.2,
        "ccn_per_token": 0.0033090668431502318,
        "functions_per_token": 0.0033090668431502318,
        "loc_per_token": 0.09265387160820648,
        "ccn_per_loc": 0.03571428571428571,
        "functions_per_loc": 0.03571428571428571,
        "tokens_per_loc": 10.792857142857143
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 247,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.72,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2629,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.05555555555554,
        "ccn_per_token": 0.006846709775580068,
        "functions_per_token": 0.006846709775580068,
        "loc_per_token": 0.09395207303157094,
        "ccn_per_loc": 0.0728744939271255,
        "functions_per_loc": 0.0728744939271255,
        "tokens_per_loc": 10.643724696356275
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 24,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.26,
        "tokens": 603,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 75.375,
        "ccn_per_token": 0.01658374792703151,
        "functions_per_token": 0.013266998341625208,
        "loc_per_token": 0.1558872305140962,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.414893617021277
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 468,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 44,
        "loc_per_function": 12.32,
        "blanks_per_loc": 0.1,
        "num_funs": 38,
        "comments_per_loc": 0.09,
        "tokens": 3342,
        "ccn": 40,
        "ccn_per_function": 1.0526315789473684,
        "tokens_per_function": 87.94736842105263,
        "ccn_per_token": 0.011968880909634948,
        "functions_per_token": 0.011370436864153202,
        "loc_per_token": 0.1400359066427289,
        "ccn_per_loc": 0.08547008547008547,
        "functions_per_loc": 0.0811965811965812,
        "tokens_per_loc": 7.141025641025641
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestEditorFrame.java",
        "comments": 20,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 1.54,
        "tokens": 90,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 90.0,
        "ccn_per_token": 0.011111111111111112,
        "functions_per_token": 0.011111111111111112,
        "loc_per_token": 0.14444444444444443,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.923076923076923
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 31,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 152,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.666666666666664,
        "ccn_per_token": 0.019736842105263157,
        "functions_per_token": 0.019736842105263157,
        "loc_per_token": 0.18421052631578946,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.428571428571429
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 568,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 23,
        "loc_per_function": 37.87,
        "blanks_per_loc": 0.23,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7791,
        "ccn": 28,
        "ccn_per_function": 1.8666666666666667,
        "tokens_per_function": 519.4,
        "ccn_per_token": 0.0035938903863432167,
        "functions_per_token": 0.0019252984212552945,
        "loc_per_token": 0.07290463355153382,
        "ccn_per_loc": 0.04929577464788732,
        "functions_per_loc": 0.02640845070422535,
        "tokens_per_loc": 13.716549295774648
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 64,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 26,
        "loc_per_function": 12.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 505,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 101.0,
        "ccn_per_token": 0.009900990099009901,
        "functions_per_token": 0.009900990099009901,
        "loc_per_token": 0.12673267326732673,
        "ccn_per_loc": 0.078125,
        "functions_per_loc": 0.078125,
        "tokens_per_loc": 7.890625
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 23,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.25,
        "tokens": 486,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 69.42857142857143,
        "ccn_per_token": 0.0205761316872428,
        "functions_per_token": 0.01440329218106996,
        "loc_per_token": 0.18930041152263374,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.282608695652174
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 25,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.33,
        "tokens": 510,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011764705882352941,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.14705882352941177,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.8
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 192,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 34,
        "loc_per_function": 17.45,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.18,
        "tokens": 1868,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 169.8181818181818,
        "ccn_per_token": 0.005888650963597431,
        "functions_per_token": 0.005888650963597431,
        "loc_per_token": 0.10278372591006424,
        "ccn_per_loc": 0.057291666666666664,
        "functions_per_loc": 0.057291666666666664,
        "tokens_per_loc": 9.729166666666666
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 602,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 100.33333333333333,
        "ccn_per_token": 0.03820598006644518,
        "functions_per_token": 0.009966777408637873,
        "loc_per_token": 0.18604651162790697,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.375
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 125,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 30,
        "loc_per_function": 13.89,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 1137,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 126.33333333333333,
        "ccn_per_token": 0.0079155672823219,
        "functions_per_token": 0.0079155672823219,
        "loc_per_token": 0.10993843447669305,
        "ccn_per_loc": 0.072,
        "functions_per_loc": 0.072,
        "tokens_per_loc": 9.096
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/UMLEditor.java",
        "comments": 37,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.43,
        "tokens": 607,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 101.16666666666667,
        "ccn_per_token": 0.013179571663920923,
        "functions_per_token": 0.009884678747940691,
        "loc_per_token": 0.14332784184514002,
        "ccn_per_loc": 0.09195402298850575,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 6.977011494252873
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 33,
        "loc_per_function": 8.67,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.63,
        "tokens": 205,
        "ccn": 11,
        "ccn_per_function": 1.8333333333333333,
        "tokens_per_function": 34.166666666666664,
        "ccn_per_token": 0.05365853658536585,
        "functions_per_token": 0.02926829268292683,
        "loc_per_token": 0.25365853658536586,
        "ccn_per_loc": 0.21153846153846154,
        "functions_per_loc": 0.11538461538461539,
        "tokens_per_loc": 3.9423076923076925
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Util.java",
        "comments": 28,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 2,
        "comments_per_loc": 1.47,
        "tokens": 72,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.2638888888888889,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 3.789473684210526
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 46,
        "loc_per_function": 6.6,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 1.39,
        "tokens": 237,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 47.4,
        "ccn_per_token": 0.02109704641350211,
        "functions_per_token": 0.02109704641350211,
        "loc_per_token": 0.13924050632911392,
        "ccn_per_loc": 0.15151515151515152,
        "functions_per_loc": 0.15151515151515152,
        "tokens_per_loc": 7.181818181818182
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 80,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 53,
        "loc_per_function": 7.27,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.66,
        "tokens": 309,
        "ccn": 17,
        "ccn_per_function": 1.5454545454545454,
        "tokens_per_function": 28.09090909090909,
        "ccn_per_token": 0.05501618122977346,
        "functions_per_token": 0.03559870550161812,
        "loc_per_token": 0.2588996763754045,
        "ccn_per_loc": 0.2125,
        "functions_per_loc": 0.1375,
        "tokens_per_loc": 3.8625
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 129,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramView.java",
        "comments": 76,
        "loc_per_function": 14.33,
        "blanks_per_loc": 0.1,
        "num_funs": 9,
        "comments_per_loc": 0.59,
        "tokens": 711,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 79.0,
        "ccn_per_token": 0.03656821378340366,
        "functions_per_token": 0.012658227848101266,
        "loc_per_token": 0.18143459915611815,
        "ccn_per_loc": 0.20155038759689922,
        "functions_per_loc": 0.06976744186046512,
        "tokens_per_loc": 5.511627906976744
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 113,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 49,
        "loc_per_function": 22.6,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 755,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 151.0,
        "ccn_per_token": 0.02119205298013245,
        "functions_per_token": 0.006622516556291391,
        "loc_per_token": 0.14966887417218544,
        "ccn_per_loc": 0.1415929203539823,
        "functions_per_loc": 0.04424778761061947,
        "tokens_per_loc": 6.68141592920354
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramView.java",
        "comments": 38,
        "loc_per_function": 20,
        "blanks_per_loc": 0.08,
        "num_funs": 3,
        "comments_per_loc": 0.63,
        "tokens": 349,
        "ccn": 13,
        "ccn_per_function": 4.333333333333333,
        "tokens_per_function": 116.33333333333333,
        "ccn_per_token": 0.03724928366762178,
        "functions_per_token": 0.008595988538681949,
        "loc_per_token": 0.17191977077363896,
        "ccn_per_loc": 0.21666666666666667,
        "functions_per_loc": 0.05,
        "tokens_per_loc": 5.816666666666666
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 147,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 43,
        "loc_per_function": 24.5,
        "blanks_per_loc": 0.07,
        "num_funs": 6,
        "comments_per_loc": 0.29,
        "tokens": 1171,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 195.16666666666666,
        "ccn_per_token": 0.008539709649871904,
        "functions_per_token": 0.005123825789923143,
        "loc_per_token": 0.125533731853117,
        "ccn_per_loc": 0.06802721088435375,
        "functions_per_loc": 0.04081632653061224,
        "tokens_per_loc": 7.965986394557823
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 56,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 575,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 95.83333333333333,
        "ccn_per_token": 0.017391304347826087,
        "functions_per_token": 0.010434782608695653,
        "loc_per_token": 0.13217391304347825,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.565789473684211
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramElementView.java",
        "comments": 42,
        "loc_per_function": 11,
        "blanks_per_loc": 0.45,
        "num_funs": 0,
        "comments_per_loc": 3.82,
        "tokens": 77,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 77,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 28,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 2,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 681,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 227.0,
        "ccn_per_token": 0.016152716593245228,
        "functions_per_token": 0.004405286343612335,
        "loc_per_token": 0.10866372980910426,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 9.202702702702704
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 94,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/ObjectReferenceEdgeView.java",
        "comments": 30,
        "loc_per_function": 18.8,
        "blanks_per_loc": 0.1,
        "num_funs": 5,
        "comments_per_loc": 0.32,
        "tokens": 812,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 162.4,
        "ccn_per_token": 0.009852216748768473,
        "functions_per_token": 0.006157635467980296,
        "loc_per_token": 0.11576354679802955,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.05319148936170213,
        "tokens_per_loc": 8.638297872340425
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 348,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/StateTransitionEdgeView.java",
        "comments": 65,
        "loc_per_function": 16.57,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.19,
        "tokens": 2691,
        "ccn": 49,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 128.14285714285714,
        "ccn_per_token": 0.018208844295800816,
        "functions_per_token": 0.007803790412486065,
        "loc_per_token": 0.12931995540691194,
        "ccn_per_loc": 0.14080459770114942,
        "functions_per_loc": 0.0603448275862069,
        "tokens_per_loc": 7.732758620689655
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 71,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/AbstractEdgeView.java",
        "comments": 45,
        "loc_per_function": 10.14,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.63,
        "tokens": 531,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 75.85714285714286,
        "ccn_per_token": 0.01694915254237288,
        "functions_per_token": 0.013182674199623353,
        "loc_per_token": 0.1337099811676083,
        "ccn_per_loc": 0.1267605633802817,
        "functions_per_loc": 0.09859154929577464,
        "tokens_per_loc": 7.47887323943662
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 535,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyleFactory.java",
        "comments": 97,
        "loc_per_function": 17.26,
        "blanks_per_loc": 0.1,
        "num_funs": 31,
        "comments_per_loc": 0.18,
        "tokens": 3707,
        "ccn": 112,
        "ccn_per_function": 3.6129032258064515,
        "tokens_per_function": 119.58064516129032,
        "ccn_per_token": 0.030213110331804693,
        "functions_per_token": 0.008362557323981657,
        "loc_per_token": 0.14432155381710277,
        "ccn_per_loc": 0.20934579439252338,
        "functions_per_loc": 0.05794392523364486,
        "tokens_per_loc": 6.9289719626168225
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 196,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentedEdgeView.java",
        "comments": 57,
        "loc_per_function": 19.6,
        "blanks_per_loc": 0.08,
        "num_funs": 10,
        "comments_per_loc": 0.29,
        "tokens": 1761,
        "ccn": 24,
        "ccn_per_function": 2.4,
        "tokens_per_function": 176.1,
        "ccn_per_token": 0.013628620102214651,
        "functions_per_token": 0.0056785917092561046,
        "loc_per_token": 0.11130039750141965,
        "ccn_per_loc": 0.12244897959183673,
        "functions_per_loc": 0.05102040816326531,
        "tokens_per_loc": 8.98469387755102
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyle.java",
        "comments": 50,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 223,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.053811659192825115,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.21973094170403587,
        "ccn_per_loc": 0.24489795918367346,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 4.551020408163265
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/NoteEdgeView.java",
        "comments": 26,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.16,
        "num_funs": 3,
        "comments_per_loc": 0.81,
        "tokens": 250,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 83.33333333333333,
        "ccn_per_token": 0.012,
        "functions_per_token": 0.012,
        "loc_per_token": 0.128,
        "ccn_per_loc": 0.09375,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 7.8125
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/EdgeView.java",
        "comments": 29,
        "loc_per_function": 7,
        "blanks_per_loc": 0.29,
        "num_funs": 0,
        "comments_per_loc": 4.14,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13725490196078433,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.285714285714286
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 57,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ClassNodeView.java",
        "comments": 29,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.51,
        "tokens": 350,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 58.333333333333336,
        "ccn_per_token": 0.022857142857142857,
        "functions_per_token": 0.017142857142857144,
        "loc_per_token": 0.16285714285714287,
        "ccn_per_loc": 0.14035087719298245,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 6.140350877192983
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/AbstractNodeView.java",
        "comments": 41,
        "loc_per_function": 13.2,
        "blanks_per_loc": 0.12,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 405,
        "ccn": 11,
        "ccn_per_function": 2.2,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.027160493827160494,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.16296296296296298,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.07575757575757576,
        "tokens_per_loc": 6.136363636363637
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 100,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/InterfaceNodeView.java",
        "comments": 48,
        "loc_per_function": 9.09,
        "blanks_per_loc": 0.18,
        "num_funs": 11,
        "comments_per_loc": 0.48,
        "tokens": 802,
        "ccn": 17,
        "ccn_per_function": 1.5454545454545454,
        "tokens_per_function": 72.9090909090909,
        "ccn_per_token": 0.02119700748129676,
        "functions_per_token": 0.01371571072319202,
        "loc_per_token": 0.12468827930174564,
        "ccn_per_loc": 0.17,
        "functions_per_loc": 0.11,
        "tokens_per_loc": 8.02
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NodeView.java",
        "comments": 31,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 0,
        "comments_per_loc": 3.88,
        "tokens": 66,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 66,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.12121212121212122,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.25
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 88,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/FieldNodeView.java",
        "comments": 35,
        "loc_per_function": 8.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.4,
        "tokens": 780,
        "ccn": 13,
        "ccn_per_function": 1.3,
        "tokens_per_function": 78.0,
        "ccn_per_token": 0.016666666666666666,
        "functions_per_token": 0.01282051282051282,
        "loc_per_token": 0.11282051282051282,
        "ccn_per_loc": 0.14772727272727273,
        "functions_per_loc": 0.11363636363636363,
        "tokens_per_loc": 8.863636363636363
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NoteNodeView.java",
        "comments": 30,
        "loc_per_function": 10.83,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 627,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 104.5,
        "ccn_per_token": 0.009569377990430622,
        "functions_per_token": 0.009569377990430622,
        "loc_per_token": 0.10366826156299841,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.09230769230769231,
        "tokens_per_loc": 9.646153846153846
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 155,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CallNodeView.java",
        "comments": 43,
        "loc_per_function": 14.09,
        "blanks_per_loc": 0.11,
        "num_funs": 11,
        "comments_per_loc": 0.28,
        "tokens": 1068,
        "ccn": 26,
        "ccn_per_function": 2.3636363636363638,
        "tokens_per_function": 97.0909090909091,
        "ccn_per_token": 0.024344569288389514,
        "functions_per_token": 0.010299625468164793,
        "loc_per_token": 0.1451310861423221,
        "ccn_per_loc": 0.16774193548387098,
        "functions_per_loc": 0.07096774193548387,
        "tokens_per_loc": 6.890322580645162
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ImplicitParameterNodeView.java",
        "comments": 30,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.34,
        "tokens": 715,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 79.44444444444444,
        "ccn_per_token": 0.016783216783216783,
        "functions_per_token": 0.012587412587412588,
        "loc_per_token": 0.12167832167832168,
        "ccn_per_loc": 0.13793103448275862,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 8.218390804597702
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/StateNodeView.java",
        "comments": 26,
        "loc_per_function": 8.25,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 0.79,
        "tokens": 267,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.75,
        "ccn_per_token": 0.0149812734082397,
        "functions_per_token": 0.0149812734082397,
        "loc_per_token": 0.12359550561797752,
        "ccn_per_loc": 0.12121212121212122,
        "functions_per_loc": 0.12121212121212122,
        "tokens_per_loc": 8.090909090909092
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CircularStateNodeView.java",
        "comments": 27,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.47,
        "tokens": 507,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 126.75,
        "ccn_per_token": 0.01775147928994083,
        "functions_per_token": 0.007889546351084813,
        "loc_per_token": 0.11439842209072978,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.741379310344827
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 146,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PackageNodeView.java",
        "comments": 39,
        "loc_per_function": 11.23,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.27,
        "tokens": 1176,
        "ccn": 21,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 90.46153846153847,
        "ccn_per_token": 0.017857142857142856,
        "functions_per_token": 0.011054421768707483,
        "loc_per_token": 0.12414965986394558,
        "ccn_per_loc": 0.14383561643835616,
        "functions_per_loc": 0.08904109589041095,
        "tokens_per_loc": 8.054794520547945
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 98,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ObjectNodeView.java",
        "comments": 33,
        "loc_per_function": 12.25,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.34,
        "tokens": 780,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 97.5,
        "ccn_per_token": 0.017948717948717947,
        "functions_per_token": 0.010256410256410256,
        "loc_per_token": 0.12564102564102564,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08163265306122448,
        "tokens_per_loc": 7.959183673469388
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ActorNodeView.java",
        "comments": 26,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 715,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 143.0,
        "ccn_per_token": 0.006993006993006993,
        "functions_per_token": 0.006993006993006993,
        "loc_per_token": 0.1006993006993007,
        "ccn_per_loc": 0.06944444444444445,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 9.930555555555555
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/UseCaseNodeView.java",
        "comments": 26,
        "loc_per_function": 8.75,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.74,
        "tokens": 311,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.75,
        "ccn_per_token": 0.012861736334405145,
        "functions_per_token": 0.012861736334405145,
        "loc_per_token": 0.11254019292604502,
        "ccn_per_loc": 0.11428571428571428,
        "functions_per_loc": 0.11428571428571428,
        "tokens_per_loc": 8.885714285714286
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PointNodeView.java",
        "comments": 27,
        "loc_per_function": 6.6,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 0.82,
        "tokens": 203,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.6,
        "ccn_per_token": 0.024630541871921183,
        "functions_per_token": 0.024630541871921183,
        "loc_per_token": 0.1625615763546798,
        "ccn_per_loc": 0.15151515151515152,
        "functions_per_loc": 0.15151515151515152,
        "tokens_per_loc": 6.151515151515151
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ClassDiagram.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.2,
        "num_funs": 4,
        "comments_per_loc": 0.51,
        "tokens": 325,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.25,
        "ccn_per_token": 0.012307692307692308,
        "functions_per_token": 0.012307692307692308,
        "loc_per_token": 0.13846153846153847,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 7.222222222222222
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ObjectDiagram.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.27,
        "num_funs": 4,
        "comments_per_loc": 0.51,
        "tokens": 297,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.25,
        "ccn_per_token": 0.013468013468013467,
        "functions_per_token": 0.013468013468013467,
        "loc_per_token": 0.15151515151515152,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 6.6
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 38,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/UseCaseDiagram.java",
        "comments": 23,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.61,
        "tokens": 280,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 70.0,
        "ccn_per_token": 0.014285714285714285,
        "functions_per_token": 0.014285714285714285,
        "loc_per_token": 0.1357142857142857,
        "ccn_per_loc": 0.10526315789473684,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 7.368421052631579
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 113,
        "loc_per_function": 8.29,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.97,
        "tokens": 576,
        "ccn": 32,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 41.142857142857146,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.024305555555555556,
        "loc_per_token": 0.2013888888888889,
        "ccn_per_loc": 0.27586206896551724,
        "functions_per_loc": 0.1206896551724138,
        "tokens_per_loc": 4.9655172413793105
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/SequenceDiagram.java",
        "comments": 23,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.72,
        "tokens": 225,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 56.25,
        "ccn_per_token": 0.017777777777777778,
        "functions_per_token": 0.017777777777777778,
        "loc_per_token": 0.14222222222222222,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.03125
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/StateDiagram.java",
        "comments": 23,
        "loc_per_function": 8.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 0.7,
        "tokens": 245,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.25,
        "ccn_per_token": 0.0163265306122449,
        "functions_per_token": 0.0163265306122449,
        "loc_per_token": 0.1346938775510204,
        "ccn_per_loc": 0.12121212121212122,
        "functions_per_loc": 0.12121212121212122,
        "tokens_per_loc": 7.424242424242424
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 34,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.86,
        "tokens": 40,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 40,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.175,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.714285714285714
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 81,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 46,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.57,
        "tokens": 465,
        "ccn": 11,
        "ccn_per_function": 1.8333333333333333,
        "tokens_per_function": 77.5,
        "ccn_per_token": 0.023655913978494623,
        "functions_per_token": 0.012903225806451613,
        "loc_per_token": 0.17419354838709677,
        "ccn_per_loc": 0.13580246913580246,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 5.7407407407407405
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 121,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 92,
        "loc_per_function": 11,
        "blanks_per_loc": 0.13,
        "num_funs": 11,
        "comments_per_loc": 0.76,
        "tokens": 752,
        "ccn": 30,
        "ccn_per_function": 2.727272727272727,
        "tokens_per_function": 68.36363636363636,
        "ccn_per_token": 0.0398936170212766,
        "functions_per_token": 0.014627659574468085,
        "loc_per_token": 0.16090425531914893,
        "ccn_per_loc": 0.24793388429752067,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.214876033057851
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 43,
        "loc_per_function": 11,
        "blanks_per_loc": 0.64,
        "num_funs": 0,
        "comments_per_loc": 3.91,
        "tokens": 78,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 78,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14102564102564102,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.090909090909091
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 47,
        "loc_per_function": 11,
        "blanks_per_loc": 0.82,
        "num_funs": 0,
        "comments_per_loc": 4.27,
        "tokens": 71,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 71,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15492957746478872,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.454545454545454
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 29,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.14,
        "tokens": 41,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 41,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17073170731707318,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.857142857142857
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 36,
        "loc_per_function": 8.86,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.58,
        "tokens": 345,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 49.285714285714285,
        "ccn_per_token": 0.03188405797101449,
        "functions_per_token": 0.020289855072463767,
        "loc_per_token": 0.17971014492753623,
        "ccn_per_loc": 0.1774193548387097,
        "functions_per_loc": 0.11290322580645161,
        "tokens_per_loc": 5.564516129032258
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ClassRelationshipEdge.java",
        "comments": 28,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 4.67,
        "tokens": 43,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 43,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13953488372093023,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.166666666666667
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 26,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 1.62,
        "tokens": 150,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 150.0,
        "ccn_per_token": 0.006666666666666667,
        "functions_per_token": 0.006666666666666667,
        "loc_per_token": 0.10666666666666667,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.375
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 1.23,
        "tokens": 187,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.5,
        "ccn_per_token": 0.0106951871657754,
        "functions_per_token": 0.0106951871657754,
        "loc_per_token": 0.11764705882352941,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.5
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.27,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 38,
        "loc_per_function": 14.38,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.33,
        "tokens": 868,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 108.5,
        "ccn_per_token": 0.014976958525345621,
        "functions_per_token": 0.009216589861751152,
        "loc_per_token": 0.13248847926267282,
        "ccn_per_loc": 0.11304347826086956,
        "functions_per_loc": 0.06956521739130435,
        "tokens_per_loc": 7.547826086956522
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.32,
        "num_funs": 2,
        "comments_per_loc": 1.23,
        "tokens": 185,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.5,
        "ccn_per_token": 0.010810810810810811,
        "functions_per_token": 0.010810810810810811,
        "loc_per_token": 0.11891891891891893,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.409090909090908
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 69,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 34,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.49,
        "tokens": 372,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 46.5,
        "ccn_per_token": 0.02956989247311828,
        "functions_per_token": 0.021505376344086023,
        "loc_per_token": 0.18548387096774194,
        "ccn_per_loc": 0.15942028985507245,
        "functions_per_loc": 0.11594202898550725,
        "tokens_per_loc": 5.391304347826087
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 317,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.625,
        "ccn_per_token": 0.028391167192429023,
        "functions_per_token": 0.025236593059936908,
        "loc_per_token": 0.17665615141955837,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.660714285714286
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 26,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 1.62,
        "tokens": 150,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 150.0,
        "ccn_per_token": 0.006666666666666667,
        "functions_per_token": 0.006666666666666667,
        "loc_per_token": 0.10666666666666667,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.375
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.8,
        "tokens": 315,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.375,
        "ccn_per_token": 0.02857142857142857,
        "functions_per_token": 0.025396825396825397,
        "loc_per_token": 0.17777777777777778,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.625
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 67,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 22.33,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.34,
        "tokens": 546,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 182.0,
        "ccn_per_token": 0.009157509157509158,
        "functions_per_token": 0.005494505494505495,
        "loc_per_token": 0.1227106227106227,
        "ccn_per_loc": 0.07462686567164178,
        "functions_per_loc": 0.04477611940298507,
        "tokens_per_loc": 8.149253731343284
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 43,
        "loc_per_function": 8,
        "blanks_per_loc": 0.23,
        "num_funs": 7,
        "comments_per_loc": 0.77,
        "tokens": 310,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 44.285714285714285,
        "ccn_per_token": 0.02903225806451613,
        "functions_per_token": 0.02258064516129032,
        "loc_per_token": 0.18064516129032257,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.535714285714286
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.18,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ParentNode.java",
        "comments": 46,
        "loc_per_function": 10,
        "blanks_per_loc": 0.6,
        "num_funs": 0,
        "comments_per_loc": 4.6,
        "tokens": 72,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 72,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1388888888888889,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.2
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.27,
        "num_funs": 5,
        "comments_per_loc": 1.13,
        "tokens": 147,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.4,
        "ccn_per_token": 0.034013605442176874,
        "functions_per_token": 0.034013605442176874,
        "loc_per_token": 0.20408163265306123,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.9
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 40,
        "loc_per_function": 7.27,
        "blanks_per_loc": 0.18,
        "num_funs": 15,
        "comments_per_loc": 0.37,
        "tokens": 537,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 35.8,
        "ccn_per_token": 0.037243947858473,
        "functions_per_token": 0.027932960893854747,
        "loc_per_token": 0.20297951582867785,
        "ccn_per_loc": 0.1834862385321101,
        "functions_per_loc": 0.13761467889908258,
        "tokens_per_loc": 4.926605504587156
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 34,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.2,
        "num_funs": 8,
        "comments_per_loc": 0.63,
        "tokens": 324,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.5,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.024691358024691357,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 47,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 36,
        "loc_per_function": 5.88,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 198,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 24.75,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.04040404040404041,
        "loc_per_token": 0.23737373737373738,
        "ccn_per_loc": 0.19148936170212766,
        "functions_per_loc": 0.1702127659574468,
        "tokens_per_loc": 4.212765957446808
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 69,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.014492753623188406,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.15942028985507245,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.2727272727272725
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ChildNode.java",
        "comments": 42,
        "loc_per_function": 8,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.25,
        "tokens": 50,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 50,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.25
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 63,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 32,
        "loc_per_function": 9,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.51,
        "tokens": 325,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 46.42857142857143,
        "ccn_per_token": 0.03076923076923077,
        "functions_per_token": 0.021538461538461538,
        "loc_per_token": 0.19384615384615383,
        "ccn_per_loc": 0.15873015873015872,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.158730158730159
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 44,
        "loc_per_function": 6.89,
        "blanks_per_loc": 0.21,
        "num_funs": 9,
        "comments_per_loc": 0.71,
        "tokens": 314,
        "ccn": 14,
        "ccn_per_function": 1.5555555555555556,
        "tokens_per_function": 34.888888888888886,
        "ccn_per_token": 0.044585987261146494,
        "functions_per_token": 0.028662420382165606,
        "loc_per_token": 0.19745222929936307,
        "ccn_per_loc": 0.22580645161290322,
        "functions_per_loc": 0.14516129032258066,
        "tokens_per_loc": 5.064516129032258
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.27,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 43,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 31,
        "loc_per_function": 6.14,
        "blanks_per_loc": 0.26,
        "num_funs": 7,
        "comments_per_loc": 0.72,
        "tokens": 191,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 27.285714285714285,
        "ccn_per_token": 0.041884816753926704,
        "functions_per_token": 0.03664921465968586,
        "loc_per_token": 0.225130890052356,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.16279069767441862,
        "tokens_per_loc": 4.441860465116279
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.31,
        "num_funs": 2,
        "comments_per_loc": 1.62,
        "tokens": 86,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 43.0,
        "ccn_per_token": 0.023255813953488372,
        "functions_per_token": 0.023255813953488372,
        "loc_per_token": 0.18604651162790697,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.375
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 69,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.014492753623188406,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.15942028985507245,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.2727272727272725
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 69,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 9.86,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.42,
        "tokens": 360,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 51.42857142857143,
        "ccn_per_token": 0.030555555555555555,
        "functions_per_token": 0.019444444444444445,
        "loc_per_token": 0.19166666666666668,
        "ccn_per_loc": 0.15942028985507245,
        "functions_per_loc": 0.10144927536231885,
        "tokens_per_loc": 5.217391304347826
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 213,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.5,
        "ccn_per_token": 0.009389671361502348,
        "functions_per_token": 0.009389671361502348,
        "loc_per_token": 0.12206572769953052,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.192307692307692
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 111,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 15.86,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.32,
        "tokens": 696,
        "ccn": 20,
        "ccn_per_function": 2.857142857142857,
        "tokens_per_function": 99.42857142857143,
        "ccn_per_token": 0.028735632183908046,
        "functions_per_token": 0.010057471264367816,
        "loc_per_token": 0.15948275862068967,
        "ccn_per_loc": 0.18018018018018017,
        "functions_per_loc": 0.06306306306306306,
        "tokens_per_loc": 6.27027027027027
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 324,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 150,
        "loc_per_function": 17.05,
        "blanks_per_loc": 0.09,
        "num_funs": 19,
        "comments_per_loc": 0.46,
        "tokens": 2279,
        "ccn": 62,
        "ccn_per_function": 3.263157894736842,
        "tokens_per_function": 119.94736842105263,
        "ccn_per_token": 0.02720491443615621,
        "functions_per_token": 0.008336989907854322,
        "loc_per_token": 0.1421676173760421,
        "ccn_per_loc": 0.19135802469135801,
        "functions_per_loc": 0.05864197530864197,
        "tokens_per_loc": 7.033950617283951
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 88,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 33,
        "loc_per_function": 17.6,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.38,
        "tokens": 545,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 109.0,
        "ccn_per_token": 0.029357798165137616,
        "functions_per_token": 0.009174311926605505,
        "loc_per_token": 0.1614678899082569,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.056818181818181816,
        "tokens_per_loc": 6.193181818181818
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 55,
        "loc_per_function": 6.83,
        "blanks_per_loc": 0.22,
        "num_funs": 6,
        "comments_per_loc": 1.34,
        "tokens": 222,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.02702702702702703,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.18468468468468469,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.14634146341463414,
        "tokens_per_loc": 5.414634146341464
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 209,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 33,
        "loc_per_function": 16.08,
        "blanks_per_loc": 0.08,
        "num_funs": 13,
        "comments_per_loc": 0.16,
        "tokens": 1463,
        "ccn": 45,
        "ccn_per_function": 3.4615384615384617,
        "tokens_per_function": 112.53846153846153,
        "ccn_per_token": 0.030758714969241284,
        "functions_per_token": 0.00888585099111415,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.215311004784689,
        "functions_per_loc": 0.06220095693779904,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 189,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 94.5,
        "ccn_per_token": 0.010582010582010581,
        "functions_per_token": 0.010582010582010581,
        "loc_per_token": 0.12698412698412698,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.875
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.25,
        "tokens": 170,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 56.666666666666664,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.01764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 38,
        "loc_per_function": 11,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.69,
        "tokens": 483,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 96.6,
        "ccn_per_token": 0.031055900621118012,
        "functions_per_token": 0.010351966873706004,
        "loc_per_token": 0.11387163561076605,
        "ccn_per_loc": 0.2727272727272727,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.781818181818181
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 8.83,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 414,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.043478260869565216,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.1280193236714976,
        "ccn_per_loc": 0.33962264150943394,
        "functions_per_loc": 0.11320754716981132,
        "tokens_per_loc": 7.811320754716981
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 231,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11688311688311688,
        "ccn_per_loc": 0.25925925925925924,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 8.555555555555555
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 138,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 46.0,
        "ccn_per_token": 0.036231884057971016,
        "functions_per_token": 0.021739130434782608,
        "loc_per_token": 0.2028985507246377,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 4.928571428571429
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 143,
        "file_path": "src/ca/mcgill/cs/jetuml/application/JavaVersion.java",
        "comments": 55,
        "loc_per_function": 20.43,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.38,
        "tokens": 747,
        "ccn": 25,
        "ccn_per_function": 3.5714285714285716,
        "tokens_per_function": 106.71428571428571,
        "ccn_per_token": 0.03346720214190094,
        "functions_per_token": 0.009370816599732263,
        "loc_per_token": 0.19143239625167335,
        "ccn_per_loc": 0.17482517482517482,
        "functions_per_loc": 0.04895104895104895,
        "tokens_per_loc": 5.223776223776224
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.76,
        "tokens": 378,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 189.0,
        "ccn_per_token": 0.021164021164021163,
        "functions_per_token": 0.005291005291005291,
        "loc_per_token": 0.13227513227513227,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.04,
        "tokens_per_loc": 7.56
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 272,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 90.66666666666667,
        "ccn_per_token": 0.022058823529411766,
        "functions_per_token": 0.011029411764705883,
        "loc_per_token": 0.14705882352941177,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.8
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 210,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 84,
        "loc_per_function": 13.12,
        "blanks_per_loc": 0.1,
        "num_funs": 16,
        "comments_per_loc": 0.4,
        "tokens": 1175,
        "ccn": 53,
        "ccn_per_function": 3.3125,
        "tokens_per_function": 73.4375,
        "ccn_per_token": 0.0451063829787234,
        "functions_per_token": 0.013617021276595745,
        "loc_per_token": 0.17872340425531916,
        "ccn_per_loc": 0.2523809523809524,
        "functions_per_loc": 0.0761904761904762,
        "tokens_per_loc": 5.595238095238095
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 34,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.41,
        "num_funs": 3,
        "comments_per_loc": 0.83,
        "tokens": 337,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 112.33333333333333,
        "ccn_per_token": 0.01483679525222552,
        "functions_per_token": 0.008902077151335312,
        "loc_per_token": 0.12166172106824925,
        "ccn_per_loc": 0.12195121951219512,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 8.21951219512195
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.08,
        "blanks_per_loc": 0.25,
        "num_funs": 12,
        "comments_per_loc": 0.81,
        "tokens": 509,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 42.416666666666664,
        "ccn_per_token": 0.0275049115913556,
        "functions_per_token": 0.023575638506876228,
        "loc_per_token": 0.16699410609037327,
        "ccn_per_loc": 0.16470588235294117,
        "functions_per_loc": 0.1411764705882353,
        "tokens_per_loc": 5.988235294117647
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 101,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 78,
        "loc_per_function": 12.62,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1537290715372907,
        "ccn_per_loc": 0.1782178217821782,
        "functions_per_loc": 0.07920792079207921,
        "tokens_per_loc": 6.5049504950495045
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 585,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.0,
        "ccn_per_token": 0.011965811965811967,
        "functions_per_token": 0.008547008547008548,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 42,
        "loc_per_function": 9.43,
        "blanks_per_loc": 0.15,
        "num_funs": 7,
        "comments_per_loc": 0.64,
        "tokens": 466,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 66.57142857142857,
        "ccn_per_token": 0.019313304721030045,
        "functions_per_token": 0.015021459227467811,
        "loc_per_token": 0.14163090128755365,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.10606060606060606,
        "tokens_per_loc": 7.0606060606060606
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 609,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 152.25,
        "ccn_per_token": 0.008210180623973728,
        "functions_per_token": 0.006568144499178982,
        "loc_per_token": 0.12479474548440066,
        "ccn_per_loc": 0.06578947368421052,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.013157894736842
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 46,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 285,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 95.0,
        "ccn_per_token": 0.02456140350877193,
        "functions_per_token": 0.010526315789473684,
        "loc_per_token": 0.14385964912280702,
        "ccn_per_loc": 0.17073170731707318,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.951219512195122
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 549,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 109,
        "loc_per_function": 16.15,
        "blanks_per_loc": 0.12,
        "num_funs": 34,
        "comments_per_loc": 0.2,
        "tokens": 4145,
        "ccn": 79,
        "ccn_per_function": 2.323529411764706,
        "tokens_per_function": 121.91176470588235,
        "ccn_per_token": 0.019059107358262967,
        "functions_per_token": 0.008202653799758746,
        "loc_per_token": 0.13244873341375152,
        "ccn_per_loc": 0.14389799635701275,
        "functions_per_loc": 0.061930783242258654,
        "tokens_per_loc": 7.550091074681238
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 413,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 95,
        "loc_per_function": 13.32,
        "blanks_per_loc": 0.11,
        "num_funs": 31,
        "comments_per_loc": 0.23,
        "tokens": 2624,
        "ccn": 82,
        "ccn_per_function": 2.6451612903225805,
        "tokens_per_function": 84.64516129032258,
        "ccn_per_token": 0.03125,
        "functions_per_token": 0.011814024390243903,
        "loc_per_token": 0.15739329268292682,
        "ccn_per_loc": 0.19854721549636803,
        "functions_per_loc": 0.07506053268765134,
        "tokens_per_loc": 6.353510895883777
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 140,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 54,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.11,
        "num_funs": 12,
        "comments_per_loc": 0.39,
        "tokens": 1090,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 90.83333333333333,
        "ccn_per_token": 0.01651376146788991,
        "functions_per_token": 0.011009174311926606,
        "loc_per_token": 0.12844036697247707,
        "ccn_per_loc": 0.12857142857142856,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 7.785714285714286
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1234,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.4,
        "ccn_per_token": 0.025121555915721232,
        "functions_per_token": 0.008103727714748784,
        "loc_per_token": 0.15721231766612642,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.360824742268041
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 205,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 127,
        "loc_per_function": 8.91,
        "blanks_per_loc": 0.14,
        "num_funs": 23,
        "comments_per_loc": 0.62,
        "tokens": 1042,
        "ccn": 38,
        "ccn_per_function": 1.6521739130434783,
        "tokens_per_function": 45.30434782608695,
        "ccn_per_token": 0.036468330134357005,
        "functions_per_token": 0.022072936660268713,
        "loc_per_token": 0.1967370441458733,
        "ccn_per_loc": 0.18536585365853658,
        "functions_per_loc": 0.11219512195121951,
        "tokens_per_loc": 5.082926829268293
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.19,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.77,
        "tokens": 569,
        "ccn": 30,
        "ccn_per_function": 1.875,
        "tokens_per_function": 35.5625,
        "ccn_per_token": 0.05272407732864675,
        "functions_per_token": 0.028119507908611598,
        "loc_per_token": 0.20210896309314588,
        "ccn_per_loc": 0.2608695652173913,
        "functions_per_loc": 0.1391304347826087,
        "tokens_per_loc": 4.947826086956522
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 176,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 93,
        "loc_per_function": 8.8,
        "blanks_per_loc": 0.18,
        "num_funs": 20,
        "comments_per_loc": 0.53,
        "tokens": 1019,
        "ccn": 25,
        "ccn_per_function": 1.25,
        "tokens_per_function": 50.95,
        "ccn_per_token": 0.02453385672227674,
        "functions_per_token": 0.019627085377821395,
        "loc_per_token": 0.17271835132482827,
        "ccn_per_loc": 0.14204545454545456,
        "functions_per_loc": 0.11363636363636363,
        "tokens_per_loc": 5.7897727272727275
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 38,
        "loc_per_function": 13.2,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.58,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.14193548387096774,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.07575757575757576,
        "tokens_per_loc": 7.045454545454546
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 41,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.17,
        "tokens": 222,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.02252252252252252,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.15765765765765766,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 6.3428571428571425
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 89,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12.71,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 643,
        "ccn": 16,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 91.85714285714286,
        "ccn_per_token": 0.024883359253499222,
        "functions_per_token": 0.01088646967340591,
        "loc_per_token": 0.13841368584758942,
        "ccn_per_loc": 0.1797752808988764,
        "functions_per_loc": 0.07865168539325842,
        "tokens_per_loc": 7.224719101123595
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 10,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 1.02,
        "tokens": 199,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 49.75,
        "ccn_per_token": 0.04020100502512563,
        "functions_per_token": 0.020100502512562814,
        "loc_per_token": 0.20100502512562815,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.975
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 108,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 18,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 776,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 129.33333333333334,
        "ccn_per_token": 0.024484536082474227,
        "functions_per_token": 0.007731958762886598,
        "loc_per_token": 0.13917525773195877,
        "ccn_per_loc": 0.17592592592592593,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 7.185185185185185
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.5,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 164,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.0,
        "ccn_per_token": 0.024390243902439025,
        "functions_per_token": 0.024390243902439025,
        "loc_per_token": 0.18292682926829268,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.13333333333333333,
        "tokens_per_loc": 5.466666666666667
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 127,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 42.333333333333336,
        "ccn_per_token": 0.03937007874015748,
        "functions_per_token": 0.023622047244094488,
        "loc_per_token": 0.2125984251968504,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.703703703703703
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 301,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 181,
        "loc_per_function": 14.33,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.6,
        "tokens": 1664,
        "ccn": 92,
        "ccn_per_function": 4.380952380952381,
        "tokens_per_function": 79.23809523809524,
        "ccn_per_token": 0.055288461538461536,
        "functions_per_token": 0.012620192307692308,
        "loc_per_token": 0.18088942307692307,
        "ccn_per_loc": 0.30564784053156147,
        "functions_per_loc": 0.06976744186046512,
        "tokens_per_loc": 5.528239202657807
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 126,
        "file_path": "src/org/json/JSONPointer.java",
        "comments": 123,
        "loc_per_function": 10.5,
        "blanks_per_loc": 0.2,
        "num_funs": 12,
        "comments_per_loc": 0.98,
        "tokens": 810,
        "ccn": 30,
        "ccn_per_function": 2.5,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.23809523809523808,
        "functions_per_loc": 0.09523809523809523,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 4,
        "file_path": "src/org/json/JSONString.java",
        "comments": 14,
        "loc_per_function": 4,
        "blanks_per_loc": 0,
        "num_funs": 0,
        "comments_per_loc": 3.5,
        "tokens": 16,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 16,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 13,
        "file_path": "src/org/json/JSONException.java",
        "comments": 27,
        "loc_per_function": 4.33,
        "blanks_per_loc": 0.38,
        "num_funs": 3,
        "comments_per_loc": 2.08,
        "tokens": 74,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.666666666666668,
        "ccn_per_token": 0.04054054054054054,
        "functions_per_token": 0.04054054054054054,
        "loc_per_token": 0.17567567567567569,
        "ccn_per_loc": 0.23076923076923078,
        "functions_per_loc": 0.23076923076923078,
        "tokens_per_loc": 5.6923076923076925
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 10,
        "file_path": "src/org/json/JSONPointerException.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.9,
        "num_funs": 2,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 25.5,
        "ccn_per_token": 0.0392156862745098,
        "functions_per_token": 0.0392156862745098,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 1113,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 1115,
        "loc_per_function": 11.84,
        "blanks_per_loc": 0.12,
        "num_funs": 94,
        "comments_per_loc": 1,
        "tokens": 7586,
        "ccn": 389,
        "ccn_per_function": 4.138297872340425,
        "tokens_per_function": 80.70212765957447,
        "ccn_per_token": 0.05127867123648827,
        "functions_per_token": 0.012391247034010018,
        "loc_per_token": 0.14671763775375693,
        "ccn_per_loc": 0.3495058400718778,
        "functions_per_loc": 0.08445642407906559,
        "tokens_per_loc": 6.81581311769991
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 189,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 12.6,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 1.05,
        "tokens": 1198,
        "ccn": 62,
        "ccn_per_function": 4.133333333333334,
        "tokens_per_function": 79.86666666666666,
        "ccn_per_token": 0.05175292153589316,
        "functions_per_token": 0.012520868113522538,
        "loc_per_token": 0.15776293823038398,
        "ccn_per_loc": 0.328042328042328,
        "functions_per_loc": 0.07936507936507936,
        "tokens_per_loc": 6.338624338624339
    },
    {
        "date": "2018-12-31 Rel 2.3",
        "loc": 631,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 785,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.13,
        "num_funs": 69,
        "comments_per_loc": 1.24,
        "tokens": 4149,
        "ccn": 197,
        "ccn_per_function": 2.8550724637681157,
        "tokens_per_function": 60.130434782608695,
        "ccn_per_token": 0.047481320800192815,
        "functions_per_token": 0.016630513376717282,
        "loc_per_token": 0.15208483972041456,
        "ccn_per_loc": 0.312202852614897,
        "functions_per_loc": 0.10935023771790808,
        "tokens_per_loc": 6.575277337559429
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 23,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.31,
        "num_funs": 2,
        "comments_per_loc": 1.77,
        "tokens": 66,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 33.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.030303030303030304,
        "loc_per_token": 0.19696969696969696,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 5.076923076923077
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 355,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.0,
        "ccn_per_token": 0.014084507042253521,
        "functions_per_token": 0.014084507042253521,
        "loc_per_token": 0.13802816901408452,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.244897959183674
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 54,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 443,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.6,
        "ccn_per_token": 0.011286681715575621,
        "functions_per_token": 0.011286681715575621,
        "loc_per_token": 0.12189616252821671,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 8.203703703703704
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 42,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestUtil.java",
        "comments": 20,
        "loc_per_function": 6,
        "blanks_per_loc": 0.24,
        "num_funs": 7,
        "comments_per_loc": 0.48,
        "tokens": 230,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 32.857142857142854,
        "ccn_per_token": 0.030434782608695653,
        "functions_per_token": 0.030434782608695653,
        "loc_per_token": 0.1826086956521739,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.476190476190476
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 727,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.77777777777777,
        "ccn_per_token": 0.012379642365887207,
        "functions_per_token": 0.012379642365887207,
        "loc_per_token": 0.11691884456671252,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.552941176470588
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 484,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestSegmentationStrategies.java",
        "comments": 47,
        "loc_per_function": 21.04,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.1,
        "tokens": 4902,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 213.1304347826087,
        "ccn_per_token": 0.004691962464300286,
        "functions_per_token": 0.004691962464300286,
        "loc_per_token": 0.09873521011831905,
        "ccn_per_loc": 0.047520661157024795,
        "functions_per_loc": 0.047520661157024795,
        "tokens_per_loc": 10.12809917355372
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 70,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestNoteEdgeView.java",
        "comments": 28,
        "loc_per_function": 17.5,
        "blanks_per_loc": 0.26,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 597,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 149.25,
        "ccn_per_token": 0.006700167504187605,
        "functions_per_token": 0.006700167504187605,
        "loc_per_token": 0.11725293132328309,
        "ccn_per_loc": 0.05714285714285714,
        "functions_per_loc": 0.05714285714285714,
        "tokens_per_loc": 8.528571428571428
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 41,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestDependencyEdgeView.java",
        "comments": 23,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.56,
        "tokens": 268,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 89.33333333333333,
        "ccn_per_token": 0.011194029850746268,
        "functions_per_token": 0.011194029850746268,
        "loc_per_token": 0.15298507462686567,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.536585365853658
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 109,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestPackageNodeView.java",
        "comments": 23,
        "loc_per_function": 8.38,
        "blanks_per_loc": 0.17,
        "num_funs": 13,
        "comments_per_loc": 0.21,
        "tokens": 617,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 47.46153846153846,
        "ccn_per_token": 0.024311183144246355,
        "functions_per_token": 0.02106969205834684,
        "loc_per_token": 0.1766612641815235,
        "ccn_per_loc": 0.13761467889908258,
        "functions_per_loc": 0.11926605504587157,
        "tokens_per_loc": 5.660550458715596
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 90,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestInterfaceNodeView.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.26,
        "tokens": 1019,
        "ccn": 15,
        "ccn_per_function": 1.875,
        "tokens_per_function": 127.375,
        "ccn_per_token": 0.014720314033366046,
        "functions_per_token": 0.007850834151128557,
        "loc_per_token": 0.08832188420019627,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 11.322222222222223
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 103,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestClassViewNode.java",
        "comments": 23,
        "loc_per_function": 12.88,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.22,
        "tokens": 1421,
        "ccn": 20,
        "ccn_per_function": 2.5,
        "tokens_per_function": 177.625,
        "ccn_per_token": 0.014074595355383532,
        "functions_per_token": 0.005629838142153413,
        "loc_per_token": 0.07248416608022519,
        "ccn_per_loc": 0.1941747572815534,
        "functions_per_loc": 0.07766990291262135,
        "tokens_per_loc": 13.79611650485437
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 62,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestCallNodeView.java",
        "comments": 23,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.37,
        "tokens": 450,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 112.5,
        "ccn_per_token": 0.008888888888888889,
        "functions_per_token": 0.008888888888888889,
        "loc_per_token": 0.13777777777777778,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 7.258064516129032
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestFieldAndObjectNodeView.java",
        "comments": 38,
        "loc_per_function": 9.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.3,
        "tokens": 851,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.46153846153847,
        "ccn_per_token": 0.01527614571092832,
        "functions_per_token": 0.01527614571092832,
        "loc_per_token": 0.14806110458284372,
        "ccn_per_loc": 0.10317460317460317,
        "functions_per_loc": 0.10317460317460317,
        "tokens_per_loc": 6.753968253968254
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 130,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/AbstractTestUsageScenarios.java",
        "comments": 27,
        "loc_per_function": 7.65,
        "blanks_per_loc": 0.16,
        "num_funs": 17,
        "comments_per_loc": 0.21,
        "tokens": 774,
        "ccn": 22,
        "ccn_per_function": 1.2941176470588236,
        "tokens_per_function": 45.529411764705884,
        "ccn_per_token": 0.028423772609819122,
        "functions_per_token": 0.021963824289405683,
        "loc_per_token": 0.16795865633074936,
        "ccn_per_loc": 0.16923076923076924,
        "functions_per_loc": 0.13076923076923078,
        "tokens_per_loc": 5.953846153846154
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 287,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 17.94,
        "blanks_per_loc": 0.21,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 2680,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 167.5,
        "ccn_per_token": 0.005970149253731343,
        "functions_per_token": 0.005970149253731343,
        "loc_per_token": 0.10708955223880597,
        "ccn_per_loc": 0.05574912891986063,
        "functions_per_loc": 0.05574912891986063,
        "tokens_per_loc": 9.337979094076655
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 284,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestClassDiagram.java",
        "comments": 27,
        "loc_per_function": 13.52,
        "blanks_per_loc": 0.11,
        "num_funs": 21,
        "comments_per_loc": 0.1,
        "tokens": 2066,
        "ccn": 23,
        "ccn_per_function": 1.0952380952380953,
        "tokens_per_function": 98.38095238095238,
        "ccn_per_token": 0.011132623426911906,
        "functions_per_token": 0.01016456921587609,
        "loc_per_token": 0.13746369796708616,
        "ccn_per_loc": 0.08098591549295775,
        "functions_per_loc": 0.07394366197183098,
        "tokens_per_loc": 7.274647887323944
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 327,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 26,
        "loc_per_function": 20.44,
        "blanks_per_loc": 0.2,
        "num_funs": 16,
        "comments_per_loc": 0.08,
        "tokens": 3483,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 217.6875,
        "ccn_per_token": 0.004593741027849555,
        "functions_per_token": 0.004593741027849555,
        "loc_per_token": 0.09388458225667529,
        "ccn_per_loc": 0.04892966360856269,
        "functions_per_loc": 0.04892966360856269,
        "tokens_per_loc": 10.65137614678899
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 43,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/DiagramAccessor.java",
        "comments": 23,
        "loc_per_function": 8.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.53,
        "tokens": 221,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 44.2,
        "ccn_per_token": 0.03619909502262444,
        "functions_per_token": 0.02262443438914027,
        "loc_per_token": 0.19457013574660634,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.11627906976744186,
        "tokens_per_loc": 5.1395348837209305
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 197,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 20,
        "loc_per_function": 11.59,
        "blanks_per_loc": 0.12,
        "num_funs": 17,
        "comments_per_loc": 0.1,
        "tokens": 1940,
        "ccn": 18,
        "ccn_per_function": 1.0588235294117647,
        "tokens_per_function": 114.11764705882354,
        "ccn_per_token": 0.009278350515463918,
        "functions_per_token": 0.008762886597938144,
        "loc_per_token": 0.10154639175257732,
        "ccn_per_loc": 0.09137055837563451,
        "functions_per_loc": 0.08629441624365482,
        "tokens_per_loc": 9.847715736040609
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 163,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestControlFlow.java",
        "comments": 35,
        "loc_per_function": 10.87,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.21,
        "tokens": 1031,
        "ccn": 15,
        "ccn_per_function": 1.0,
        "tokens_per_function": 68.73333333333333,
        "ccn_per_token": 0.014548981571290009,
        "functions_per_token": 0.014548981571290009,
        "loc_per_token": 0.15809893307468478,
        "ccn_per_loc": 0.09202453987730061,
        "functions_per_loc": 0.09202453987730061,
        "tokens_per_loc": 6.325153374233129
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.26,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 150,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 150.0,
        "ccn_per_token": 0.006666666666666667,
        "functions_per_token": 0.006666666666666667,
        "loc_per_token": 0.12666666666666668,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 7.894736842105263
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 463,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 28,
        "loc_per_function": 16.54,
        "blanks_per_loc": 0.19,
        "num_funs": 28,
        "comments_per_loc": 0.06,
        "tokens": 4295,
        "ccn": 30,
        "ccn_per_function": 1.0714285714285714,
        "tokens_per_function": 153.39285714285714,
        "ccn_per_token": 0.006984866123399301,
        "functions_per_token": 0.006519208381839348,
        "loc_per_token": 0.10779976717112923,
        "ccn_per_loc": 0.06479481641468683,
        "functions_per_loc": 0.06047516198704104,
        "tokens_per_loc": 9.27645788336933
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 319,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 26,
        "loc_per_function": 24.54,
        "blanks_per_loc": 0.19,
        "num_funs": 13,
        "comments_per_loc": 0.08,
        "tokens": 3074,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 236.46153846153845,
        "ccn_per_token": 0.004879635653871178,
        "functions_per_token": 0.004229017566688354,
        "loc_per_token": 0.10377358490566038,
        "ccn_per_loc": 0.047021943573667714,
        "functions_per_loc": 0.04075235109717868,
        "tokens_per_loc": 9.636363636363637
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 303,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 26,
        "loc_per_function": 18.94,
        "blanks_per_loc": 0.23,
        "num_funs": 16,
        "comments_per_loc": 0.09,
        "tokens": 2583,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 161.4375,
        "ccn_per_token": 0.006194347657762292,
        "functions_per_token": 0.006194347657762292,
        "loc_per_token": 0.1173054587688734,
        "ccn_per_loc": 0.052805280528052806,
        "functions_per_loc": 0.052805280528052806,
        "tokens_per_loc": 8.524752475247524
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 46,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestDiagramType.java",
        "comments": 23,
        "loc_per_function": 11.5,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.5,
        "tokens": 462,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 115.5,
        "ccn_per_token": 0.008658008658008658,
        "functions_per_token": 0.008658008658008658,
        "loc_per_token": 0.09956709956709957,
        "ccn_per_loc": 0.08695652173913043,
        "functions_per_loc": 0.08695652173913043,
        "tokens_per_loc": 10.043478260869565
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 50,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 27,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.54,
        "tokens": 339,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 84.75,
        "ccn_per_token": 0.011799410029498525,
        "functions_per_token": 0.011799410029498525,
        "loc_per_token": 0.14749262536873156,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 6.78
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 32,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 2,
        "comments_per_loc": 0.62,
        "tokens": 291,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 145.5,
        "ccn_per_token": 0.006872852233676976,
        "functions_per_token": 0.006872852233676976,
        "loc_per_token": 0.10996563573883161,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.09375
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 25,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.28,
        "num_funs": 2,
        "comments_per_loc": 0.8,
        "tokens": 178,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 89.0,
        "ccn_per_token": 0.011235955056179775,
        "functions_per_token": 0.011235955056179775,
        "loc_per_token": 0.1404494382022472,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 7.12
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 37,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 23,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 0.62,
        "tokens": 270,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 90.0,
        "ccn_per_token": 0.011111111111111112,
        "functions_per_token": 0.011111111111111112,
        "loc_per_token": 0.13703703703703704,
        "ccn_per_loc": 0.08108108108108109,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 7.297297297297297
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 76,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 23,
        "loc_per_function": 10.86,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.3,
        "tokens": 533,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 76.14285714285714,
        "ccn_per_token": 0.013133208255159476,
        "functions_per_token": 0.013133208255159476,
        "loc_per_token": 0.1425891181988743,
        "ccn_per_loc": 0.09210526315789473,
        "functions_per_loc": 0.09210526315789473,
        "tokens_per_loc": 7.0131578947368425
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 132,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 24,
        "loc_per_function": 16.5,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.18,
        "tokens": 1309,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 163.625,
        "ccn_per_token": 0.006111535523300229,
        "functions_per_token": 0.006111535523300229,
        "loc_per_token": 0.10084033613445378,
        "ccn_per_loc": 0.06060606060606061,
        "functions_per_loc": 0.06060606060606061,
        "tokens_per_loc": 9.916666666666666
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 133,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 24,
        "loc_per_function": 22.17,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.18,
        "tokens": 1348,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 224.66666666666666,
        "ccn_per_token": 0.004451038575667656,
        "functions_per_token": 0.004451038575667656,
        "loc_per_token": 0.09866468842729971,
        "ccn_per_loc": 0.045112781954887216,
        "functions_per_loc": 0.045112781954887216,
        "tokens_per_loc": 10.135338345864662
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 29,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 0.69,
        "tokens": 228,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.008771929824561403,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.12719298245614036,
        "ccn_per_loc": 0.06896551724137931,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 7.862068965517241
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 95,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 24,
        "loc_per_function": 15.83,
        "blanks_per_loc": 0.19,
        "num_funs": 6,
        "comments_per_loc": 0.25,
        "tokens": 923,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 153.83333333333334,
        "ccn_per_token": 0.0065005417118093175,
        "functions_per_token": 0.0065005417118093175,
        "loc_per_token": 0.10292524377031419,
        "ccn_per_loc": 0.06315789473684211,
        "functions_per_loc": 0.06315789473684211,
        "tokens_per_loc": 9.715789473684211
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 77,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.3,
        "tokens": 538,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 76.85714285714286,
        "ccn_per_token": 0.013011152416356878,
        "functions_per_token": 0.013011152416356878,
        "loc_per_token": 0.14312267657992564,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.987012987012987
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 21,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSimpleOperation.java",
        "comments": 20,
        "loc_per_function": 21,
        "blanks_per_loc": 0.24,
        "num_funs": 1,
        "comments_per_loc": 0.95,
        "tokens": 127,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 127.0,
        "ccn_per_token": 0.007874015748031496,
        "functions_per_token": 0.007874015748031496,
        "loc_per_token": 0.16535433070866143,
        "ccn_per_loc": 0.047619047619047616,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.0476190476190474
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 188,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestStateDiagramBuilder.java",
        "comments": 23,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.12,
        "tokens": 1841,
        "ccn": 16,
        "ccn_per_function": 1.0,
        "tokens_per_function": 115.0625,
        "ccn_per_token": 0.008690928843020097,
        "functions_per_token": 0.008690928843020097,
        "loc_per_token": 0.10211841390548615,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 9.792553191489361
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestUseCaseDiagramBuilder.java",
        "comments": 23,
        "loc_per_function": 12.73,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.16,
        "tokens": 1534,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 139.45454545454547,
        "ccn_per_token": 0.007170795306388526,
        "functions_per_token": 0.007170795306388526,
        "loc_per_token": 0.09126466753585398,
        "ccn_per_loc": 0.07857142857142857,
        "functions_per_loc": 0.07857142857142857,
        "tokens_per_loc": 10.957142857142857
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 104,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestCompoundOperation.java",
        "comments": 21,
        "loc_per_function": 13,
        "blanks_per_loc": 0.12,
        "num_funs": 8,
        "comments_per_loc": 0.2,
        "tokens": 1041,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 130.125,
        "ccn_per_token": 0.007684918347742555,
        "functions_per_token": 0.007684918347742555,
        "loc_per_token": 0.09990393852065321,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 10.009615384615385
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestDiagramOperationProcessor.java",
        "comments": 24,
        "loc_per_function": 18.4,
        "blanks_per_loc": 0.23,
        "num_funs": 5,
        "comments_per_loc": 0.26,
        "tokens": 674,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 134.8,
        "ccn_per_token": 0.00741839762611276,
        "functions_per_token": 0.00741839762611276,
        "loc_per_token": 0.13649851632047477,
        "ccn_per_loc": 0.05434782608695652,
        "functions_per_loc": 0.05434782608695652,
        "tokens_per_loc": 7.326086956521739
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 169,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestObjectDiagramBuilder.java",
        "comments": 23,
        "loc_per_function": 18.78,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.14,
        "tokens": 1498,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 166.44444444444446,
        "ccn_per_token": 0.006008010680907877,
        "functions_per_token": 0.006008010680907877,
        "loc_per_token": 0.11281708945260348,
        "ccn_per_loc": 0.05325443786982249,
        "functions_per_loc": 0.05325443786982249,
        "tokens_per_loc": 8.863905325443787
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 331,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestClassDiagramBuilder.java",
        "comments": 31,
        "loc_per_function": 11.82,
        "blanks_per_loc": 0.12,
        "num_funs": 28,
        "comments_per_loc": 0.09,
        "tokens": 2588,
        "ccn": 31,
        "ccn_per_function": 1.1071428571428572,
        "tokens_per_function": 92.42857142857143,
        "ccn_per_token": 0.011978361669242658,
        "functions_per_token": 0.010819165378670788,
        "loc_per_token": 0.12789799072642968,
        "ccn_per_loc": 0.09365558912386707,
        "functions_per_loc": 0.08459214501510574,
        "tokens_per_loc": 7.818731117824774
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 90,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/TestSequenceDiagramBuilder.java",
        "comments": 26,
        "loc_per_function": 15,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.29,
        "tokens": 626,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 104.33333333333333,
        "ccn_per_token": 0.011182108626198083,
        "functions_per_token": 0.009584664536741214,
        "loc_per_token": 0.14376996805111822,
        "ccn_per_loc": 0.07777777777777778,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.955555555555556
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 55,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestClassDiagramEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 363,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.6,
        "ccn_per_token": 0.013774104683195593,
        "functions_per_token": 0.013774104683195593,
        "loc_per_token": 0.15151515151515152,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.6
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 82,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestConstraintSet.java",
        "comments": 20,
        "loc_per_function": 9.11,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 555,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.666666666666664,
        "ccn_per_token": 0.016216216216216217,
        "functions_per_token": 0.016216216216216217,
        "loc_per_token": 0.14774774774774774,
        "ccn_per_loc": 0.10975609756097561,
        "functions_per_loc": 0.10975609756097561,
        "tokens_per_loc": 6.7682926829268295
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestSequenceDiagramEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 7.81,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.14,
        "tokens": 986,
        "ccn": 21,
        "ccn_per_function": 1.0,
        "tokens_per_function": 46.95238095238095,
        "ccn_per_token": 0.02129817444219067,
        "functions_per_token": 0.02129817444219067,
        "loc_per_token": 0.1663286004056795,
        "ccn_per_loc": 0.12804878048780488,
        "functions_per_loc": 0.12804878048780488,
        "tokens_per_loc": 6.012195121951219
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 177,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 8.85,
        "blanks_per_loc": 0.14,
        "num_funs": 20,
        "comments_per_loc": 0.13,
        "tokens": 1206,
        "ccn": 20,
        "ccn_per_function": 1.0,
        "tokens_per_function": 60.3,
        "ccn_per_token": 0.01658374792703151,
        "functions_per_token": 0.01658374792703151,
        "loc_per_token": 0.14676616915422885,
        "ccn_per_loc": 0.11299435028248588,
        "functions_per_loc": 0.11299435028248588,
        "tokens_per_loc": 6.813559322033898
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 72,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestStateDiagramEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 9,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.32,
        "tokens": 420,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 52.5,
        "ccn_per_token": 0.01904761904761905,
        "functions_per_token": 0.01904761904761905,
        "loc_per_token": 0.17142857142857143,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.833333333333333
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 93,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/builder/constraints/TestObjectDiagramEdgeConstraints.java",
        "comments": 23,
        "loc_per_function": 8.45,
        "blanks_per_loc": 0.19,
        "num_funs": 11,
        "comments_per_loc": 0.25,
        "tokens": 546,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 49.63636363636363,
        "ccn_per_token": 0.020146520146520148,
        "functions_per_token": 0.020146520146520148,
        "loc_per_token": 0.17032967032967034,
        "ccn_per_loc": 0.11827956989247312,
        "functions_per_loc": 0.11827956989247312,
        "tokens_per_loc": 5.870967741935484
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestJavaVersion.java",
        "comments": 20,
        "loc_per_function": 13.88,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.18,
        "tokens": 893,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 111.625,
        "ccn_per_token": 0.008958566629339306,
        "functions_per_token": 0.008958566629339306,
        "loc_per_token": 0.12430011198208286,
        "ccn_per_loc": 0.07207207207207207,
        "functions_per_loc": 0.07207207207207207,
        "tokens_per_loc": 8.045045045045045
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 91,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 45.5,
        "ccn_per_token": 0.02197802197802198,
        "functions_per_token": 0.02197802197802198,
        "loc_per_token": 0.18681318681318682,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.352941176470588
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 110,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 13.75,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.21,
        "tokens": 729,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 91.125,
        "ccn_per_token": 0.013717421124828532,
        "functions_per_token": 0.010973936899862825,
        "loc_per_token": 0.15089163237311384,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.07272727272727272,
        "tokens_per_loc": 6.627272727272727
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.23,
        "num_funs": 3,
        "comments_per_loc": 0.65,
        "tokens": 165,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 55.0,
        "ccn_per_token": 0.024242424242424242,
        "functions_per_token": 0.01818181818181818,
        "loc_per_token": 0.18787878787878787,
        "ccn_per_loc": 0.12903225806451613,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 5.32258064516129
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 170,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 23,
        "loc_per_function": 14.17,
        "blanks_per_loc": 0.11,
        "num_funs": 12,
        "comments_per_loc": 0.14,
        "tokens": 1300,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 108.33333333333333,
        "ccn_per_token": 0.010769230769230769,
        "functions_per_token": 0.009230769230769232,
        "loc_per_token": 0.13076923076923078,
        "ccn_per_loc": 0.08235294117647059,
        "functions_per_loc": 0.07058823529411765,
        "tokens_per_loc": 7.647058823529412
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 164,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 30,
        "loc_per_function": 32.8,
        "blanks_per_loc": 0.12,
        "num_funs": 5,
        "comments_per_loc": 0.18,
        "tokens": 1537,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 307.4,
        "ccn_per_token": 0.003903708523096942,
        "functions_per_token": 0.0032530904359141183,
        "loc_per_token": 0.10670136629798309,
        "ccn_per_loc": 0.036585365853658534,
        "functions_per_loc": 0.03048780487804878,
        "tokens_per_loc": 9.371951219512194
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 28,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1511,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 302.2,
        "ccn_per_token": 0.0033090668431502318,
        "functions_per_token": 0.0033090668431502318,
        "loc_per_token": 0.09265387160820648,
        "ccn_per_loc": 0.03571428571428571,
        "functions_per_loc": 0.03571428571428571,
        "tokens_per_loc": 10.792857142857143
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 247,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.72,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2629,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.05555555555554,
        "ccn_per_token": 0.006846709775580068,
        "functions_per_token": 0.006846709775580068,
        "loc_per_token": 0.09395207303157094,
        "ccn_per_loc": 0.0728744939271255,
        "functions_per_loc": 0.0728744939271255,
        "tokens_per_loc": 10.643724696356275
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 24,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.26,
        "tokens": 603,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 75.375,
        "ccn_per_token": 0.01658374792703151,
        "functions_per_token": 0.013266998341625208,
        "loc_per_token": 0.1558872305140962,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.414893617021277
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 468,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 44,
        "loc_per_function": 12.32,
        "blanks_per_loc": 0.1,
        "num_funs": 38,
        "comments_per_loc": 0.09,
        "tokens": 3342,
        "ccn": 40,
        "ccn_per_function": 1.0526315789473684,
        "tokens_per_function": 87.94736842105263,
        "ccn_per_token": 0.011968880909634948,
        "functions_per_token": 0.011370436864153202,
        "loc_per_token": 0.1400359066427289,
        "ccn_per_loc": 0.08547008547008547,
        "functions_per_loc": 0.0811965811965812,
        "tokens_per_loc": 7.141025641025641
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestEditorFrame.java",
        "comments": 20,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 1.54,
        "tokens": 90,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 90.0,
        "ccn_per_token": 0.011111111111111112,
        "functions_per_token": 0.011111111111111112,
        "loc_per_token": 0.14444444444444443,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.923076923076923
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 31,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 152,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.666666666666664,
        "ccn_per_token": 0.019736842105263157,
        "functions_per_token": 0.019736842105263157,
        "loc_per_token": 0.18421052631578946,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.428571428571429
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 568,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 23,
        "loc_per_function": 37.87,
        "blanks_per_loc": 0.23,
        "num_funs": 15,
        "comments_per_loc": 0.04,
        "tokens": 7791,
        "ccn": 28,
        "ccn_per_function": 1.8666666666666667,
        "tokens_per_function": 519.4,
        "ccn_per_token": 0.0035938903863432167,
        "functions_per_token": 0.0019252984212552945,
        "loc_per_token": 0.07290463355153382,
        "ccn_per_loc": 0.04929577464788732,
        "functions_per_loc": 0.02640845070422535,
        "tokens_per_loc": 13.716549295774648
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 64,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 26,
        "loc_per_function": 12.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 505,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 101.0,
        "ccn_per_token": 0.009900990099009901,
        "functions_per_token": 0.009900990099009901,
        "loc_per_token": 0.12673267326732673,
        "ccn_per_loc": 0.078125,
        "functions_per_loc": 0.078125,
        "tokens_per_loc": 7.890625
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 23,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.25,
        "tokens": 486,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 69.42857142857143,
        "ccn_per_token": 0.0205761316872428,
        "functions_per_token": 0.01440329218106996,
        "loc_per_token": 0.18930041152263374,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.282608695652174
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 25,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.33,
        "tokens": 510,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011764705882352941,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.14705882352941177,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.8
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 192,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 34,
        "loc_per_function": 17.45,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.18,
        "tokens": 1868,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 169.8181818181818,
        "ccn_per_token": 0.005888650963597431,
        "functions_per_token": 0.005888650963597431,
        "loc_per_token": 0.10278372591006424,
        "ccn_per_loc": 0.057291666666666664,
        "functions_per_loc": 0.057291666666666664,
        "tokens_per_loc": 9.729166666666666
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 602,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 100.33333333333333,
        "ccn_per_token": 0.03820598006644518,
        "functions_per_token": 0.009966777408637873,
        "loc_per_token": 0.18604651162790697,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.375
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 125,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 30,
        "loc_per_function": 13.89,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 1137,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 126.33333333333333,
        "ccn_per_token": 0.0079155672823219,
        "functions_per_token": 0.0079155672823219,
        "loc_per_token": 0.10993843447669305,
        "ccn_per_loc": 0.072,
        "functions_per_loc": 0.072,
        "tokens_per_loc": 9.096
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/UMLEditor.java",
        "comments": 37,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.43,
        "tokens": 607,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 101.16666666666667,
        "ccn_per_token": 0.013179571663920923,
        "functions_per_token": 0.009884678747940691,
        "loc_per_token": 0.14332784184514002,
        "ccn_per_loc": 0.09195402298850575,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 6.977011494252873
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Dimension.java",
        "comments": 33,
        "loc_per_function": 6.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 1.32,
        "tokens": 95,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 23.75,
        "ccn_per_token": 0.05263157894736842,
        "functions_per_token": 0.042105263157894736,
        "loc_per_token": 0.2631578947368421,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.16,
        "tokens_per_loc": 3.8
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Util.java",
        "comments": 28,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.16,
        "num_funs": 2,
        "comments_per_loc": 1.47,
        "tokens": 72,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.2638888888888889,
        "ccn_per_loc": 0.21052631578947367,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 3.789473684210526
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 46,
        "loc_per_function": 6.6,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 1.39,
        "tokens": 237,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 47.4,
        "ccn_per_token": 0.02109704641350211,
        "functions_per_token": 0.02109704641350211,
        "loc_per_token": 0.13924050632911392,
        "ccn_per_loc": 0.15151515151515152,
        "functions_per_loc": 0.15151515151515152,
        "tokens_per_loc": 7.181818181818182
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 80,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 53,
        "loc_per_function": 7.27,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.66,
        "tokens": 309,
        "ccn": 17,
        "ccn_per_function": 1.5454545454545454,
        "tokens_per_function": 28.09090909090909,
        "ccn_per_token": 0.05501618122977346,
        "functions_per_token": 0.03559870550161812,
        "loc_per_token": 0.2588996763754045,
        "ccn_per_loc": 0.2125,
        "functions_per_loc": 0.1375,
        "tokens_per_loc": 3.8625
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 111,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramView.java",
        "comments": 70,
        "loc_per_function": 13.88,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.63,
        "tokens": 615,
        "ccn": 22,
        "ccn_per_function": 2.75,
        "tokens_per_function": 76.875,
        "ccn_per_token": 0.03577235772357724,
        "functions_per_token": 0.013008130081300813,
        "loc_per_token": 0.18048780487804877,
        "ccn_per_loc": 0.1981981981981982,
        "functions_per_loc": 0.07207207207207207,
        "tokens_per_loc": 5.54054054054054
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 113,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 49,
        "loc_per_function": 22.6,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 755,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 151.0,
        "ccn_per_token": 0.02119205298013245,
        "functions_per_token": 0.006622516556291391,
        "loc_per_token": 0.14966887417218544,
        "ccn_per_loc": 0.1415929203539823,
        "functions_per_loc": 0.04424778761061947,
        "tokens_per_loc": 6.68141592920354
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/views/SequenceDiagramView.java",
        "comments": 29,
        "loc_per_function": 17,
        "blanks_per_loc": 0.12,
        "num_funs": 2,
        "comments_per_loc": 0.85,
        "tokens": 198,
        "ccn": 6,
        "ccn_per_function": 3.0,
        "tokens_per_function": 99.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.010101010101010102,
        "loc_per_token": 0.1717171717171717,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 5.823529411764706
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 147,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 43,
        "loc_per_function": 24.5,
        "blanks_per_loc": 0.07,
        "num_funs": 6,
        "comments_per_loc": 0.29,
        "tokens": 1171,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 195.16666666666666,
        "ccn_per_token": 0.008539709649871904,
        "functions_per_token": 0.005123825789923143,
        "loc_per_token": 0.125533731853117,
        "ccn_per_loc": 0.06802721088435375,
        "functions_per_loc": 0.04081632653061224,
        "tokens_per_loc": 7.965986394557823
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 38,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 36,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 0.95,
        "tokens": 344,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 114.66666666666667,
        "ccn_per_token": 0.014534883720930232,
        "functions_per_token": 0.00872093023255814,
        "loc_per_token": 0.11046511627906977,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 9.052631578947368
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramElementView.java",
        "comments": 42,
        "loc_per_function": 11,
        "blanks_per_loc": 0.45,
        "num_funs": 0,
        "comments_per_loc": 3.82,
        "tokens": 77,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 77,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 28,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 2,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 681,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 227.0,
        "ccn_per_token": 0.016152716593245228,
        "functions_per_token": 0.004405286343612335,
        "loc_per_token": 0.10866372980910426,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 9.202702702702704
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 94,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/ObjectReferenceEdgeView.java",
        "comments": 30,
        "loc_per_function": 18.8,
        "blanks_per_loc": 0.1,
        "num_funs": 5,
        "comments_per_loc": 0.32,
        "tokens": 812,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 162.4,
        "ccn_per_token": 0.009852216748768473,
        "functions_per_token": 0.006157635467980296,
        "loc_per_token": 0.11576354679802955,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.05319148936170213,
        "tokens_per_loc": 8.638297872340425
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 348,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/StateTransitionEdgeView.java",
        "comments": 65,
        "loc_per_function": 16.57,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.19,
        "tokens": 2691,
        "ccn": 49,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 128.14285714285714,
        "ccn_per_token": 0.018208844295800816,
        "functions_per_token": 0.007803790412486065,
        "loc_per_token": 0.12931995540691194,
        "ccn_per_loc": 0.14080459770114942,
        "functions_per_loc": 0.0603448275862069,
        "tokens_per_loc": 7.732758620689655
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 71,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/AbstractEdgeView.java",
        "comments": 45,
        "loc_per_function": 10.14,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.63,
        "tokens": 531,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 75.85714285714286,
        "ccn_per_token": 0.01694915254237288,
        "functions_per_token": 0.013182674199623353,
        "loc_per_token": 0.1337099811676083,
        "ccn_per_loc": 0.1267605633802817,
        "functions_per_loc": 0.09859154929577464,
        "tokens_per_loc": 7.47887323943662
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 535,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyleFactory.java",
        "comments": 97,
        "loc_per_function": 17.26,
        "blanks_per_loc": 0.1,
        "num_funs": 31,
        "comments_per_loc": 0.18,
        "tokens": 3707,
        "ccn": 112,
        "ccn_per_function": 3.6129032258064515,
        "tokens_per_function": 119.58064516129032,
        "ccn_per_token": 0.030213110331804693,
        "functions_per_token": 0.008362557323981657,
        "loc_per_token": 0.14432155381710277,
        "ccn_per_loc": 0.20934579439252338,
        "functions_per_loc": 0.05794392523364486,
        "tokens_per_loc": 6.9289719626168225
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 196,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentedEdgeView.java",
        "comments": 57,
        "loc_per_function": 19.6,
        "blanks_per_loc": 0.08,
        "num_funs": 10,
        "comments_per_loc": 0.29,
        "tokens": 1761,
        "ccn": 24,
        "ccn_per_function": 2.4,
        "tokens_per_function": 176.1,
        "ccn_per_token": 0.013628620102214651,
        "functions_per_token": 0.0056785917092561046,
        "loc_per_token": 0.11130039750141965,
        "ccn_per_loc": 0.12244897959183673,
        "functions_per_loc": 0.05102040816326531,
        "tokens_per_loc": 8.98469387755102
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyle.java",
        "comments": 50,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 223,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.053811659192825115,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.21973094170403587,
        "ccn_per_loc": 0.24489795918367346,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 4.551020408163265
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/NoteEdgeView.java",
        "comments": 26,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.16,
        "num_funs": 3,
        "comments_per_loc": 0.81,
        "tokens": 250,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 83.33333333333333,
        "ccn_per_token": 0.012,
        "functions_per_token": 0.012,
        "loc_per_token": 0.128,
        "ccn_per_loc": 0.09375,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 7.8125
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/EdgeView.java",
        "comments": 29,
        "loc_per_function": 7,
        "blanks_per_loc": 0.29,
        "num_funs": 0,
        "comments_per_loc": 4.14,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13725490196078433,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.285714285714286
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 57,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ClassNodeView.java",
        "comments": 29,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.51,
        "tokens": 350,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 58.333333333333336,
        "ccn_per_token": 0.022857142857142857,
        "functions_per_token": 0.017142857142857144,
        "loc_per_token": 0.16285714285714287,
        "ccn_per_loc": 0.14035087719298245,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 6.140350877192983
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/AbstractNodeView.java",
        "comments": 41,
        "loc_per_function": 13.2,
        "blanks_per_loc": 0.12,
        "num_funs": 5,
        "comments_per_loc": 0.62,
        "tokens": 405,
        "ccn": 11,
        "ccn_per_function": 2.2,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.027160493827160494,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.16296296296296298,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.07575757575757576,
        "tokens_per_loc": 6.136363636363637
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 100,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/InterfaceNodeView.java",
        "comments": 48,
        "loc_per_function": 9.09,
        "blanks_per_loc": 0.18,
        "num_funs": 11,
        "comments_per_loc": 0.48,
        "tokens": 802,
        "ccn": 17,
        "ccn_per_function": 1.5454545454545454,
        "tokens_per_function": 72.9090909090909,
        "ccn_per_token": 0.02119700748129676,
        "functions_per_token": 0.01371571072319202,
        "loc_per_token": 0.12468827930174564,
        "ccn_per_loc": 0.17,
        "functions_per_loc": 0.11,
        "tokens_per_loc": 8.02
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NodeView.java",
        "comments": 31,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 0,
        "comments_per_loc": 3.88,
        "tokens": 66,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 66,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.12121212121212122,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.25
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/FieldNodeView.java",
        "comments": 35,
        "loc_per_function": 8.67,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.45,
        "tokens": 737,
        "ccn": 11,
        "ccn_per_function": 1.2222222222222223,
        "tokens_per_function": 81.88888888888889,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.012211668928086838,
        "loc_per_token": 0.10583446404341927,
        "ccn_per_loc": 0.14102564102564102,
        "functions_per_loc": 0.11538461538461539,
        "tokens_per_loc": 9.448717948717949
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NoteNodeView.java",
        "comments": 30,
        "loc_per_function": 10.83,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 627,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 104.5,
        "ccn_per_token": 0.009569377990430622,
        "functions_per_token": 0.009569377990430622,
        "loc_per_token": 0.10366826156299841,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.09230769230769231,
        "tokens_per_loc": 9.646153846153846
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 155,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CallNodeView.java",
        "comments": 43,
        "loc_per_function": 14.09,
        "blanks_per_loc": 0.11,
        "num_funs": 11,
        "comments_per_loc": 0.28,
        "tokens": 1068,
        "ccn": 26,
        "ccn_per_function": 2.3636363636363638,
        "tokens_per_function": 97.0909090909091,
        "ccn_per_token": 0.024344569288389514,
        "functions_per_token": 0.010299625468164793,
        "loc_per_token": 0.1451310861423221,
        "ccn_per_loc": 0.16774193548387098,
        "functions_per_loc": 0.07096774193548387,
        "tokens_per_loc": 6.890322580645162
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 86,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ImplicitParameterNodeView.java",
        "comments": 30,
        "loc_per_function": 9.56,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.35,
        "tokens": 705,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 78.33333333333333,
        "ccn_per_token": 0.01702127659574468,
        "functions_per_token": 0.01276595744680851,
        "loc_per_token": 0.12198581560283688,
        "ccn_per_loc": 0.13953488372093023,
        "functions_per_loc": 0.10465116279069768,
        "tokens_per_loc": 8.19767441860465
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/StateNodeView.java",
        "comments": 26,
        "loc_per_function": 8.25,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 0.79,
        "tokens": 267,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.75,
        "ccn_per_token": 0.0149812734082397,
        "functions_per_token": 0.0149812734082397,
        "loc_per_token": 0.12359550561797752,
        "ccn_per_loc": 0.12121212121212122,
        "functions_per_loc": 0.12121212121212122,
        "tokens_per_loc": 8.090909090909092
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CircularStateNodeView.java",
        "comments": 27,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.47,
        "tokens": 507,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 126.75,
        "ccn_per_token": 0.01775147928994083,
        "functions_per_token": 0.007889546351084813,
        "loc_per_token": 0.11439842209072978,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.741379310344827
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 146,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PackageNodeView.java",
        "comments": 39,
        "loc_per_function": 11.23,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.27,
        "tokens": 1176,
        "ccn": 21,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 90.46153846153847,
        "ccn_per_token": 0.017857142857142856,
        "functions_per_token": 0.011054421768707483,
        "loc_per_token": 0.12414965986394558,
        "ccn_per_loc": 0.14383561643835616,
        "functions_per_loc": 0.08904109589041095,
        "tokens_per_loc": 8.054794520547945
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ObjectNodeView.java",
        "comments": 30,
        "loc_per_function": 12.14,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 683,
        "ccn": 12,
        "ccn_per_function": 1.7142857142857142,
        "tokens_per_function": 97.57142857142857,
        "ccn_per_token": 0.017569546120058566,
        "functions_per_token": 0.010248901903367497,
        "loc_per_token": 0.12445095168374817,
        "ccn_per_loc": 0.1411764705882353,
        "functions_per_loc": 0.08235294117647059,
        "tokens_per_loc": 8.035294117647059
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ActorNodeView.java",
        "comments": 26,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 715,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 143.0,
        "ccn_per_token": 0.006993006993006993,
        "functions_per_token": 0.006993006993006993,
        "loc_per_token": 0.1006993006993007,
        "ccn_per_loc": 0.06944444444444445,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 9.930555555555555
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/UseCaseNodeView.java",
        "comments": 26,
        "loc_per_function": 8.75,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.74,
        "tokens": 311,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.75,
        "ccn_per_token": 0.012861736334405145,
        "functions_per_token": 0.012861736334405145,
        "loc_per_token": 0.11254019292604502,
        "ccn_per_loc": 0.11428571428571428,
        "functions_per_loc": 0.11428571428571428,
        "tokens_per_loc": 8.885714285714286
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PointNodeView.java",
        "comments": 27,
        "loc_per_function": 6.6,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 0.82,
        "tokens": 203,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.6,
        "ccn_per_token": 0.024630541871921183,
        "functions_per_token": 0.024630541871921183,
        "loc_per_token": 0.1625615763546798,
        "ccn_per_loc": 0.15151515151515152,
        "functions_per_loc": 0.15151515151515152,
        "tokens_per_loc": 6.151515151515151
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ClassDiagram.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.2,
        "num_funs": 4,
        "comments_per_loc": 0.51,
        "tokens": 325,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.25,
        "ccn_per_token": 0.012307692307692308,
        "functions_per_token": 0.012307692307692308,
        "loc_per_token": 0.13846153846153847,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 7.222222222222222
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 45,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ObjectDiagram.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.27,
        "num_funs": 4,
        "comments_per_loc": 0.51,
        "tokens": 297,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 74.25,
        "ccn_per_token": 0.013468013468013467,
        "functions_per_token": 0.013468013468013467,
        "loc_per_token": 0.15151515151515152,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 6.6
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 38,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/UseCaseDiagram.java",
        "comments": 23,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.61,
        "tokens": 280,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 70.0,
        "ccn_per_token": 0.014285714285714285,
        "functions_per_token": 0.014285714285714285,
        "loc_per_token": 0.1357142857142857,
        "ccn_per_loc": 0.10526315789473684,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 7.368421052631579
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 113,
        "loc_per_function": 8.29,
        "blanks_per_loc": 0.18,
        "num_funs": 14,
        "comments_per_loc": 0.97,
        "tokens": 576,
        "ccn": 32,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 41.142857142857146,
        "ccn_per_token": 0.05555555555555555,
        "functions_per_token": 0.024305555555555556,
        "loc_per_token": 0.2013888888888889,
        "ccn_per_loc": 0.27586206896551724,
        "functions_per_loc": 0.1206896551724138,
        "tokens_per_loc": 4.9655172413793105
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/SequenceDiagram.java",
        "comments": 23,
        "loc_per_function": 8,
        "blanks_per_loc": 0.25,
        "num_funs": 4,
        "comments_per_loc": 0.72,
        "tokens": 225,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 56.25,
        "ccn_per_token": 0.017777777777777778,
        "functions_per_token": 0.017777777777777778,
        "loc_per_token": 0.14222222222222222,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.03125
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/StateDiagram.java",
        "comments": 23,
        "loc_per_function": 8.25,
        "blanks_per_loc": 0.24,
        "num_funs": 4,
        "comments_per_loc": 0.7,
        "tokens": 245,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.25,
        "ccn_per_token": 0.0163265306122449,
        "functions_per_token": 0.0163265306122449,
        "loc_per_token": 0.1346938775510204,
        "ccn_per_loc": 0.12121212121212122,
        "functions_per_loc": 0.12121212121212122,
        "tokens_per_loc": 7.424242424242424
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 34,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.86,
        "tokens": 40,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 40,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.175,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.714285714285714
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 81,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 46,
        "loc_per_function": 13.5,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.57,
        "tokens": 465,
        "ccn": 11,
        "ccn_per_function": 1.8333333333333333,
        "tokens_per_function": 77.5,
        "ccn_per_token": 0.023655913978494623,
        "functions_per_token": 0.012903225806451613,
        "loc_per_token": 0.17419354838709677,
        "ccn_per_loc": 0.13580246913580246,
        "functions_per_loc": 0.07407407407407407,
        "tokens_per_loc": 5.7407407407407405
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 121,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ControlFlow.java",
        "comments": 92,
        "loc_per_function": 11,
        "blanks_per_loc": 0.13,
        "num_funs": 11,
        "comments_per_loc": 0.76,
        "tokens": 752,
        "ccn": 30,
        "ccn_per_function": 2.727272727272727,
        "tokens_per_function": 68.36363636363636,
        "ccn_per_token": 0.0398936170212766,
        "functions_per_token": 0.014627659574468085,
        "loc_per_token": 0.16090425531914893,
        "ccn_per_loc": 0.24793388429752067,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.214876033057851
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 43,
        "loc_per_function": 11,
        "blanks_per_loc": 0.64,
        "num_funs": 0,
        "comments_per_loc": 3.91,
        "tokens": 78,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 78,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14102564102564102,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.090909090909091
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 47,
        "loc_per_function": 11,
        "blanks_per_loc": 0.82,
        "num_funs": 0,
        "comments_per_loc": 4.27,
        "tokens": 71,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 71,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15492957746478872,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.454545454545454
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 29,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.14,
        "tokens": 41,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 41,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17073170731707318,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.857142857142857
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 36,
        "loc_per_function": 8.86,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.58,
        "tokens": 345,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 49.285714285714285,
        "ccn_per_token": 0.03188405797101449,
        "functions_per_token": 0.020289855072463767,
        "loc_per_token": 0.17971014492753623,
        "ccn_per_loc": 0.1774193548387097,
        "functions_per_loc": 0.11290322580645161,
        "tokens_per_loc": 5.564516129032258
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ClassRelationshipEdge.java",
        "comments": 28,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 4.67,
        "tokens": 43,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 43,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13953488372093023,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.166666666666667
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 26,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 1.62,
        "tokens": 150,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 150.0,
        "ccn_per_token": 0.006666666666666667,
        "functions_per_token": 0.006666666666666667,
        "loc_per_token": 0.10666666666666667,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.375
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 1.23,
        "tokens": 187,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.5,
        "ccn_per_token": 0.0106951871657754,
        "functions_per_token": 0.0106951871657754,
        "loc_per_token": 0.11764705882352941,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.5
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.27,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 38,
        "loc_per_function": 14.38,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.33,
        "tokens": 868,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 108.5,
        "ccn_per_token": 0.014976958525345621,
        "functions_per_token": 0.009216589861751152,
        "loc_per_token": 0.13248847926267282,
        "ccn_per_loc": 0.11304347826086956,
        "functions_per_loc": 0.06956521739130435,
        "tokens_per_loc": 7.547826086956522
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.32,
        "num_funs": 2,
        "comments_per_loc": 1.23,
        "tokens": 185,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.5,
        "ccn_per_token": 0.010810810810810811,
        "functions_per_token": 0.010810810810810811,
        "loc_per_token": 0.11891891891891893,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.409090909090908
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 69,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 34,
        "loc_per_function": 8.62,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.49,
        "tokens": 372,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 46.5,
        "ccn_per_token": 0.02956989247311828,
        "functions_per_token": 0.021505376344086023,
        "loc_per_token": 0.18548387096774194,
        "ccn_per_loc": 0.15942028985507245,
        "functions_per_loc": 0.11594202898550725,
        "tokens_per_loc": 5.391304347826087
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 317,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.625,
        "ccn_per_token": 0.028391167192429023,
        "functions_per_token": 0.025236593059936908,
        "loc_per_token": 0.17665615141955837,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.660714285714286
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 26,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 1.62,
        "tokens": 150,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 150.0,
        "ccn_per_token": 0.006666666666666667,
        "functions_per_token": 0.006666666666666667,
        "loc_per_token": 0.10666666666666667,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.375
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.8,
        "tokens": 315,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.375,
        "ccn_per_token": 0.02857142857142857,
        "functions_per_token": 0.025396825396825397,
        "loc_per_token": 0.17777777777777778,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.625
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 67,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 22.33,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.34,
        "tokens": 546,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 182.0,
        "ccn_per_token": 0.009157509157509158,
        "functions_per_token": 0.005494505494505495,
        "loc_per_token": 0.1227106227106227,
        "ccn_per_loc": 0.07462686567164178,
        "functions_per_loc": 0.04477611940298507,
        "tokens_per_loc": 8.149253731343284
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 43,
        "loc_per_function": 8,
        "blanks_per_loc": 0.23,
        "num_funs": 7,
        "comments_per_loc": 0.77,
        "tokens": 310,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 44.285714285714285,
        "ccn_per_token": 0.02903225806451613,
        "functions_per_token": 0.02258064516129032,
        "loc_per_token": 0.18064516129032257,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.535714285714286
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.18,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ParentNode.java",
        "comments": 46,
        "loc_per_function": 10,
        "blanks_per_loc": 0.6,
        "num_funs": 0,
        "comments_per_loc": 4.6,
        "tokens": 72,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 72,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1388888888888889,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.2
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.27,
        "num_funs": 5,
        "comments_per_loc": 1.13,
        "tokens": 147,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.4,
        "ccn_per_token": 0.034013605442176874,
        "functions_per_token": 0.034013605442176874,
        "loc_per_token": 0.20408163265306123,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.9
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 109,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 40,
        "loc_per_function": 7.27,
        "blanks_per_loc": 0.18,
        "num_funs": 15,
        "comments_per_loc": 0.37,
        "tokens": 537,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 35.8,
        "ccn_per_token": 0.037243947858473,
        "functions_per_token": 0.027932960893854747,
        "loc_per_token": 0.20297951582867785,
        "ccn_per_loc": 0.1834862385321101,
        "functions_per_loc": 0.13761467889908258,
        "tokens_per_loc": 4.926605504587156
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 34,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.2,
        "num_funs": 8,
        "comments_per_loc": 0.63,
        "tokens": 324,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.5,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.024691358024691357,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 47,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 36,
        "loc_per_function": 5.88,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 198,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 24.75,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.04040404040404041,
        "loc_per_token": 0.23737373737373738,
        "ccn_per_loc": 0.19148936170212766,
        "functions_per_loc": 0.1702127659574468,
        "tokens_per_loc": 4.212765957446808
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 69,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.014492753623188406,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.15942028985507245,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.2727272727272725
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ChildNode.java",
        "comments": 42,
        "loc_per_function": 8,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.25,
        "tokens": 50,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 50,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.25
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 63,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 32,
        "loc_per_function": 9,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.51,
        "tokens": 325,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 46.42857142857143,
        "ccn_per_token": 0.03076923076923077,
        "functions_per_token": 0.021538461538461538,
        "loc_per_token": 0.19384615384615383,
        "ccn_per_loc": 0.15873015873015872,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.158730158730159
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 44,
        "loc_per_function": 6.89,
        "blanks_per_loc": 0.21,
        "num_funs": 9,
        "comments_per_loc": 0.71,
        "tokens": 314,
        "ccn": 14,
        "ccn_per_function": 1.5555555555555556,
        "tokens_per_function": 34.888888888888886,
        "ccn_per_token": 0.044585987261146494,
        "functions_per_token": 0.028662420382165606,
        "loc_per_token": 0.19745222929936307,
        "ccn_per_loc": 0.22580645161290322,
        "functions_per_loc": 0.14516129032258066,
        "tokens_per_loc": 5.064516129032258
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.27,
        "tokens": 67,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 67.0,
        "ccn_per_token": 0.014925373134328358,
        "functions_per_token": 0.014925373134328358,
        "loc_per_token": 0.16417910447761194,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.090909090909091
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 43,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 31,
        "loc_per_function": 6.14,
        "blanks_per_loc": 0.26,
        "num_funs": 7,
        "comments_per_loc": 0.72,
        "tokens": 191,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 27.285714285714285,
        "ccn_per_token": 0.041884816753926704,
        "functions_per_token": 0.03664921465968586,
        "loc_per_token": 0.225130890052356,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.16279069767441862,
        "tokens_per_loc": 4.441860465116279
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.31,
        "num_funs": 2,
        "comments_per_loc": 1.62,
        "tokens": 86,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 43.0,
        "ccn_per_token": 0.023255813953488372,
        "functions_per_token": 0.023255813953488372,
        "loc_per_token": 0.18604651162790697,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.375
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 69,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.014492753623188406,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.15942028985507245,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.2727272727272725
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 69,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 9.86,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.42,
        "tokens": 360,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 51.42857142857143,
        "ccn_per_token": 0.030555555555555555,
        "functions_per_token": 0.019444444444444445,
        "loc_per_token": 0.19166666666666668,
        "ccn_per_loc": 0.15942028985507245,
        "functions_per_loc": 0.10144927536231885,
        "tokens_per_loc": 5.217391304347826
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 26,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/StateDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 13,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 1.12,
        "tokens": 213,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.5,
        "ccn_per_token": 0.009389671361502348,
        "functions_per_token": 0.009389671361502348,
        "loc_per_token": 0.12206572769953052,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 8.192307692307692
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 111,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ObjectDiagramBuilder.java",
        "comments": 35,
        "loc_per_function": 15.86,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.32,
        "tokens": 696,
        "ccn": 20,
        "ccn_per_function": 2.857142857142857,
        "tokens_per_function": 99.42857142857143,
        "ccn_per_token": 0.028735632183908046,
        "functions_per_token": 0.010057471264367816,
        "loc_per_token": 0.15948275862068967,
        "ccn_per_loc": 0.18018018018018017,
        "functions_per_loc": 0.06306306306306306,
        "tokens_per_loc": 6.27027027027027
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperation.java",
        "comments": 31,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5.17,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 324,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramBuilder.java",
        "comments": 150,
        "loc_per_function": 17.05,
        "blanks_per_loc": 0.09,
        "num_funs": 19,
        "comments_per_loc": 0.46,
        "tokens": 2279,
        "ccn": 62,
        "ccn_per_function": 3.263157894736842,
        "tokens_per_function": 119.94736842105263,
        "ccn_per_token": 0.02720491443615621,
        "functions_per_token": 0.008336989907854322,
        "loc_per_token": 0.1421676173760421,
        "ccn_per_loc": 0.19135802469135801,
        "functions_per_loc": 0.05864197530864197,
        "tokens_per_loc": 7.033950617283951
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 88,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/ClassDiagramBuilder.java",
        "comments": 33,
        "loc_per_function": 17.6,
        "blanks_per_loc": 0.09,
        "num_funs": 5,
        "comments_per_loc": 0.38,
        "tokens": 545,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 109.0,
        "ccn_per_token": 0.029357798165137616,
        "functions_per_token": 0.009174311926605505,
        "loc_per_token": 0.1614678899082569,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.056818181818181816,
        "tokens_per_loc": 6.193181818181818
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/DiagramOperationProcessor.java",
        "comments": 55,
        "loc_per_function": 6.83,
        "blanks_per_loc": 0.22,
        "num_funs": 6,
        "comments_per_loc": 1.34,
        "tokens": 222,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.02702702702702703,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.18468468468468469,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.14634146341463414,
        "tokens_per_loc": 5.414634146341464
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SimpleOperation.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 88,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 209,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/SequenceDiagramBuilder.java",
        "comments": 33,
        "loc_per_function": 16.08,
        "blanks_per_loc": 0.08,
        "num_funs": 13,
        "comments_per_loc": 0.16,
        "tokens": 1472,
        "ccn": 45,
        "ccn_per_function": 3.4615384615384617,
        "tokens_per_function": 113.23076923076923,
        "ccn_per_token": 0.030570652173913044,
        "functions_per_token": 0.008831521739130434,
        "loc_per_token": 0.14198369565217392,
        "ccn_per_loc": 0.215311004784689,
        "functions_per_loc": 0.06220095693779904,
        "tokens_per_loc": 7.043062200956938
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/CompoundOperation.java",
        "comments": 39,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 1.15,
        "tokens": 154,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.03896103896103896,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.22077922077922077,
        "ccn_per_loc": 0.17647058823529413,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 4.529411764705882
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/UseCaseDiagramBuilder.java",
        "comments": 29,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 1.21,
        "tokens": 189,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 94.5,
        "ccn_per_token": 0.010582010582010581,
        "functions_per_token": 0.010582010582010581,
        "loc_per_token": 0.12698412698412698,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.875
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/StateDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.25,
        "tokens": 170,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 56.666666666666664,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.01764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/SequenceDiagramEdgeConstraints.java",
        "comments": 38,
        "loc_per_function": 11,
        "blanks_per_loc": 0.13,
        "num_funs": 5,
        "comments_per_loc": 0.69,
        "tokens": 483,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 96.6,
        "ccn_per_token": 0.031055900621118012,
        "functions_per_token": 0.010351966873706004,
        "loc_per_token": 0.11387163561076605,
        "ccn_per_loc": 0.2727272727272727,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.781818181818181
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/EdgeConstraints.java",
        "comments": 41,
        "loc_per_function": 8.83,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 414,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 69.0,
        "ccn_per_token": 0.043478260869565216,
        "functions_per_token": 0.014492753623188406,
        "loc_per_token": 0.1280193236714976,
        "ccn_per_loc": 0.33962264150943394,
        "functions_per_loc": 0.11320754716981132,
        "tokens_per_loc": 7.811320754716981
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ObjectDiagramEdgeConstraints.java",
        "comments": 30,
        "loc_per_function": 9,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 231,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.11688311688311688,
        "ccn_per_loc": 0.25925925925925924,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 8.555555555555555
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/builder/constraints/ConstraintSet.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 138,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 46.0,
        "ccn_per_token": 0.036231884057971016,
        "functions_per_token": 0.021739130434782608,
        "loc_per_token": 0.2028985507246377,
        "ccn_per_loc": 0.17857142857142858,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 4.928571428571429
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 143,
        "file_path": "src/ca/mcgill/cs/jetuml/application/JavaVersion.java",
        "comments": 55,
        "loc_per_function": 20.43,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.38,
        "tokens": 747,
        "ccn": 25,
        "ccn_per_function": 3.5714285714285716,
        "tokens_per_function": 106.71428571428571,
        "ccn_per_token": 0.03346720214190094,
        "functions_per_token": 0.009370816599732263,
        "loc_per_token": 0.19143239625167335,
        "ccn_per_loc": 0.17482517482517482,
        "functions_per_loc": 0.04895104895104895,
        "tokens_per_loc": 5.223776223776224
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 38,
        "loc_per_function": 25,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.76,
        "tokens": 378,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 189.0,
        "ccn_per_token": 0.021164021164021163,
        "functions_per_token": 0.005291005291005291,
        "loc_per_token": 0.13227513227513227,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.04,
        "tokens_per_loc": 7.56
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 40,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1,
        "tokens": 272,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 90.66666666666667,
        "ccn_per_token": 0.022058823529411766,
        "functions_per_token": 0.011029411764705883,
        "loc_per_token": 0.14705882352941177,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.8
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 220,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 83,
        "loc_per_function": 12.94,
        "blanks_per_loc": 0.1,
        "num_funs": 17,
        "comments_per_loc": 0.38,
        "tokens": 1235,
        "ccn": 55,
        "ccn_per_function": 3.235294117647059,
        "tokens_per_function": 72.6470588235294,
        "ccn_per_token": 0.044534412955465584,
        "functions_per_token": 0.013765182186234818,
        "loc_per_token": 0.17813765182186234,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.07727272727272727,
        "tokens_per_loc": 5.613636363636363
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 34,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.41,
        "num_funs": 3,
        "comments_per_loc": 0.83,
        "tokens": 337,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 112.33333333333333,
        "ccn_per_token": 0.01483679525222552,
        "functions_per_token": 0.008902077151335312,
        "loc_per_token": 0.12166172106824925,
        "ccn_per_loc": 0.12195121951219512,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 8.21951219512195
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.08,
        "blanks_per_loc": 0.25,
        "num_funs": 12,
        "comments_per_loc": 0.81,
        "tokens": 509,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 42.416666666666664,
        "ccn_per_token": 0.0275049115913556,
        "functions_per_token": 0.023575638506876228,
        "loc_per_token": 0.16699410609037327,
        "ccn_per_loc": 0.16470588235294117,
        "functions_per_loc": 0.1411764705882353,
        "tokens_per_loc": 5.988235294117647
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 101,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 78,
        "loc_per_function": 12.62,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1537290715372907,
        "ccn_per_loc": 0.1782178217821782,
        "functions_per_loc": 0.07920792079207921,
        "tokens_per_loc": 6.5049504950495045
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 585,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.0,
        "ccn_per_token": 0.011965811965811967,
        "functions_per_token": 0.008547008547008548,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 42,
        "loc_per_function": 9.43,
        "blanks_per_loc": 0.15,
        "num_funs": 7,
        "comments_per_loc": 0.64,
        "tokens": 466,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 66.57142857142857,
        "ccn_per_token": 0.019313304721030045,
        "functions_per_token": 0.015021459227467811,
        "loc_per_token": 0.14163090128755365,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.10606060606060606,
        "tokens_per_loc": 7.0606060606060606
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 609,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 152.25,
        "ccn_per_token": 0.008210180623973728,
        "functions_per_token": 0.006568144499178982,
        "loc_per_token": 0.12479474548440066,
        "ccn_per_loc": 0.06578947368421052,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.013157894736842
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 46,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 285,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 95.0,
        "ccn_per_token": 0.02456140350877193,
        "functions_per_token": 0.010526315789473684,
        "loc_per_token": 0.14385964912280702,
        "ccn_per_loc": 0.17073170731707318,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.951219512195122
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 526,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 109,
        "loc_per_function": 16.44,
        "blanks_per_loc": 0.12,
        "num_funs": 32,
        "comments_per_loc": 0.21,
        "tokens": 3972,
        "ccn": 73,
        "ccn_per_function": 2.28125,
        "tokens_per_function": 124.125,
        "ccn_per_token": 0.01837865055387714,
        "functions_per_token": 0.008056394763343404,
        "loc_per_token": 0.1324269889224572,
        "ccn_per_loc": 0.13878326996197718,
        "functions_per_loc": 0.060836501901140684,
        "tokens_per_loc": 7.551330798479087
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 377,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 87,
        "loc_per_function": 13,
        "blanks_per_loc": 0.11,
        "num_funs": 29,
        "comments_per_loc": 0.23,
        "tokens": 2368,
        "ccn": 74,
        "ccn_per_function": 2.5517241379310347,
        "tokens_per_function": 81.65517241379311,
        "ccn_per_token": 0.03125,
        "functions_per_token": 0.012246621621621621,
        "loc_per_token": 0.15920608108108109,
        "ccn_per_loc": 0.1962864721485411,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.281167108753316
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 140,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 54,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.11,
        "num_funs": 12,
        "comments_per_loc": 0.39,
        "tokens": 1090,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 90.83333333333333,
        "ccn_per_token": 0.01651376146788991,
        "functions_per_token": 0.011009174311926606,
        "loc_per_token": 0.12844036697247707,
        "ccn_per_loc": 0.12857142857142856,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 7.785714285714286
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 194,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 19.4,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.28,
        "tokens": 1234,
        "ccn": 31,
        "ccn_per_function": 3.1,
        "tokens_per_function": 123.4,
        "ccn_per_token": 0.025121555915721232,
        "functions_per_token": 0.008103727714748784,
        "loc_per_token": 0.15721231766612642,
        "ccn_per_loc": 0.15979381443298968,
        "functions_per_loc": 0.05154639175257732,
        "tokens_per_loc": 6.360824742268041
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 205,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 127,
        "loc_per_function": 8.91,
        "blanks_per_loc": 0.14,
        "num_funs": 23,
        "comments_per_loc": 0.62,
        "tokens": 1042,
        "ccn": 38,
        "ccn_per_function": 1.6521739130434783,
        "tokens_per_function": 45.30434782608695,
        "ccn_per_token": 0.036468330134357005,
        "functions_per_token": 0.022072936660268713,
        "loc_per_token": 0.1967370441458733,
        "ccn_per_loc": 0.18536585365853658,
        "functions_per_loc": 0.11219512195121951,
        "tokens_per_loc": 5.082926829268293
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.19,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.77,
        "tokens": 569,
        "ccn": 30,
        "ccn_per_function": 1.875,
        "tokens_per_function": 35.5625,
        "ccn_per_token": 0.05272407732864675,
        "functions_per_token": 0.028119507908611598,
        "loc_per_token": 0.20210896309314588,
        "ccn_per_loc": 0.2608695652173913,
        "functions_per_loc": 0.1391304347826087,
        "tokens_per_loc": 4.947826086956522
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 176,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 93,
        "loc_per_function": 8.8,
        "blanks_per_loc": 0.18,
        "num_funs": 20,
        "comments_per_loc": 0.53,
        "tokens": 1019,
        "ccn": 25,
        "ccn_per_function": 1.25,
        "tokens_per_function": 50.95,
        "ccn_per_token": 0.02453385672227674,
        "functions_per_token": 0.019627085377821395,
        "loc_per_token": 0.17271835132482827,
        "ccn_per_loc": 0.14204545454545456,
        "functions_per_loc": 0.11363636363636363,
        "tokens_per_loc": 5.7897727272727275
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertyEditorDialog.java",
        "comments": 38,
        "loc_per_function": 13.2,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.58,
        "tokens": 465,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.14193548387096774,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.07575757575757576,
        "tokens_per_loc": 7.045454545454546
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 41,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.17,
        "tokens": 222,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.02252252252252252,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.15765765765765766,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 6.3428571428571425
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 89,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12.71,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 643,
        "ccn": 16,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 91.85714285714286,
        "ccn_per_token": 0.024883359253499222,
        "functions_per_token": 0.01088646967340591,
        "loc_per_token": 0.13841368584758942,
        "ccn_per_loc": 0.1797752808988764,
        "functions_per_loc": 0.07865168539325842,
        "tokens_per_loc": 7.224719101123595
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 10,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 1.02,
        "tokens": 199,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 49.75,
        "ccn_per_token": 0.04020100502512563,
        "functions_per_token": 0.020100502512562814,
        "loc_per_token": 0.20100502512562815,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.975
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 108,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 18,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 776,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 129.33333333333334,
        "ccn_per_token": 0.024484536082474227,
        "functions_per_token": 0.007731958762886598,
        "loc_per_token": 0.13917525773195877,
        "ccn_per_loc": 0.17592592592592593,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 7.185185185185185
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.5,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 164,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.0,
        "ccn_per_token": 0.024390243902439025,
        "functions_per_token": 0.024390243902439025,
        "loc_per_token": 0.18292682926829268,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.13333333333333333,
        "tokens_per_loc": 5.466666666666667
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 127,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 42.333333333333336,
        "ccn_per_token": 0.03937007874015748,
        "functions_per_token": 0.023622047244094488,
        "loc_per_token": 0.2125984251968504,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.703703703703703
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 301,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 181,
        "loc_per_function": 14.33,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.6,
        "tokens": 1664,
        "ccn": 92,
        "ccn_per_function": 4.380952380952381,
        "tokens_per_function": 79.23809523809524,
        "ccn_per_token": 0.055288461538461536,
        "functions_per_token": 0.012620192307692308,
        "loc_per_token": 0.18088942307692307,
        "ccn_per_loc": 0.30564784053156147,
        "functions_per_loc": 0.06976744186046512,
        "tokens_per_loc": 5.528239202657807
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 126,
        "file_path": "src/org/json/JSONPointer.java",
        "comments": 123,
        "loc_per_function": 10.5,
        "blanks_per_loc": 0.2,
        "num_funs": 12,
        "comments_per_loc": 0.98,
        "tokens": 810,
        "ccn": 30,
        "ccn_per_function": 2.5,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.23809523809523808,
        "functions_per_loc": 0.09523809523809523,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 4,
        "file_path": "src/org/json/JSONString.java",
        "comments": 14,
        "loc_per_function": 4,
        "blanks_per_loc": 0,
        "num_funs": 0,
        "comments_per_loc": 3.5,
        "tokens": 16,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 16,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 13,
        "file_path": "src/org/json/JSONException.java",
        "comments": 27,
        "loc_per_function": 4.33,
        "blanks_per_loc": 0.38,
        "num_funs": 3,
        "comments_per_loc": 2.08,
        "tokens": 74,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.666666666666668,
        "ccn_per_token": 0.04054054054054054,
        "functions_per_token": 0.04054054054054054,
        "loc_per_token": 0.17567567567567569,
        "ccn_per_loc": 0.23076923076923078,
        "functions_per_loc": 0.23076923076923078,
        "tokens_per_loc": 5.6923076923076925
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 10,
        "file_path": "src/org/json/JSONPointerException.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.9,
        "num_funs": 2,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 25.5,
        "ccn_per_token": 0.0392156862745098,
        "functions_per_token": 0.0392156862745098,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 1113,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 1115,
        "loc_per_function": 11.84,
        "blanks_per_loc": 0.12,
        "num_funs": 94,
        "comments_per_loc": 1,
        "tokens": 7586,
        "ccn": 389,
        "ccn_per_function": 4.138297872340425,
        "tokens_per_function": 80.70212765957447,
        "ccn_per_token": 0.05127867123648827,
        "functions_per_token": 0.012391247034010018,
        "loc_per_token": 0.14671763775375693,
        "ccn_per_loc": 0.3495058400718778,
        "functions_per_loc": 0.08445642407906559,
        "tokens_per_loc": 6.81581311769991
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 189,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 12.6,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 1.05,
        "tokens": 1198,
        "ccn": 62,
        "ccn_per_function": 4.133333333333334,
        "tokens_per_function": 79.86666666666666,
        "ccn_per_token": 0.05175292153589316,
        "functions_per_token": 0.012520868113522538,
        "loc_per_token": 0.15776293823038398,
        "ccn_per_loc": 0.328042328042328,
        "functions_per_loc": 0.07936507936507936,
        "tokens_per_loc": 6.338624338624339
    },
    {
        "date": "2018-08-27 Rel 2.2",
        "loc": 631,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 785,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.13,
        "num_funs": 69,
        "comments_per_loc": 1.24,
        "tokens": 4149,
        "ccn": 197,
        "ccn_per_function": 2.8550724637681157,
        "tokens_per_function": 60.130434782608695,
        "ccn_per_token": 0.047481320800192815,
        "functions_per_token": 0.016630513376717282,
        "loc_per_token": 0.15208483972041456,
        "ccn_per_loc": 0.312202852614897,
        "functions_per_loc": 0.10935023771790808,
        "tokens_per_loc": 6.575277337559429
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 23,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.31,
        "num_funs": 2,
        "comments_per_loc": 1.77,
        "tokens": 66,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 33.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.030303030303030304,
        "loc_per_token": 0.19696969696969696,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 5.076923076923077
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 355,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.0,
        "ccn_per_token": 0.014084507042253521,
        "functions_per_token": 0.014084507042253521,
        "loc_per_token": 0.13802816901408452,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.244897959183674
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 54,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 443,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.6,
        "ccn_per_token": 0.011286681715575621,
        "functions_per_token": 0.011286681715575621,
        "loc_per_token": 0.12189616252821671,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 8.203703703703704
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 727,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.77777777777777,
        "ccn_per_token": 0.012379642365887207,
        "functions_per_token": 0.012379642365887207,
        "loc_per_token": 0.11691884456671252,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.552941176470588
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 451,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestSegmentationStrategies.java",
        "comments": 47,
        "loc_per_function": 19.61,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.1,
        "tokens": 4671,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 203.08695652173913,
        "ccn_per_token": 0.004923999143652323,
        "functions_per_token": 0.004923999143652323,
        "loc_per_token": 0.09655320059944338,
        "ccn_per_loc": 0.050997782705099776,
        "functions_per_loc": 0.050997782705099776,
        "tokens_per_loc": 10.356984478935699
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 70,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestNoteEdgeView.java",
        "comments": 28,
        "loc_per_function": 17.5,
        "blanks_per_loc": 0.26,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 597,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 149.25,
        "ccn_per_token": 0.006700167504187605,
        "functions_per_token": 0.006700167504187605,
        "loc_per_token": 0.11725293132328309,
        "ccn_per_loc": 0.05714285714285714,
        "functions_per_loc": 0.05714285714285714,
        "tokens_per_loc": 8.528571428571428
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 40,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestDependencyEdgeView.java",
        "comments": 23,
        "loc_per_function": 13.33,
        "blanks_per_loc": 0.25,
        "num_funs": 3,
        "comments_per_loc": 0.57,
        "tokens": 261,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 87.0,
        "ccn_per_token": 0.011494252873563218,
        "functions_per_token": 0.011494252873563218,
        "loc_per_token": 0.1532567049808429,
        "ccn_per_loc": 0.075,
        "functions_per_loc": 0.075,
        "tokens_per_loc": 6.525
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestInterfaceNodeView.java",
        "comments": 25,
        "loc_per_function": 12.44,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.22,
        "tokens": 1273,
        "ccn": 16,
        "ccn_per_function": 1.7777777777777777,
        "tokens_per_function": 141.44444444444446,
        "ccn_per_token": 0.012568735271013355,
        "functions_per_token": 0.007069913589945012,
        "loc_per_token": 0.08798114689709348,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08035714285714286,
        "tokens_per_loc": 11.366071428571429
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestClassViewNode.java",
        "comments": 25,
        "loc_per_function": 14,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1682,
        "ccn": 21,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 186.88888888888889,
        "ccn_per_token": 0.01248513674197384,
        "functions_per_token": 0.00535077288941736,
        "loc_per_token": 0.07491082045184304,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 13.34920634920635
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestFieldAndObjectNodeView.java",
        "comments": 38,
        "loc_per_function": 9.69,
        "blanks_per_loc": 0.15,
        "num_funs": 13,
        "comments_per_loc": 0.3,
        "tokens": 851,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.46153846153847,
        "ccn_per_token": 0.01527614571092832,
        "functions_per_token": 0.01527614571092832,
        "loc_per_token": 0.14806110458284372,
        "ccn_per_loc": 0.10317460317460317,
        "functions_per_loc": 0.10317460317460317,
        "tokens_per_loc": 6.753968253968254
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 396,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosObjectDiagram.java",
        "comments": 113,
        "loc_per_function": 23.29,
        "blanks_per_loc": 0.16,
        "num_funs": 17,
        "comments_per_loc": 0.29,
        "tokens": 4617,
        "ccn": 19,
        "ccn_per_function": 1.1176470588235294,
        "tokens_per_function": 271.5882352941176,
        "ccn_per_token": 0.00411522633744856,
        "functions_per_token": 0.0036820446177171324,
        "loc_per_token": 0.08576998050682261,
        "ccn_per_loc": 0.047979797979797977,
        "functions_per_loc": 0.04292929292929293,
        "tokens_per_loc": 11.659090909090908
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 174,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenarios.java",
        "comments": 36,
        "loc_per_function": 34.8,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.21,
        "tokens": 2173,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 434.6,
        "ccn_per_token": 0.002300966405890474,
        "functions_per_token": 0.002300966405890474,
        "loc_per_token": 0.0800736309249885,
        "ccn_per_loc": 0.028735632183908046,
        "functions_per_loc": 0.028735632183908046,
        "tokens_per_loc": 12.488505747126437
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 234,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestGraph.java",
        "comments": 33,
        "loc_per_function": 12.32,
        "blanks_per_loc": 0.12,
        "num_funs": 19,
        "comments_per_loc": 0.14,
        "tokens": 1832,
        "ccn": 19,
        "ccn_per_function": 1.0,
        "tokens_per_function": 96.42105263157895,
        "ccn_per_token": 0.01037117903930131,
        "functions_per_token": 0.01037117903930131,
        "loc_per_token": 0.1277292576419214,
        "ccn_per_loc": 0.0811965811965812,
        "functions_per_loc": 0.0811965811965812,
        "tokens_per_loc": 7.829059829059829
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 119,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestSequenceDiagramGraph.java",
        "comments": 50,
        "loc_per_function": 19.83,
        "blanks_per_loc": 0.31,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 1192,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 198.66666666666666,
        "ccn_per_token": 0.0050335570469798654,
        "functions_per_token": 0.0050335570469798654,
        "loc_per_token": 0.09983221476510067,
        "ccn_per_loc": 0.05042016806722689,
        "functions_per_loc": 0.05042016806722689,
        "tokens_per_loc": 10.016806722689076
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 331,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosStateDiagram.java",
        "comments": 103,
        "loc_per_function": 18.39,
        "blanks_per_loc": 0.14,
        "num_funs": 18,
        "comments_per_loc": 0.31,
        "tokens": 3443,
        "ccn": 21,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 191.27777777777777,
        "ccn_per_token": 0.006099331977926227,
        "functions_per_token": 0.00522799883822248,
        "loc_per_token": 0.09613708974731339,
        "ccn_per_loc": 0.0634441087613293,
        "functions_per_loc": 0.054380664652567974,
        "tokens_per_loc": 10.401812688821753
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 197,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperties.java",
        "comments": 20,
        "loc_per_function": 11.59,
        "blanks_per_loc": 0.12,
        "num_funs": 17,
        "comments_per_loc": 0.1,
        "tokens": 1940,
        "ccn": 18,
        "ccn_per_function": 1.0588235294117647,
        "tokens_per_function": 114.11764705882354,
        "ccn_per_token": 0.009278350515463918,
        "functions_per_token": 0.008762886597938144,
        "loc_per_token": 0.10154639175257732,
        "ccn_per_loc": 0.09137055837563451,
        "functions_per_loc": 0.08629441624365482,
        "tokens_per_loc": 9.847715736040609
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 19,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestProperty.java",
        "comments": 20,
        "loc_per_function": 19,
        "blanks_per_loc": 0.26,
        "num_funs": 1,
        "comments_per_loc": 1.05,
        "tokens": 150,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 150.0,
        "ccn_per_token": 0.006666666666666667,
        "functions_per_token": 0.006666666666666667,
        "loc_per_token": 0.12666666666666668,
        "ccn_per_loc": 0.05263157894736842,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 7.894736842105263
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 586,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosClassDiagram.java",
        "comments": 122,
        "loc_per_function": 21.7,
        "blanks_per_loc": 0.15,
        "num_funs": 27,
        "comments_per_loc": 0.21,
        "tokens": 6631,
        "ccn": 39,
        "ccn_per_function": 1.4444444444444444,
        "tokens_per_function": 245.59259259259258,
        "ccn_per_token": 0.00588146584225607,
        "functions_per_token": 0.004071784044638818,
        "loc_per_token": 0.08837279445030916,
        "ccn_per_loc": 0.06655290102389079,
        "functions_per_loc": 0.04607508532423208,
        "tokens_per_loc": 11.315699658703071
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 335,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosUseCaseDiagram.java",
        "comments": 100,
        "loc_per_function": 23.93,
        "blanks_per_loc": 0.13,
        "num_funs": 14,
        "comments_per_loc": 0.3,
        "tokens": 4245,
        "ccn": 22,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 303.2142857142857,
        "ccn_per_token": 0.005182567726737338,
        "functions_per_token": 0.003297997644287397,
        "loc_per_token": 0.07891637220259129,
        "ccn_per_loc": 0.06567164179104477,
        "functions_per_loc": 0.041791044776119404,
        "tokens_per_loc": 12.671641791044776
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 560,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/TestUsageScenariosSequenceDiagram.java",
        "comments": 120,
        "loc_per_function": 23.33,
        "blanks_per_loc": 0.16,
        "num_funs": 24,
        "comments_per_loc": 0.21,
        "tokens": 6956,
        "ccn": 33,
        "ccn_per_function": 1.375,
        "tokens_per_function": 289.8333333333333,
        "ccn_per_token": 0.004744105807935595,
        "functions_per_token": 0.0034502587694077054,
        "loc_per_token": 0.08050603795284646,
        "ccn_per_loc": 0.05892857142857143,
        "functions_per_loc": 0.04285714285714286,
        "tokens_per_loc": 12.42142857142857
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 50,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestNoteEdge.java",
        "comments": 27,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.54,
        "tokens": 339,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 84.75,
        "ccn_per_token": 0.011799410029498525,
        "functions_per_token": 0.011799410029498525,
        "loc_per_token": 0.14749262536873156,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 6.78
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 32,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 2,
        "comments_per_loc": 0.62,
        "tokens": 291,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 145.5,
        "ccn_per_token": 0.006872852233676976,
        "functions_per_token": 0.006872852233676976,
        "loc_per_token": 0.10996563573883161,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.09375
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 25,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 12.5,
        "blanks_per_loc": 0.28,
        "num_funs": 2,
        "comments_per_loc": 0.8,
        "tokens": 178,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 89.0,
        "ccn_per_token": 0.011235955056179775,
        "functions_per_token": 0.011235955056179775,
        "loc_per_token": 0.1404494382022472,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.08,
        "tokens_per_loc": 7.12
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 37,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestActorNode.java",
        "comments": 23,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 0.62,
        "tokens": 270,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 90.0,
        "ccn_per_token": 0.011111111111111112,
        "functions_per_token": 0.011111111111111112,
        "loc_per_token": 0.13703703703703704,
        "ccn_per_loc": 0.08108108108108109,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 7.297297297297297
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 76,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestInterfaceNode.java",
        "comments": 23,
        "loc_per_function": 10.86,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.3,
        "tokens": 533,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 76.14285714285714,
        "ccn_per_token": 0.013133208255159476,
        "functions_per_token": 0.013133208255159476,
        "loc_per_token": 0.1425891181988743,
        "ccn_per_loc": 0.09210526315789473,
        "functions_per_loc": 0.09210526315789473,
        "tokens_per_loc": 7.0131578947368425
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 132,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestObjectNode.java",
        "comments": 24,
        "loc_per_function": 16.5,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.18,
        "tokens": 1309,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 163.625,
        "ccn_per_token": 0.006111535523300229,
        "functions_per_token": 0.006111535523300229,
        "loc_per_token": 0.10084033613445378,
        "ccn_per_loc": 0.06060606060606061,
        "functions_per_loc": 0.06060606060606061,
        "tokens_per_loc": 9.916666666666666
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 133,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestPackageNode.java",
        "comments": 24,
        "loc_per_function": 22.17,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.18,
        "tokens": 1348,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 224.66666666666666,
        "ccn_per_token": 0.004451038575667656,
        "functions_per_token": 0.004451038575667656,
        "loc_per_token": 0.09866468842729971,
        "ccn_per_loc": 0.045112781954887216,
        "functions_per_loc": 0.045112781954887216,
        "tokens_per_loc": 10.135338345864662
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 29,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestCallNode.java",
        "comments": 20,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 0.69,
        "tokens": 228,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 114.0,
        "ccn_per_token": 0.008771929824561403,
        "functions_per_token": 0.008771929824561403,
        "loc_per_token": 0.12719298245614036,
        "ccn_per_loc": 0.06896551724137931,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 7.862068965517241
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 95,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestImplicitParameterNode.java",
        "comments": 24,
        "loc_per_function": 15.83,
        "blanks_per_loc": 0.19,
        "num_funs": 6,
        "comments_per_loc": 0.25,
        "tokens": 923,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 153.83333333333334,
        "ccn_per_token": 0.0065005417118093175,
        "functions_per_token": 0.0065005417118093175,
        "loc_per_token": 0.10292524377031419,
        "ccn_per_loc": 0.06315789473684211,
        "functions_per_loc": 0.06315789473684211,
        "tokens_per_loc": 9.715789473684211
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 77,
        "file_path": "test/ca/mcgill/cs/jetuml/diagram/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.3,
        "tokens": 538,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 76.85714285714286,
        "ccn_per_token": 0.013011152416356878,
        "functions_per_token": 0.013011152416356878,
        "loc_per_token": 0.14312267657992564,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.987012987012987
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestJavaVersion.java",
        "comments": 20,
        "loc_per_function": 13.88,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.18,
        "tokens": 893,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 111.625,
        "ccn_per_token": 0.008958566629339306,
        "functions_per_token": 0.008958566629339306,
        "loc_per_token": 0.12430011198208286,
        "ccn_per_loc": 0.07207207207207207,
        "functions_per_loc": 0.07207207207207207,
        "tokens_per_loc": 8.045045045045045
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 17,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestApplicationResources.java",
        "comments": 20,
        "loc_per_function": 8.5,
        "blanks_per_loc": 0.24,
        "num_funs": 2,
        "comments_per_loc": 1.18,
        "tokens": 91,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 45.5,
        "ccn_per_token": 0.02197802197802198,
        "functions_per_token": 0.02197802197802198,
        "loc_per_token": 0.18681318681318682,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.11764705882352941,
        "tokens_per_loc": 5.352941176470588
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 155,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 14.09,
        "blanks_per_loc": 0.1,
        "num_funs": 11,
        "comments_per_loc": 0.15,
        "tokens": 881,
        "ccn": 16,
        "ccn_per_function": 1.4545454545454546,
        "tokens_per_function": 80.0909090909091,
        "ccn_per_token": 0.018161180476730987,
        "functions_per_token": 0.012485811577752554,
        "loc_per_token": 0.17593643586833144,
        "ccn_per_loc": 0.1032258064516129,
        "functions_per_loc": 0.07096774193548387,
        "tokens_per_loc": 5.683870967741935
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.23,
        "num_funs": 3,
        "comments_per_loc": 0.65,
        "tokens": 165,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 55.0,
        "ccn_per_token": 0.024242424242424242,
        "functions_per_token": 0.01818181818181818,
        "loc_per_token": 0.18787878787878787,
        "ccn_per_loc": 0.12903225806451613,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 5.32258064516129
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 171,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestUndoManager.java",
        "comments": 23,
        "loc_per_function": 21.38,
        "blanks_per_loc": 0.08,
        "num_funs": 8,
        "comments_per_loc": 0.13,
        "tokens": 1330,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 166.25,
        "ccn_per_token": 0.008270676691729323,
        "functions_per_token": 0.006015037593984963,
        "loc_per_token": 0.12857142857142856,
        "ccn_per_loc": 0.06432748538011696,
        "functions_per_loc": 0.04678362573099415,
        "tokens_per_loc": 7.777777777777778
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 250,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 23,
        "loc_per_function": 20.83,
        "blanks_per_loc": 0.08,
        "num_funs": 12,
        "comments_per_loc": 0.09,
        "tokens": 2349,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 195.75,
        "ccn_per_token": 0.005108556832694764,
        "functions_per_token": 0.005108556832694764,
        "loc_per_token": 0.10642826734780758,
        "ccn_per_loc": 0.048,
        "functions_per_loc": 0.048,
        "tokens_per_loc": 9.396
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 172,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 30,
        "loc_per_function": 21.5,
        "blanks_per_loc": 0.1,
        "num_funs": 8,
        "comments_per_loc": 0.17,
        "tokens": 1222,
        "ccn": 12,
        "ccn_per_function": 1.5,
        "tokens_per_function": 152.75,
        "ccn_per_token": 0.009819967266775777,
        "functions_per_token": 0.006546644844517185,
        "loc_per_token": 0.1407528641571195,
        "ccn_per_loc": 0.06976744186046512,
        "functions_per_loc": 0.046511627906976744,
        "tokens_per_loc": 7.104651162790698
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 28,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1511,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 302.2,
        "ccn_per_token": 0.0033090668431502318,
        "functions_per_token": 0.0033090668431502318,
        "loc_per_token": 0.09265387160820648,
        "ccn_per_loc": 0.03571428571428571,
        "functions_per_loc": 0.03571428571428571,
        "tokens_per_loc": 10.792857142857143
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 247,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestViewportProjection.java",
        "comments": 20,
        "loc_per_function": 13.72,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.08,
        "tokens": 2629,
        "ccn": 18,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.05555555555554,
        "ccn_per_token": 0.006846709775580068,
        "functions_per_token": 0.006846709775580068,
        "loc_per_token": 0.09395207303157094,
        "ccn_per_loc": 0.0728744939271255,
        "functions_per_loc": 0.0728744939271255,
        "tokens_per_loc": 10.643724696356275
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 94,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestMenuFactory.java",
        "comments": 24,
        "loc_per_function": 11.75,
        "blanks_per_loc": 0.14,
        "num_funs": 8,
        "comments_per_loc": 0.26,
        "tokens": 603,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 75.375,
        "ccn_per_token": 0.01658374792703151,
        "functions_per_token": 0.013266998341625208,
        "loc_per_token": 0.1558872305140962,
        "ccn_per_loc": 0.10638297872340426,
        "functions_per_loc": 0.0851063829787234,
        "tokens_per_loc": 6.414893617021277
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 501,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestSelectionModel.java",
        "comments": 44,
        "loc_per_function": 12.22,
        "blanks_per_loc": 0.1,
        "num_funs": 41,
        "comments_per_loc": 0.09,
        "tokens": 3560,
        "ccn": 43,
        "ccn_per_function": 1.048780487804878,
        "tokens_per_function": 86.82926829268293,
        "ccn_per_token": 0.012078651685393259,
        "functions_per_token": 0.011516853932584269,
        "loc_per_token": 0.14073033707865168,
        "ccn_per_loc": 0.08582834331337326,
        "functions_per_loc": 0.08183632734530938,
        "tokens_per_loc": 7.105788423153693
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestEditorFrame.java",
        "comments": 20,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 1.54,
        "tokens": 90,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 90.0,
        "ccn_per_token": 0.011111111111111112,
        "functions_per_token": 0.011111111111111112,
        "loc_per_token": 0.14444444444444443,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.923076923076923
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 59,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestAddNodeCommand.java",
        "comments": 23,
        "loc_per_function": 14.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.39,
        "tokens": 365,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 91.25,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.010958904109589041,
        "loc_per_token": 0.16164383561643836,
        "ccn_per_loc": 0.0847457627118644,
        "functions_per_loc": 0.06779661016949153,
        "tokens_per_loc": 6.186440677966102
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestMoveCommand.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 0.51,
        "tokens": 432,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 108.0,
        "ccn_per_token": 0.009259259259259259,
        "functions_per_token": 0.009259259259259259,
        "loc_per_token": 0.10416666666666667,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 9.6
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 187,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestCompoundCommand.java",
        "comments": 23,
        "loc_per_function": 23.38,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.12,
        "tokens": 1598,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 199.75,
        "ccn_per_token": 0.008135168961201502,
        "functions_per_token": 0.0050062578222778474,
        "loc_per_token": 0.11702127659574468,
        "ccn_per_loc": 0.06951871657754011,
        "functions_per_loc": 0.0427807486631016,
        "tokens_per_loc": 8.545454545454545
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 60,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestDeleteNodeCommand.java",
        "comments": 23,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.38,
        "tokens": 367,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 91.75,
        "ccn_per_token": 0.013623978201634877,
        "functions_per_token": 0.010899182561307902,
        "loc_per_token": 0.16348773841961853,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.116666666666666
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 58,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestRemoveEdgeCommand.java",
        "comments": 23,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 339,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 84.75,
        "ccn_per_token": 0.014749262536873156,
        "functions_per_token": 0.011799410029498525,
        "loc_per_token": 0.1710914454277286,
        "ccn_per_loc": 0.08620689655172414,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 5.844827586206897
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 57,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestAddEdgeCommandTest.java",
        "comments": 23,
        "loc_per_function": 14.25,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 337,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 84.25,
        "ccn_per_token": 0.01483679525222552,
        "functions_per_token": 0.011869436201780416,
        "loc_per_token": 0.16913946587537093,
        "ccn_per_loc": 0.08771929824561403,
        "functions_per_loc": 0.07017543859649122,
        "tokens_per_loc": 5.912280701754386
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 30,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestChangePropertyCommand.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.2,
        "num_funs": 2,
        "comments_per_loc": 0.67,
        "tokens": 218,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 109.0,
        "ccn_per_token": 0.009174311926605505,
        "functions_per_token": 0.009174311926605505,
        "loc_per_token": 0.13761467889908258,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.266666666666667
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 31,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 152,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.666666666666664,
        "ccn_per_token": 0.019736842105263157,
        "functions_per_token": 0.019736842105263157,
        "loc_per_token": 0.18421052631578946,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.428571428571429
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 565,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 23,
        "loc_per_function": 43.46,
        "blanks_per_loc": 0.23,
        "num_funs": 13,
        "comments_per_loc": 0.04,
        "tokens": 7874,
        "ccn": 24,
        "ccn_per_function": 1.8461538461538463,
        "tokens_per_function": 605.6923076923077,
        "ccn_per_token": 0.003048006096012192,
        "functions_per_token": 0.001651003302006604,
        "loc_per_token": 0.07175514351028701,
        "ccn_per_loc": 0.04247787610619469,
        "functions_per_loc": 0.023008849557522124,
        "tokens_per_loc": 13.936283185840708
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 59,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 26,
        "loc_per_function": 11.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.44,
        "tokens": 459,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.8,
        "ccn_per_token": 0.010893246187363835,
        "functions_per_token": 0.010893246187363835,
        "loc_per_token": 0.12854030501089325,
        "ccn_per_loc": 0.0847457627118644,
        "functions_per_loc": 0.0847457627118644,
        "tokens_per_loc": 7.779661016949152
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 23,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.25,
        "tokens": 486,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 69.42857142857143,
        "ccn_per_token": 0.0205761316872428,
        "functions_per_token": 0.01440329218106996,
        "loc_per_token": 0.18930041152263374,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.282608695652174
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 25,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.33,
        "tokens": 510,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011764705882352941,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.14705882352941177,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.8
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 185,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 34,
        "loc_per_function": 16.82,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.18,
        "tokens": 1819,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 165.36363636363637,
        "ccn_per_token": 0.006047278724573941,
        "functions_per_token": 0.006047278724573941,
        "loc_per_token": 0.1017042330951072,
        "ccn_per_loc": 0.05945945945945946,
        "functions_per_loc": 0.05945945945945946,
        "tokens_per_loc": 9.832432432432432
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 30,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.27,
        "tokens": 602,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 100.33333333333333,
        "ccn_per_token": 0.03820598006644518,
        "functions_per_token": 0.009966777408637873,
        "loc_per_token": 0.18604651162790697,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.375
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 123,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 30,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 1123,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 124.77777777777777,
        "ccn_per_token": 0.008014247551202136,
        "functions_per_token": 0.008014247551202136,
        "loc_per_token": 0.10952804986642921,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 9.130081300813009
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/UMLEditor.java",
        "comments": 37,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.16,
        "num_funs": 6,
        "comments_per_loc": 0.43,
        "tokens": 607,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 101.16666666666667,
        "ccn_per_token": 0.013179571663920923,
        "functions_per_token": 0.009884678747940691,
        "loc_per_token": 0.14332784184514002,
        "ccn_per_loc": 0.09195402298850575,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 6.977011494252873
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.2,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 278,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.025179856115107913,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.15827338129496402,
        "ccn_per_loc": 0.1590909090909091,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 6.318181818181818
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 46,
        "loc_per_function": 6.6,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 1.39,
        "tokens": 237,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 47.4,
        "ccn_per_token": 0.02109704641350211,
        "functions_per_token": 0.02109704641350211,
        "loc_per_token": 0.13924050632911392,
        "ccn_per_loc": 0.15151515151515152,
        "functions_per_loc": 0.15151515151515152,
        "tokens_per_loc": 7.181818181818182
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 80,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 53,
        "loc_per_function": 7.27,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.66,
        "tokens": 309,
        "ccn": 17,
        "ccn_per_function": 1.5454545454545454,
        "tokens_per_function": 28.09090909090909,
        "ccn_per_token": 0.05501618122977346,
        "functions_per_token": 0.03559870550161812,
        "loc_per_token": 0.2588996763754045,
        "ccn_per_loc": 0.2125,
        "functions_per_loc": 0.1375,
        "tokens_per_loc": 3.8625
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 83,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.61,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 113,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 49,
        "loc_per_function": 22.6,
        "blanks_per_loc": 0.14,
        "num_funs": 5,
        "comments_per_loc": 0.43,
        "tokens": 755,
        "ccn": 16,
        "ccn_per_function": 3.2,
        "tokens_per_function": 151.0,
        "ccn_per_token": 0.02119205298013245,
        "functions_per_token": 0.006622516556291391,
        "loc_per_token": 0.14966887417218544,
        "ccn_per_loc": 0.1415929203539823,
        "functions_per_loc": 0.04424778761061947,
        "tokens_per_loc": 6.68141592920354
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 145,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 43,
        "loc_per_function": 24.17,
        "blanks_per_loc": 0.07,
        "num_funs": 6,
        "comments_per_loc": 0.3,
        "tokens": 1148,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 191.33333333333334,
        "ccn_per_token": 0.008710801393728223,
        "functions_per_token": 0.005226480836236934,
        "loc_per_token": 0.12630662020905922,
        "ccn_per_loc": 0.06896551724137931,
        "functions_per_loc": 0.041379310344827586,
        "tokens_per_loc": 7.917241379310345
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 110,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ToolGraphics.java",
        "comments": 91,
        "loc_per_function": 11,
        "blanks_per_loc": 0.12,
        "num_funs": 10,
        "comments_per_loc": 0.83,
        "tokens": 1069,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 106.9,
        "ccn_per_token": 0.01403180542563143,
        "functions_per_token": 0.009354536950420954,
        "loc_per_token": 0.1028999064546305,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 9.718181818181819
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 38,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 36,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 0.95,
        "tokens": 360,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 120.0,
        "ccn_per_token": 0.013888888888888888,
        "functions_per_token": 0.008333333333333333,
        "loc_per_token": 0.10555555555555556,
        "ccn_per_loc": 0.13157894736842105,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 9.473684210526315
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/views/DiagramElementView.java",
        "comments": 42,
        "loc_per_function": 11,
        "blanks_per_loc": 0.45,
        "num_funs": 0,
        "comments_per_loc": 3.82,
        "tokens": 77,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 77,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ViewUtils.java",
        "comments": 94,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 1.21,
        "tokens": 790,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 98.75,
        "ccn_per_token": 0.017721518987341773,
        "functions_per_token": 0.010126582278481013,
        "loc_per_token": 0.09873417721518987,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 10.128205128205128
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 28,
        "loc_per_function": 7,
        "blanks_per_loc": 0.36,
        "num_funs": 2,
        "comments_per_loc": 2,
        "tokens": 71,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.5,
        "ccn_per_token": 0.028169014084507043,
        "functions_per_token": 0.028169014084507043,
        "loc_per_token": 0.19718309859154928,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.071428571428571
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 40,
        "loc_per_function": 24.67,
        "blanks_per_loc": 0.14,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 681,
        "ccn": 11,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 227.0,
        "ccn_per_token": 0.016152716593245228,
        "functions_per_token": 0.004405286343612335,
        "loc_per_token": 0.10866372980910426,
        "ccn_per_loc": 0.14864864864864866,
        "functions_per_loc": 0.04054054054054054,
        "tokens_per_loc": 9.202702702702704
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 94,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/ObjectReferenceEdgeView.java",
        "comments": 30,
        "loc_per_function": 18.8,
        "blanks_per_loc": 0.1,
        "num_funs": 5,
        "comments_per_loc": 0.32,
        "tokens": 811,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 162.2,
        "ccn_per_token": 0.009864364981504316,
        "functions_per_token": 0.006165228113440197,
        "loc_per_token": 0.1159062885326757,
        "ccn_per_loc": 0.0851063829787234,
        "functions_per_loc": 0.05319148936170213,
        "tokens_per_loc": 8.627659574468085
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 348,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/StateTransitionEdgeView.java",
        "comments": 65,
        "loc_per_function": 16.57,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.19,
        "tokens": 2690,
        "ccn": 49,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 128.0952380952381,
        "ccn_per_token": 0.018215613382899627,
        "functions_per_token": 0.007806691449814126,
        "loc_per_token": 0.12936802973977696,
        "ccn_per_loc": 0.14080459770114942,
        "functions_per_loc": 0.0603448275862069,
        "tokens_per_loc": 7.7298850574712645
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 71,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/AbstractEdgeView.java",
        "comments": 45,
        "loc_per_function": 10.14,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.63,
        "tokens": 531,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 75.85714285714286,
        "ccn_per_token": 0.01694915254237288,
        "functions_per_token": 0.013182674199623353,
        "loc_per_token": 0.1337099811676083,
        "ccn_per_loc": 0.1267605633802817,
        "functions_per_loc": 0.09859154929577464,
        "tokens_per_loc": 7.47887323943662
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 535,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyleFactory.java",
        "comments": 97,
        "loc_per_function": 17.26,
        "blanks_per_loc": 0.1,
        "num_funs": 31,
        "comments_per_loc": 0.18,
        "tokens": 3702,
        "ccn": 112,
        "ccn_per_function": 3.6129032258064515,
        "tokens_per_function": 119.41935483870968,
        "ccn_per_token": 0.030253916801728797,
        "functions_per_token": 0.008373851971907077,
        "loc_per_token": 0.14451647757968666,
        "ccn_per_loc": 0.20934579439252338,
        "functions_per_loc": 0.05794392523364486,
        "tokens_per_loc": 6.919626168224299
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 196,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentedEdgeView.java",
        "comments": 57,
        "loc_per_function": 19.6,
        "blanks_per_loc": 0.08,
        "num_funs": 10,
        "comments_per_loc": 0.29,
        "tokens": 1760,
        "ccn": 24,
        "ccn_per_function": 2.4,
        "tokens_per_function": 176.0,
        "ccn_per_token": 0.013636363636363636,
        "functions_per_token": 0.005681818181818182,
        "loc_per_token": 0.11136363636363636,
        "ccn_per_loc": 0.12244897959183673,
        "functions_per_loc": 0.05102040816326531,
        "tokens_per_loc": 8.979591836734693
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyle.java",
        "comments": 50,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.02,
        "tokens": 223,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.053811659192825115,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.21973094170403587,
        "ccn_per_loc": 0.24489795918367346,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 4.551020408163265
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/NoteEdgeView.java",
        "comments": 26,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.16,
        "num_funs": 3,
        "comments_per_loc": 0.81,
        "tokens": 249,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 83.0,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.012048192771084338,
        "loc_per_token": 0.1285140562248996,
        "ccn_per_loc": 0.09375,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 7.78125
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/EdgeView.java",
        "comments": 29,
        "loc_per_function": 7,
        "blanks_per_loc": 0.29,
        "num_funs": 0,
        "comments_per_loc": 4.14,
        "tokens": 51,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 51,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13725490196078433,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.285714285714286
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ClassNodeView.java",
        "comments": 29,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.52,
        "tokens": 366,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 61.0,
        "ccn_per_token": 0.02185792349726776,
        "functions_per_token": 0.01639344262295082,
        "loc_per_token": 0.15300546448087432,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.535714285714286
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/AbstractNodeView.java",
        "comments": 45,
        "loc_per_function": 12.17,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.62,
        "tokens": 462,
        "ccn": 12,
        "ccn_per_function": 2.0,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.025974025974025976,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.15800865800865802,
        "ccn_per_loc": 0.1643835616438356,
        "functions_per_loc": 0.0821917808219178,
        "tokens_per_loc": 6.328767123287672
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 100,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/InterfaceNodeView.java",
        "comments": 47,
        "loc_per_function": 9.09,
        "blanks_per_loc": 0.17,
        "num_funs": 11,
        "comments_per_loc": 0.47,
        "tokens": 813,
        "ccn": 17,
        "ccn_per_function": 1.5454545454545454,
        "tokens_per_function": 73.9090909090909,
        "ccn_per_token": 0.020910209102091022,
        "functions_per_token": 0.013530135301353014,
        "loc_per_token": 0.12300123001230012,
        "ccn_per_loc": 0.17,
        "functions_per_loc": 0.11,
        "tokens_per_loc": 8.13
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NodeView.java",
        "comments": 35,
        "loc_per_function": 10,
        "blanks_per_loc": 0.3,
        "num_funs": 0,
        "comments_per_loc": 3.5,
        "tokens": 86,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 86,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.11627906976744186,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.6
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/RectangleBoundedNodeView.java",
        "comments": 31,
        "loc_per_function": 8.75,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.89,
        "tokens": 240,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 60.0,
        "ccn_per_token": 0.016666666666666666,
        "functions_per_token": 0.016666666666666666,
        "loc_per_token": 0.14583333333333334,
        "ccn_per_loc": 0.11428571428571428,
        "functions_per_loc": 0.11428571428571428,
        "tokens_per_loc": 6.857142857142857
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/FieldNodeView.java",
        "comments": 35,
        "loc_per_function": 8.67,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.45,
        "tokens": 736,
        "ccn": 11,
        "ccn_per_function": 1.2222222222222223,
        "tokens_per_function": 81.77777777777777,
        "ccn_per_token": 0.014945652173913044,
        "functions_per_token": 0.012228260869565218,
        "loc_per_token": 0.10597826086956522,
        "ccn_per_loc": 0.14102564102564102,
        "functions_per_loc": 0.11538461538461539,
        "tokens_per_loc": 9.435897435897436
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 65,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NoteNodeView.java",
        "comments": 30,
        "loc_per_function": 10.83,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 626,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 104.33333333333333,
        "ccn_per_token": 0.009584664536741214,
        "functions_per_token": 0.009584664536741214,
        "loc_per_token": 0.10383386581469649,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.09230769230769231,
        "tokens_per_loc": 9.63076923076923
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 156,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CallNodeView.java",
        "comments": 45,
        "loc_per_function": 15.6,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.29,
        "tokens": 1173,
        "ccn": 26,
        "ccn_per_function": 2.6,
        "tokens_per_function": 117.3,
        "ccn_per_token": 0.02216538789428815,
        "functions_per_token": 0.008525149190110827,
        "loc_per_token": 0.1329923273657289,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.0641025641025641,
        "tokens_per_loc": 7.519230769230769
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 73,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ImplicitParameterNodeView.java",
        "comments": 30,
        "loc_per_function": 9.12,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.41,
        "tokens": 630,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 78.75,
        "ccn_per_token": 0.015873015873015872,
        "functions_per_token": 0.012698412698412698,
        "loc_per_token": 0.11587301587301588,
        "ccn_per_loc": 0.136986301369863,
        "functions_per_loc": 0.1095890410958904,
        "tokens_per_loc": 8.63013698630137
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/StateNodeView.java",
        "comments": 26,
        "loc_per_function": 8.25,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 0.79,
        "tokens": 266,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.5,
        "ccn_per_token": 0.015037593984962405,
        "functions_per_token": 0.015037593984962405,
        "loc_per_token": 0.12406015037593984,
        "ccn_per_loc": 0.12121212121212122,
        "functions_per_loc": 0.12121212121212122,
        "tokens_per_loc": 8.06060606060606
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CircularStateNodeView.java",
        "comments": 27,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.47,
        "tokens": 506,
        "ccn": 9,
        "ccn_per_function": 2.25,
        "tokens_per_function": 126.5,
        "ccn_per_token": 0.017786561264822136,
        "functions_per_token": 0.007905138339920948,
        "loc_per_token": 0.11462450592885376,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 8.724137931034482
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 145,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PackageNodeView.java",
        "comments": 40,
        "loc_per_function": 11.15,
        "blanks_per_loc": 0.16,
        "num_funs": 13,
        "comments_per_loc": 0.28,
        "tokens": 1242,
        "ccn": 21,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 95.53846153846153,
        "ccn_per_token": 0.016908212560386472,
        "functions_per_token": 0.010466988727858293,
        "loc_per_token": 0.11674718196457327,
        "ccn_per_loc": 0.14482758620689656,
        "functions_per_loc": 0.0896551724137931,
        "tokens_per_loc": 8.565517241379311
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ObjectNodeView.java",
        "comments": 30,
        "loc_per_function": 12.14,
        "blanks_per_loc": 0.12,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 658,
        "ccn": 12,
        "ccn_per_function": 1.7142857142857142,
        "tokens_per_function": 94.0,
        "ccn_per_token": 0.0182370820668693,
        "functions_per_token": 0.010638297872340425,
        "loc_per_token": 0.12917933130699089,
        "ccn_per_loc": 0.1411764705882353,
        "functions_per_loc": 0.08235294117647059,
        "tokens_per_loc": 7.741176470588235
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ActorNodeView.java",
        "comments": 26,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.36,
        "tokens": 714,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 142.8,
        "ccn_per_token": 0.0070028011204481795,
        "functions_per_token": 0.0070028011204481795,
        "loc_per_token": 0.10084033613445378,
        "ccn_per_loc": 0.06944444444444445,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 9.916666666666666
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/UseCaseNodeView.java",
        "comments": 26,
        "loc_per_function": 8.75,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.74,
        "tokens": 310,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.5,
        "ccn_per_token": 0.012903225806451613,
        "functions_per_token": 0.012903225806451613,
        "loc_per_token": 0.11290322580645161,
        "ccn_per_loc": 0.11428571428571428,
        "functions_per_loc": 0.11428571428571428,
        "tokens_per_loc": 8.857142857142858
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 38,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PointNodeView.java",
        "comments": 28,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 6,
        "comments_per_loc": 0.74,
        "tokens": 226,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.666666666666664,
        "ccn_per_token": 0.02654867256637168,
        "functions_per_token": 0.02654867256637168,
        "loc_per_token": 0.168141592920354,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 5.947368421052632
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 114,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ClassDiagram.java",
        "comments": 33,
        "loc_per_function": 14.25,
        "blanks_per_loc": 0.18,
        "num_funs": 8,
        "comments_per_loc": 0.29,
        "tokens": 657,
        "ccn": 21,
        "ccn_per_function": 2.625,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0319634703196347,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1735159817351598,
        "ccn_per_loc": 0.18421052631578946,
        "functions_per_loc": 0.07017543859649122,
        "tokens_per_loc": 5.7631578947368425
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 132,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/ObjectDiagram.java",
        "comments": 34,
        "loc_per_function": 14.67,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.26,
        "tokens": 725,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 80.55555555555556,
        "ccn_per_token": 0.03586206896551724,
        "functions_per_token": 0.012413793103448275,
        "loc_per_token": 0.1820689655172414,
        "ccn_per_loc": 0.19696969696969696,
        "functions_per_loc": 0.06818181818181818,
        "tokens_per_loc": 5.492424242424242
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/UseCaseDiagram.java",
        "comments": 23,
        "loc_per_function": 10.4,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.44,
        "tokens": 347,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 69.4,
        "ccn_per_token": 0.020172910662824207,
        "functions_per_token": 0.01440922190201729,
        "loc_per_token": 0.14985590778097982,
        "ccn_per_loc": 0.1346153846153846,
        "functions_per_loc": 0.09615384615384616,
        "tokens_per_loc": 6.673076923076923
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Property.java",
        "comments": 53,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.51,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/AbstractDiagramElement.java",
        "comments": 38,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.19,
        "tokens": 103,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.75,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.038834951456310676,
        "loc_per_token": 0.3106796116504854,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.21875
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Properties.java",
        "comments": 71,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.11,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 480,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Diagram.java",
        "comments": 241,
        "loc_per_function": 12.31,
        "blanks_per_loc": 0.12,
        "num_funs": 39,
        "comments_per_loc": 0.5,
        "tokens": 2406,
        "ccn": 121,
        "ccn_per_function": 3.1025641025641026,
        "tokens_per_function": 61.69230769230769,
        "ccn_per_token": 0.05029093931837074,
        "functions_per_token": 0.016209476309226933,
        "loc_per_token": 0.19950124688279303,
        "ccn_per_loc": 0.2520833333333333,
        "functions_per_loc": 0.08125,
        "tokens_per_loc": 5.0125
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 318,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/SequenceDiagram.java",
        "comments": 70,
        "loc_per_function": 17.67,
        "blanks_per_loc": 0.11,
        "num_funs": 18,
        "comments_per_loc": 0.22,
        "tokens": 1774,
        "ccn": 82,
        "ccn_per_function": 4.555555555555555,
        "tokens_per_function": 98.55555555555556,
        "ccn_per_token": 0.046223224351747465,
        "functions_per_token": 0.010146561443066516,
        "loc_per_token": 0.17925591882750846,
        "ccn_per_loc": 0.2578616352201258,
        "functions_per_loc": 0.05660377358490566,
        "tokens_per_loc": 5.578616352201258
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/StateDiagram.java",
        "comments": 24,
        "loc_per_function": 14,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.29,
        "tokens": 459,
        "ccn": 22,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 76.5,
        "ccn_per_token": 0.04793028322440087,
        "functions_per_token": 0.013071895424836602,
        "loc_per_token": 0.1830065359477124,
        "ccn_per_loc": 0.2619047619047619,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 5.464285714285714
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramData.java",
        "comments": 34,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.86,
        "tokens": 40,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 40,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.175,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.714285714285714
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramType.java",
        "comments": 31,
        "loc_per_function": 10,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.03,
        "tokens": 124,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 41.333333333333336,
        "ccn_per_token": 0.03225806451612903,
        "functions_per_token": 0.024193548387096774,
        "loc_per_token": 0.24193548387096775,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.133333333333334
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Node.java",
        "comments": 43,
        "loc_per_function": 11,
        "blanks_per_loc": 0.64,
        "num_funs": 0,
        "comments_per_loc": 3.91,
        "tokens": 78,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 78,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14102564102564102,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.090909090909091
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/Edge.java",
        "comments": 49,
        "loc_per_function": 11,
        "blanks_per_loc": 0.82,
        "num_funs": 0,
        "comments_per_loc": 4.45,
        "tokens": 71,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 71,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15492957746478872,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.454545454545454
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/DiagramElement.java",
        "comments": 29,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 4.14,
        "tokens": 41,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 41,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17073170731707318,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.857142857142857
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AssociationEdge.java",
        "comments": 36,
        "loc_per_function": 8.86,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.58,
        "tokens": 344,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 49.142857142857146,
        "ccn_per_token": 0.03197674418604651,
        "functions_per_token": 0.020348837209302327,
        "loc_per_token": 0.18023255813953487,
        "ccn_per_loc": 0.1774193548387097,
        "functions_per_loc": 0.11290322580645161,
        "tokens_per_loc": 5.548387096774194
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ThreeLabelEdge.java",
        "comments": 35,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.21,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ClassRelationshipEdge.java",
        "comments": 28,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 4.67,
        "tokens": 43,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 43,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13953488372093023,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.166666666666667
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseGeneralizationEdge.java",
        "comments": 26,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 1.62,
        "tokens": 149,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 149.0,
        "ccn_per_token": 0.006711409395973154,
        "functions_per_token": 0.006711409395973154,
        "loc_per_token": 0.10738255033557047,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.3125
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/DependencyEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 1.23,
        "tokens": 186,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.010752688172043012,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.11827956989247312,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.454545454545455
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/StateTransitionEdge.java",
        "comments": 25,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.27,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/CallEdge.java",
        "comments": 38,
        "loc_per_function": 14.38,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.33,
        "tokens": 867,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 108.375,
        "ccn_per_token": 0.014994232987312572,
        "functions_per_token": 0.00922722029988466,
        "loc_per_token": 0.13264129181084197,
        "ccn_per_loc": 0.11304347826086956,
        "functions_per_loc": 0.06956521739130435,
        "tokens_per_loc": 7.539130434782609
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectCollaborationEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.32,
        "num_funs": 2,
        "comments_per_loc": 1.23,
        "tokens": 184,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.11956521739130435,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.363636363636363
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AbstractEdge.java",
        "comments": 33,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.19,
        "num_funs": 8,
        "comments_per_loc": 0.57,
        "tokens": 275,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 34.375,
        "ccn_per_token": 0.03272727272727273,
        "functions_per_token": 0.02909090909090909,
        "loc_per_token": 0.2109090909090909,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.741379310344827
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/SingleLabelEdge.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 316,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.5,
        "ccn_per_token": 0.028481012658227847,
        "functions_per_token": 0.02531645569620253,
        "loc_per_token": 0.17721518987341772,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.642857142857143
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseAssociationEdge.java",
        "comments": 26,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 1.62,
        "tokens": 149,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 149.0,
        "ccn_per_token": 0.006711409395973154,
        "functions_per_token": 0.006711409395973154,
        "loc_per_token": 0.10738255033557047,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.3125
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.8,
        "tokens": 314,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.25,
        "ccn_per_token": 0.028662420382165606,
        "functions_per_token": 0.025477707006369428,
        "loc_per_token": 0.17834394904458598,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.607142857142857
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 67,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 22.33,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.34,
        "tokens": 545,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 181.66666666666666,
        "ccn_per_token": 0.009174311926605505,
        "functions_per_token": 0.005504587155963303,
        "loc_per_token": 0.12293577981651377,
        "ccn_per_loc": 0.07462686567164178,
        "functions_per_loc": 0.04477611940298507,
        "tokens_per_loc": 8.134328358208956
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/edges/UseCaseDependencyEdge.java",
        "comments": 43,
        "loc_per_function": 8,
        "blanks_per_loc": 0.23,
        "num_funs": 7,
        "comments_per_loc": 0.77,
        "tokens": 309,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 44.142857142857146,
        "ccn_per_token": 0.02912621359223301,
        "functions_per_token": 0.022653721682847898,
        "loc_per_token": 0.18122977346278318,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.517857142857143
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.18,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ParentNode.java",
        "comments": 46,
        "loc_per_function": 10,
        "blanks_per_loc": 0.6,
        "num_funs": 0,
        "comments_per_loc": 4.6,
        "tokens": 72,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 72,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1388888888888889,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.2
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ClassNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.27,
        "num_funs": 5,
        "comments_per_loc": 1.13,
        "tokens": 146,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.2,
        "ccn_per_token": 0.03424657534246575,
        "functions_per_token": 0.03424657534246575,
        "loc_per_token": 0.2054794520547945,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.866666666666666
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 111,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PackageNode.java",
        "comments": 40,
        "loc_per_function": 7.4,
        "blanks_per_loc": 0.18,
        "num_funs": 15,
        "comments_per_loc": 0.36,
        "tokens": 568,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 37.86666666666667,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.02640845070422535,
        "loc_per_token": 0.1954225352112676,
        "ccn_per_loc": 0.18018018018018017,
        "functions_per_loc": 0.13513513513513514,
        "tokens_per_loc": 5.117117117117117
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/AbstractNode.java",
        "comments": 34,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.2,
        "num_funs": 8,
        "comments_per_loc": 0.63,
        "tokens": 324,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.5,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.024691358024691357,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 47,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InterfaceNode.java",
        "comments": 36,
        "loc_per_function": 5.88,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 198,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 24.75,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.04040404040404041,
        "loc_per_token": 0.23737373737373738,
        "ccn_per_loc": 0.19148936170212766,
        "functions_per_loc": 0.1702127659574468,
        "tokens_per_loc": 4.212765957446808
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 68,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 68.0,
        "ccn_per_token": 0.014705882352941176,
        "functions_per_token": 0.014705882352941176,
        "loc_per_token": 0.16176470588235295,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.181818181818182
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ChildNode.java",
        "comments": 42,
        "loc_per_function": 8,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.25,
        "tokens": 50,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 50,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.25
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ImplicitParameterNode.java",
        "comments": 40,
        "loc_per_function": 8.56,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.52,
        "tokens": 432,
        "ccn": 14,
        "ccn_per_function": 1.5555555555555556,
        "tokens_per_function": 48.0,
        "ccn_per_token": 0.032407407407407406,
        "functions_per_token": 0.020833333333333332,
        "loc_per_token": 0.17824074074074073,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.11688311688311688,
        "tokens_per_loc": 5.6103896103896105
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 75,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/CallNode.java",
        "comments": 49,
        "loc_per_function": 7.5,
        "blanks_per_loc": 0.19,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 458,
        "ccn": 17,
        "ccn_per_function": 1.7,
        "tokens_per_function": 45.8,
        "ccn_per_token": 0.03711790393013101,
        "functions_per_token": 0.021834061135371178,
        "loc_per_token": 0.16375545851528384,
        "ccn_per_loc": 0.22666666666666666,
        "functions_per_loc": 0.13333333333333333,
        "tokens_per_loc": 6.1066666666666665
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.27,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 43,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/FieldNode.java",
        "comments": 31,
        "loc_per_function": 6.14,
        "blanks_per_loc": 0.26,
        "num_funs": 7,
        "comments_per_loc": 0.72,
        "tokens": 190,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 27.142857142857142,
        "ccn_per_token": 0.042105263157894736,
        "functions_per_token": 0.03684210526315789,
        "loc_per_token": 0.22631578947368422,
        "ccn_per_loc": 0.18604651162790697,
        "functions_per_loc": 0.16279069767441862,
        "tokens_per_loc": 4.4186046511627906
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.31,
        "num_funs": 2,
        "comments_per_loc": 1.62,
        "tokens": 85,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 42.5,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.023529411764705882,
        "loc_per_token": 0.18823529411764706,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.3125
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 68,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 68.0,
        "ccn_per_token": 0.014705882352941176,
        "functions_per_token": 0.014705882352941176,
        "loc_per_token": 0.16176470588235295,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.181818181818182
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 69,
        "file_path": "src/ca/mcgill/cs/jetuml/diagram/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 9.86,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.42,
        "tokens": 359,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 51.285714285714285,
        "ccn_per_token": 0.03064066852367688,
        "functions_per_token": 0.019498607242339833,
        "loc_per_token": 0.19220055710306408,
        "ccn_per_loc": 0.15942028985507245,
        "functions_per_loc": 0.10144927536231885,
        "tokens_per_loc": 5.202898550724638
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UndoManager.java",
        "comments": 51,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.69,
        "tokens": 336,
        "ccn": 13,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 56.0,
        "ccn_per_token": 0.03869047619047619,
        "functions_per_token": 0.017857142857142856,
        "loc_per_token": 0.22023809523809523,
        "ccn_per_loc": 0.17567567567567569,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 4.54054054054054
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 143,
        "file_path": "src/ca/mcgill/cs/jetuml/application/JavaVersion.java",
        "comments": 55,
        "loc_per_function": 20.43,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.38,
        "tokens": 747,
        "ccn": 25,
        "ccn_per_function": 3.5714285714285716,
        "tokens_per_function": 106.71428571428571,
        "ccn_per_token": 0.03346720214190094,
        "functions_per_token": 0.009370816599732263,
        "loc_per_token": 0.19143239625167335,
        "ccn_per_loc": 0.17482517482517482,
        "functions_per_loc": 0.04895104895104895,
        "tokens_per_loc": 5.223776223776224
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 37,
        "loc_per_function": 25.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.73,
        "tokens": 410,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 205.0,
        "ccn_per_token": 0.01951219512195122,
        "functions_per_token": 0.004878048780487805,
        "loc_per_token": 0.12439024390243902,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.0392156862745098,
        "tokens_per_loc": 8.03921568627451
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 23,
        "file_path": "src/ca/mcgill/cs/jetuml/application/DiagramSizeUtils.java",
        "comments": 33,
        "loc_per_function": 7.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.43,
        "tokens": 92,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 30.666666666666668,
        "ccn_per_token": 0.05434782608695652,
        "functions_per_token": 0.03260869565217391,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.21739130434782608,
        "functions_per_loc": 0.13043478260869565,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 28,
        "file_path": "src/ca/mcgill/cs/jetuml/application/ApplicationResources.java",
        "comments": 43,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 1.54,
        "tokens": 143,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 47.666666666666664,
        "ccn_per_token": 0.027972027972027972,
        "functions_per_token": 0.02097902097902098,
        "loc_per_token": 0.1958041958041958,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.107142857142857
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/jetuml/application/GraphModificationListener.java",
        "comments": 60,
        "loc_per_function": 15,
        "blanks_per_loc": 0.53,
        "num_funs": 0,
        "comments_per_loc": 4,
        "tokens": 128,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 128,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1171875,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.533333333333333
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 63,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 36,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 41,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.14,
        "tokens": 242,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 80.66666666666667,
        "ccn_per_token": 0.024793388429752067,
        "functions_per_token": 0.012396694214876033,
        "loc_per_token": 0.1487603305785124,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.722222222222222
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 276,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 71,
        "loc_per_function": 16.24,
        "blanks_per_loc": 0.11,
        "num_funs": 17,
        "comments_per_loc": 0.26,
        "tokens": 1512,
        "ccn": 68,
        "ccn_per_function": 4.0,
        "tokens_per_function": 88.94117647058823,
        "ccn_per_token": 0.04497354497354497,
        "functions_per_token": 0.011243386243386243,
        "loc_per_token": 0.18253968253968253,
        "ccn_per_loc": 0.2463768115942029,
        "functions_per_loc": 0.06159420289855073,
        "tokens_per_loc": 5.478260869565218
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 34,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.41,
        "num_funs": 3,
        "comments_per_loc": 0.83,
        "tokens": 337,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 112.33333333333333,
        "ccn_per_token": 0.01483679525222552,
        "functions_per_token": 0.008902077151335312,
        "loc_per_token": 0.12166172106824925,
        "ccn_per_loc": 0.12195121951219512,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 8.21951219512195
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UserPreferences.java",
        "comments": 69,
        "loc_per_function": 7.08,
        "blanks_per_loc": 0.25,
        "num_funs": 12,
        "comments_per_loc": 0.81,
        "tokens": 509,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 42.416666666666664,
        "ccn_per_token": 0.0275049115913556,
        "functions_per_token": 0.023575638506876228,
        "loc_per_token": 0.16699410609037327,
        "ccn_per_loc": 0.16470588235294117,
        "functions_per_loc": 0.1411764705882353,
        "tokens_per_loc": 5.988235294117647
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 101,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 78,
        "loc_per_function": 12.62,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 657,
        "ccn": 18,
        "ccn_per_function": 2.25,
        "tokens_per_function": 82.125,
        "ccn_per_token": 0.0273972602739726,
        "functions_per_token": 0.0121765601217656,
        "loc_per_token": 0.1537290715372907,
        "ccn_per_loc": 0.1782178217821782,
        "functions_per_loc": 0.07920792079207921,
        "tokens_per_loc": 6.5049504950495045
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MouseDraggedGestureHandler.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 36,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 36,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 72,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 34,
        "loc_per_function": 14.4,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.47,
        "tokens": 585,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 117.0,
        "ccn_per_token": 0.011965811965811967,
        "functions_per_token": 0.008547008547008548,
        "loc_per_token": 0.12307692307692308,
        "ccn_per_loc": 0.09722222222222222,
        "functions_per_loc": 0.06944444444444445,
        "tokens_per_loc": 8.125
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 66,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvas.java",
        "comments": 42,
        "loc_per_function": 9.43,
        "blanks_per_loc": 0.15,
        "num_funs": 7,
        "comments_per_loc": 0.64,
        "tokens": 460,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 65.71428571428571,
        "ccn_per_token": 0.01956521739130435,
        "functions_per_token": 0.015217391304347827,
        "loc_per_token": 0.14347826086956522,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.10606060606060606,
        "tokens_per_loc": 6.96969696969697
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 76,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/AboutDialog.java",
        "comments": 32,
        "loc_per_function": 19,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 609,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 152.25,
        "ccn_per_token": 0.008210180623973728,
        "functions_per_token": 0.006568144499178982,
        "loc_per_token": 0.12479474548440066,
        "ccn_per_loc": 0.06578947368421052,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 8.013157894736842
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectableToolButton.java",
        "comments": 46,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 285,
        "ccn": 7,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 95.0,
        "ccn_per_token": 0.02456140350877193,
        "functions_per_token": 0.010526315789473684,
        "loc_per_token": 0.14385964912280702,
        "ccn_per_loc": 0.17073170731707318,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 6.951219512195122
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 527,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 109,
        "loc_per_function": 16.47,
        "blanks_per_loc": 0.12,
        "num_funs": 32,
        "comments_per_loc": 0.21,
        "tokens": 3980,
        "ccn": 73,
        "ccn_per_function": 2.28125,
        "tokens_per_function": 124.375,
        "ccn_per_token": 0.018341708542713567,
        "functions_per_token": 0.008040201005025126,
        "loc_per_token": 0.13241206030150754,
        "ccn_per_loc": 0.13851992409867173,
        "functions_per_loc": 0.06072106261859583,
        "tokens_per_loc": 7.552182163187855
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionObserver.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.2,
        "tokens": 21,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 21,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23809523809523808,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.2
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 477,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramCanvasController.java",
        "comments": 107,
        "loc_per_function": 11.93,
        "blanks_per_loc": 0.12,
        "num_funs": 40,
        "comments_per_loc": 0.22,
        "tokens": 2858,
        "ccn": 85,
        "ccn_per_function": 2.125,
        "tokens_per_function": 71.45,
        "ccn_per_token": 0.02974107767669699,
        "functions_per_token": 0.013995801259622114,
        "loc_per_token": 0.1668999300209937,
        "ccn_per_loc": 0.17819706498951782,
        "functions_per_loc": 0.08385744234800839,
        "tokens_per_loc": 5.9916142557651995
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 140,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTabToolBar.java",
        "comments": 54,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.11,
        "num_funs": 12,
        "comments_per_loc": 0.39,
        "tokens": 1090,
        "ccn": 18,
        "ccn_per_function": 1.5,
        "tokens_per_function": 90.83333333333333,
        "ccn_per_token": 0.01651376146788991,
        "functions_per_token": 0.011009174311926606,
        "loc_per_token": 0.12844036697247707,
        "ccn_per_loc": 0.12857142857142856,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 7.785714285714286
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NamedHandler.java",
        "comments": 36,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.33,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 188,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 51,
        "loc_per_function": 20.89,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.27,
        "tokens": 1230,
        "ccn": 30,
        "ccn_per_function": 3.3333333333333335,
        "tokens_per_function": 136.66666666666666,
        "ccn_per_token": 0.024390243902439025,
        "functions_per_token": 0.007317073170731708,
        "loc_per_token": 0.15284552845528454,
        "ccn_per_loc": 0.1595744680851064,
        "functions_per_loc": 0.047872340425531915,
        "tokens_per_loc": 6.542553191489362
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 24,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/NewDiagramHandler.java",
        "comments": 33,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.38,
        "tokens": 120,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 40.0,
        "ccn_per_token": 0.03333333333333333,
        "functions_per_token": 0.025,
        "loc_per_token": 0.2,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 210,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/SelectionModel.java",
        "comments": 131,
        "loc_per_function": 8.75,
        "blanks_per_loc": 0.14,
        "num_funs": 24,
        "comments_per_loc": 0.62,
        "tokens": 1092,
        "ccn": 42,
        "ccn_per_function": 1.75,
        "tokens_per_function": 45.5,
        "ccn_per_token": 0.038461538461538464,
        "functions_per_token": 0.02197802197802198,
        "loc_per_token": 0.19230769230769232,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.11428571428571428,
        "tokens_per_loc": 5.2
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ViewportProjection.java",
        "comments": 88,
        "loc_per_function": 7.19,
        "blanks_per_loc": 0.15,
        "num_funs": 16,
        "comments_per_loc": 0.77,
        "tokens": 569,
        "ccn": 30,
        "ccn_per_function": 1.875,
        "tokens_per_function": 35.5625,
        "ccn_per_token": 0.05272407732864675,
        "functions_per_token": 0.028119507908611598,
        "loc_per_token": 0.20210896309314588,
        "ccn_per_loc": 0.2608695652173913,
        "functions_per_loc": 0.1391304347826087,
        "tokens_per_loc": 4.947826086956522
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GuiUtils.java",
        "comments": 35,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.9,
        "tokens": 277,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 69.25,
        "ccn_per_token": 0.018050541516245487,
        "functions_per_token": 0.01444043321299639,
        "loc_per_token": 0.1407942238267148,
        "ccn_per_loc": 0.1282051282051282,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 7.102564102564102
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 166,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramSizeDialog.java",
        "comments": 33,
        "loc_per_function": 18.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1271,
        "ccn": 15,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 141.22222222222223,
        "ccn_per_token": 0.011801730920535013,
        "functions_per_token": 0.007081038552321007,
        "loc_per_token": 0.13060582218725414,
        "ccn_per_loc": 0.09036144578313253,
        "functions_per_loc": 0.05421686746987952,
        "tokens_per_loc": 7.656626506024097
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 176,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/DiagramTab.java",
        "comments": 97,
        "loc_per_function": 8.38,
        "blanks_per_loc": 0.18,
        "num_funs": 21,
        "comments_per_loc": 0.55,
        "tokens": 990,
        "ccn": 26,
        "ccn_per_function": 1.2380952380952381,
        "tokens_per_function": 47.142857142857146,
        "ccn_per_token": 0.026262626262626262,
        "functions_per_token": 0.021212121212121213,
        "loc_per_token": 0.17777777777777778,
        "ccn_per_loc": 0.14772727272727273,
        "functions_per_loc": 0.11931818181818182,
        "tokens_per_loc": 5.625
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 36,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/ChangePropertyCommand.java",
        "comments": 31,
        "loc_per_function": 9,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.86,
        "tokens": 148,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.0472972972972973,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.24324324324324326,
        "ccn_per_loc": 0.19444444444444445,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.111111111111111
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/AddNodeCommand.java",
        "comments": 34,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.55,
        "tokens": 118,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 39.333333333333336,
        "ccn_per_token": 0.025423728813559324,
        "functions_per_token": 0.025423728813559324,
        "loc_per_token": 0.1864406779661017,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 5.363636363636363
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/RemoveEdgeCommand.java",
        "comments": 34,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.7,
        "tokens": 106,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.333333333333336,
        "ccn_per_token": 0.02830188679245283,
        "functions_per_token": 0.02830188679245283,
        "loc_per_token": 0.18867924528301888,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.3
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/AddEdgeCommand.java",
        "comments": 34,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.7,
        "tokens": 106,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.333333333333336,
        "ccn_per_token": 0.02830188679245283,
        "functions_per_token": 0.02830188679245283,
        "loc_per_token": 0.18867924528301888,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.3
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/GraphElementRelatedCommand.java",
        "comments": 28,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 2.15,
        "tokens": 71,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.0,
        "ccn_per_token": 0.014084507042253521,
        "functions_per_token": 0.014084507042253521,
        "loc_per_token": 0.18309859154929578,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.461538461538462
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 18,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/DeleteNodeCommand.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 1.89,
        "tokens": 96,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 32.0,
        "ccn_per_token": 0.03125,
        "functions_per_token": 0.03125,
        "loc_per_token": 0.1875,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.333333333333333
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/MoveCommand.java",
        "comments": 36,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 1.33,
        "tokens": 139,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.02158273381294964,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.19424460431654678,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.148148148148148
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/Command.java",
        "comments": 29,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 4.83,
        "tokens": 26,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 26,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23076923076923078,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.333333333333333
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/CompoundCommand.java",
        "comments": 42,
        "loc_per_function": 8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 1.05,
        "tokens": 194,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 38.8,
        "ccn_per_token": 0.03608247422680412,
        "functions_per_token": 0.02577319587628866,
        "loc_per_token": 0.20618556701030927,
        "ccn_per_loc": 0.175,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.85
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 41,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.17,
        "tokens": 222,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.02252252252252252,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.15765765765765766,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 6.3428571428571425
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 89,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 31,
        "loc_per_function": 12.71,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 643,
        "ccn": 16,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 91.85714285714286,
        "ccn_per_token": 0.024883359253499222,
        "functions_per_token": 0.01088646967340591,
        "loc_per_token": 0.13841368584758942,
        "ccn_per_loc": 0.1797752808988764,
        "functions_per_loc": 0.07865168539325842,
        "tokens_per_loc": 7.224719101123595
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 41,
        "loc_per_function": 10,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 1.02,
        "tokens": 199,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 49.75,
        "ccn_per_token": 0.04020100502512563,
        "functions_per_token": 0.020100502512562814,
        "loc_per_token": 0.20100502512562815,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.975
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 34,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.62,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 107,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 17.83,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 765,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 127.5,
        "ccn_per_token": 0.02483660130718954,
        "functions_per_token": 0.00784313725490196,
        "loc_per_token": 0.13986928104575164,
        "ccn_per_loc": 0.17757009345794392,
        "functions_per_loc": 0.056074766355140186,
        "tokens_per_loc": 7.149532710280374
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 41,
        "loc_per_function": 7.5,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.37,
        "tokens": 164,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.0,
        "ccn_per_token": 0.024390243902439025,
        "functions_per_token": 0.024390243902439025,
        "loc_per_token": 0.18292682926829268,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.13333333333333333,
        "tokens_per_loc": 5.466666666666667
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 44,
        "loc_per_function": 9,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 127,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 42.333333333333336,
        "ccn_per_token": 0.03937007874015748,
        "functions_per_token": 0.023622047244094488,
        "loc_per_token": 0.2125984251968504,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.703703703703703
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 301,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 181,
        "loc_per_function": 14.33,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.6,
        "tokens": 1664,
        "ccn": 92,
        "ccn_per_function": 4.380952380952381,
        "tokens_per_function": 79.23809523809524,
        "ccn_per_token": 0.055288461538461536,
        "functions_per_token": 0.012620192307692308,
        "loc_per_token": 0.18088942307692307,
        "ccn_per_loc": 0.30564784053156147,
        "functions_per_loc": 0.06976744186046512,
        "tokens_per_loc": 5.528239202657807
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 126,
        "file_path": "src/org/json/JSONPointer.java",
        "comments": 123,
        "loc_per_function": 10.5,
        "blanks_per_loc": 0.2,
        "num_funs": 12,
        "comments_per_loc": 0.98,
        "tokens": 810,
        "ccn": 30,
        "ccn_per_function": 2.5,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.23809523809523808,
        "functions_per_loc": 0.09523809523809523,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 4,
        "file_path": "src/org/json/JSONString.java",
        "comments": 14,
        "loc_per_function": 4,
        "blanks_per_loc": 0,
        "num_funs": 0,
        "comments_per_loc": 3.5,
        "tokens": 16,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 16,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 13,
        "file_path": "src/org/json/JSONException.java",
        "comments": 27,
        "loc_per_function": 4.33,
        "blanks_per_loc": 0.38,
        "num_funs": 3,
        "comments_per_loc": 2.08,
        "tokens": 74,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.666666666666668,
        "ccn_per_token": 0.04054054054054054,
        "functions_per_token": 0.04054054054054054,
        "loc_per_token": 0.17567567567567569,
        "ccn_per_loc": 0.23076923076923078,
        "functions_per_loc": 0.23076923076923078,
        "tokens_per_loc": 5.6923076923076925
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 10,
        "file_path": "src/org/json/JSONPointerException.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.9,
        "num_funs": 2,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 25.5,
        "ccn_per_token": 0.0392156862745098,
        "functions_per_token": 0.0392156862745098,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 1113,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 1115,
        "loc_per_function": 11.84,
        "blanks_per_loc": 0.12,
        "num_funs": 94,
        "comments_per_loc": 1,
        "tokens": 7586,
        "ccn": 389,
        "ccn_per_function": 4.138297872340425,
        "tokens_per_function": 80.70212765957447,
        "ccn_per_token": 0.05127867123648827,
        "functions_per_token": 0.012391247034010018,
        "loc_per_token": 0.14671763775375693,
        "ccn_per_loc": 0.3495058400718778,
        "functions_per_loc": 0.08445642407906559,
        "tokens_per_loc": 6.81581311769991
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 189,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 12.6,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 1.05,
        "tokens": 1198,
        "ccn": 62,
        "ccn_per_function": 4.133333333333334,
        "tokens_per_function": 79.86666666666666,
        "ccn_per_token": 0.05175292153589316,
        "functions_per_token": 0.012520868113522538,
        "loc_per_token": 0.15776293823038398,
        "ccn_per_loc": 0.328042328042328,
        "functions_per_loc": 0.07936507936507936,
        "tokens_per_loc": 6.338624338624339
    },
    {
        "date": "2018-06-28 Rel 2.1",
        "loc": 631,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 785,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.13,
        "num_funs": 69,
        "comments_per_loc": 1.24,
        "tokens": 4149,
        "ccn": 197,
        "ccn_per_function": 2.8550724637681157,
        "tokens_per_function": 60.130434782608695,
        "ccn_per_token": 0.047481320800192815,
        "functions_per_token": 0.016630513376717282,
        "loc_per_token": 0.15208483972041456,
        "ccn_per_loc": 0.312202852614897,
        "functions_per_loc": 0.10935023771790808,
        "tokens_per_loc": 6.575277337559429
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 15,
        "file_path": "test/ca/mcgill/cs/jetuml/TestUMLEditor.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 1.33,
        "tokens": 91,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.01098901098901099,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.16483516483516483,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.066666666666666
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 12,
        "file_path": "test/ca/mcgill/cs/jetuml/JavaFXLoader.java",
        "comments": 24,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 2,
        "comments_per_loc": 2,
        "tokens": 66,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 33.0,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.030303030303030304,
        "loc_per_token": 0.18181818181818182,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.5
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestLine.java",
        "comments": 20,
        "loc_per_function": 9.8,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.41,
        "tokens": 355,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.0,
        "ccn_per_token": 0.014084507042253521,
        "functions_per_token": 0.014084507042253521,
        "loc_per_token": 0.13802816901408452,
        "ccn_per_loc": 0.10204081632653061,
        "functions_per_loc": 0.10204081632653061,
        "tokens_per_loc": 7.244897959183674
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 54,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestPoint.java",
        "comments": 20,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 443,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 88.6,
        "ccn_per_token": 0.011286681715575621,
        "functions_per_token": 0.011286681715575621,
        "loc_per_token": 0.12189616252821671,
        "ccn_per_loc": 0.09259259259259259,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 8.203703703703704
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 85,
        "file_path": "test/ca/mcgill/cs/jetuml/geom/TestRectangle.java",
        "comments": 20,
        "loc_per_function": 9.44,
        "blanks_per_loc": 0.15,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 727,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 80.77777777777777,
        "ccn_per_token": 0.012379642365887207,
        "functions_per_token": 0.012379642365887207,
        "loc_per_token": 0.11691884456671252,
        "ccn_per_loc": 0.10588235294117647,
        "functions_per_loc": 0.10588235294117647,
        "tokens_per_loc": 8.552941176470588
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 451,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestSegmentationStrategies.java",
        "comments": 47,
        "loc_per_function": 19.61,
        "blanks_per_loc": 0.1,
        "num_funs": 23,
        "comments_per_loc": 0.1,
        "tokens": 4671,
        "ccn": 23,
        "ccn_per_function": 1.0,
        "tokens_per_function": 203.08695652173913,
        "ccn_per_token": 0.004923999143652323,
        "functions_per_token": 0.004923999143652323,
        "loc_per_token": 0.09655320059944338,
        "ccn_per_loc": 0.050997782705099776,
        "functions_per_loc": 0.050997782705099776,
        "tokens_per_loc": 10.356984478935699
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 70,
        "file_path": "test/ca/mcgill/cs/jetuml/views/edges/TestNoteEdgeView.java",
        "comments": 28,
        "loc_per_function": 17.5,
        "blanks_per_loc": 0.26,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 597,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 149.25,
        "ccn_per_token": 0.006700167504187605,
        "functions_per_token": 0.006700167504187605,
        "loc_per_token": 0.11725293132328309,
        "ccn_per_loc": 0.05714285714285714,
        "functions_per_loc": 0.05714285714285714,
        "tokens_per_loc": 8.528571428571428
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 105,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestInterfaceNodeView.java",
        "comments": 25,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.19,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 1042,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 115.77777777777777,
        "ccn_per_token": 0.008637236084452975,
        "functions_per_token": 0.008637236084452975,
        "loc_per_token": 0.10076775431861804,
        "ccn_per_loc": 0.08571428571428572,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 9.923809523809524
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 126,
        "file_path": "test/ca/mcgill/cs/jetuml/views/nodes/TestClassViewNode.java",
        "comments": 25,
        "loc_per_function": 14,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.2,
        "tokens": 1682,
        "ccn": 21,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 186.88888888888889,
        "ccn_per_token": 0.01248513674197384,
        "functions_per_token": 0.00535077288941736,
        "loc_per_token": 0.07491082045184304,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 13.34920634920635
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 155,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestPropertyChangeTracker.java",
        "comments": 23,
        "loc_per_function": 14.09,
        "blanks_per_loc": 0.1,
        "num_funs": 11,
        "comments_per_loc": 0.15,
        "tokens": 881,
        "ccn": 16,
        "ccn_per_function": 1.4545454545454546,
        "tokens_per_function": 80.0909090909091,
        "ccn_per_token": 0.018161180476730987,
        "functions_per_token": 0.012485811577752554,
        "loc_per_token": 0.17593643586833144,
        "ccn_per_loc": 0.1032258064516129,
        "functions_per_loc": 0.07096774193548387,
        "tokens_per_loc": 5.683870967741935
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestFileExtensions.java",
        "comments": 20,
        "loc_per_function": 10.33,
        "blanks_per_loc": 0.29,
        "num_funs": 3,
        "comments_per_loc": 0.65,
        "tokens": 165,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 55.0,
        "ccn_per_token": 0.024242424242424242,
        "functions_per_token": 0.01818181818181818,
        "loc_per_token": 0.18787878787878787,
        "ccn_per_loc": 0.12903225806451613,
        "functions_per_loc": 0.0967741935483871,
        "tokens_per_loc": 5.32258064516129
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 171,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestUndoManager.java",
        "comments": 23,
        "loc_per_function": 21.38,
        "blanks_per_loc": 0.08,
        "num_funs": 8,
        "comments_per_loc": 0.13,
        "tokens": 1330,
        "ccn": 11,
        "ccn_per_function": 1.375,
        "tokens_per_function": 166.25,
        "ccn_per_token": 0.008270676691729323,
        "functions_per_token": 0.006015037593984963,
        "loc_per_token": 0.12857142857142856,
        "ccn_per_loc": 0.06432748538011696,
        "functions_per_loc": 0.04678362573099415,
        "tokens_per_loc": 7.777777777777778
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 245,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestClipboard.java",
        "comments": 23,
        "loc_per_function": 20.42,
        "blanks_per_loc": 0.08,
        "num_funs": 12,
        "comments_per_loc": 0.09,
        "tokens": 2284,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 190.33333333333334,
        "ccn_per_token": 0.005253940455341506,
        "functions_per_token": 0.005253940455341506,
        "loc_per_token": 0.10726795096322242,
        "ccn_per_loc": 0.04897959183673469,
        "functions_per_loc": 0.04897959183673469,
        "tokens_per_loc": 9.322448979591837
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 171,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestMoveTracker.java",
        "comments": 30,
        "loc_per_function": 21.38,
        "blanks_per_loc": 0.1,
        "num_funs": 8,
        "comments_per_loc": 0.18,
        "tokens": 1204,
        "ccn": 12,
        "ccn_per_function": 1.5,
        "tokens_per_function": 150.5,
        "ccn_per_token": 0.009966777408637873,
        "functions_per_token": 0.006644518272425249,
        "loc_per_token": 0.1420265780730897,
        "ccn_per_loc": 0.07017543859649122,
        "functions_per_loc": 0.04678362573099415,
        "tokens_per_loc": 7.04093567251462
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 140,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 28,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1511,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 302.2,
        "ccn_per_token": 0.0033090668431502318,
        "functions_per_token": 0.0033090668431502318,
        "loc_per_token": 0.09265387160820648,
        "ccn_per_loc": 0.03571428571428571,
        "functions_per_loc": 0.03571428571428571,
        "tokens_per_loc": 10.792857142857143
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 210,
        "file_path": "test/ca/mcgill/cs/jetuml/application/TestSelectionList.java",
        "comments": 23,
        "loc_per_function": 15,
        "blanks_per_loc": 0.1,
        "num_funs": 14,
        "comments_per_loc": 0.11,
        "tokens": 1435,
        "ccn": 14,
        "ccn_per_function": 1.0,
        "tokens_per_function": 102.5,
        "ccn_per_token": 0.00975609756097561,
        "functions_per_token": 0.00975609756097561,
        "loc_per_token": 0.14634146341463414,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.833333333333333
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/jetuml/gui/TestEditorFrame.java",
        "comments": 20,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 1.54,
        "tokens": 90,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 90.0,
        "ccn_per_token": 0.011111111111111112,
        "functions_per_token": 0.011111111111111112,
        "loc_per_token": 0.14444444444444443,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 6.923076923076923
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 59,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestAddNodeCommand.java",
        "comments": 23,
        "loc_per_function": 14.75,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.39,
        "tokens": 365,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 91.25,
        "ccn_per_token": 0.0136986301369863,
        "functions_per_token": 0.010958904109589041,
        "loc_per_token": 0.16164383561643836,
        "ccn_per_loc": 0.0847457627118644,
        "functions_per_loc": 0.06779661016949153,
        "tokens_per_loc": 6.186440677966102
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 45,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestMoveCommand.java",
        "comments": 23,
        "loc_per_function": 11.25,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 0.51,
        "tokens": 432,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 108.0,
        "ccn_per_token": 0.009259259259259259,
        "functions_per_token": 0.009259259259259259,
        "loc_per_token": 0.10416666666666667,
        "ccn_per_loc": 0.08888888888888889,
        "functions_per_loc": 0.08888888888888889,
        "tokens_per_loc": 9.6
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 187,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestCompoundCommand.java",
        "comments": 23,
        "loc_per_function": 23.38,
        "blanks_per_loc": 0.11,
        "num_funs": 8,
        "comments_per_loc": 0.12,
        "tokens": 1598,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 199.75,
        "ccn_per_token": 0.008135168961201502,
        "functions_per_token": 0.0050062578222778474,
        "loc_per_token": 0.11702127659574468,
        "ccn_per_loc": 0.06951871657754011,
        "functions_per_loc": 0.0427807486631016,
        "tokens_per_loc": 8.545454545454545
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 60,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestDeleteNodeCommand.java",
        "comments": 23,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 4,
        "comments_per_loc": 0.38,
        "tokens": 367,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 91.75,
        "ccn_per_token": 0.013623978201634877,
        "functions_per_token": 0.010899182561307902,
        "loc_per_token": 0.16348773841961853,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.116666666666666
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 58,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestRemoveEdgeCommand.java",
        "comments": 23,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 339,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 84.75,
        "ccn_per_token": 0.014749262536873156,
        "functions_per_token": 0.011799410029498525,
        "loc_per_token": 0.1710914454277286,
        "ccn_per_loc": 0.08620689655172414,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 5.844827586206897
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 57,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestAddEdgeCommandTest.java",
        "comments": 23,
        "loc_per_function": 14.25,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 337,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 84.25,
        "ccn_per_token": 0.01483679525222552,
        "functions_per_token": 0.011869436201780416,
        "loc_per_token": 0.16913946587537093,
        "ccn_per_loc": 0.08771929824561403,
        "functions_per_loc": 0.07017543859649122,
        "tokens_per_loc": 5.912280701754386
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 30,
        "file_path": "test/ca/mcgill/cs/jetuml/commands/TestChangePropertyCommand.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.2,
        "num_funs": 2,
        "comments_per_loc": 0.67,
        "tokens": 218,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 109.0,
        "ccn_per_token": 0.009174311926605505,
        "functions_per_token": 0.009174311926605505,
        "loc_per_token": 0.13761467889908258,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.266666666666667
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 118,
        "file_path": "test/ca/mcgill/cs/jetuml/diagrams/TestSequenceDiagramGraph.java",
        "comments": 54,
        "loc_per_function": 19.67,
        "blanks_per_loc": 0.31,
        "num_funs": 6,
        "comments_per_loc": 0.46,
        "tokens": 1179,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 196.5,
        "ccn_per_token": 0.005089058524173028,
        "functions_per_token": 0.005089058524173028,
        "loc_per_token": 0.10008481764206956,
        "ccn_per_loc": 0.05084745762711865,
        "functions_per_loc": 0.05084745762711865,
        "tokens_per_loc": 9.991525423728813
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonDecoder.java",
        "comments": 31,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.11,
        "tokens": 152,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 50.666666666666664,
        "ccn_per_token": 0.019736842105263157,
        "functions_per_token": 0.019736842105263157,
        "loc_per_token": 0.18421052631578946,
        "ccn_per_loc": 0.10714285714285714,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 5.428571428571429
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 569,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestPersistenceService.java",
        "comments": 23,
        "loc_per_function": 43.77,
        "blanks_per_loc": 0.23,
        "num_funs": 13,
        "comments_per_loc": 0.04,
        "tokens": 8034,
        "ccn": 31,
        "ccn_per_function": 2.3846153846153846,
        "tokens_per_function": 618.0,
        "ccn_per_token": 0.0038586009459795866,
        "functions_per_token": 0.0016181229773462784,
        "loc_per_token": 0.07082399800846403,
        "ccn_per_loc": 0.054481546572934976,
        "functions_per_loc": 0.022847100175746926,
        "tokens_per_loc": 14.119507908611599
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 59,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingClassDiagram.java",
        "comments": 26,
        "loc_per_function": 11.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.44,
        "tokens": 459,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.8,
        "ccn_per_token": 0.010893246187363835,
        "functions_per_token": 0.010893246187363835,
        "loc_per_token": 0.12854030501089325,
        "ccn_per_loc": 0.0847457627118644,
        "functions_per_loc": 0.0847457627118644,
        "tokens_per_loc": 7.779661016949152
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 92,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestSerializationContext.java",
        "comments": 23,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.25,
        "tokens": 486,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 69.42857142857143,
        "ccn_per_token": 0.0205761316872428,
        "functions_per_token": 0.01440329218106996,
        "loc_per_token": 0.18930041152263374,
        "ccn_per_loc": 0.10869565217391304,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 5.282608695652174
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestDeserializationContext.java",
        "comments": 25,
        "loc_per_function": 15,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.33,
        "tokens": 510,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 102.0,
        "ccn_per_token": 0.011764705882352941,
        "functions_per_token": 0.00980392156862745,
        "loc_per_token": 0.14705882352941177,
        "ccn_per_loc": 0.08,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.8
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 185,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingStateDiagram.java",
        "comments": 34,
        "loc_per_function": 16.82,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.18,
        "tokens": 1819,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 165.36363636363637,
        "ccn_per_token": 0.006047278724573941,
        "functions_per_token": 0.006047278724573941,
        "loc_per_token": 0.1017042330951072,
        "ccn_per_loc": 0.05945945945945946,
        "functions_per_loc": 0.05945945945945946,
        "tokens_per_loc": 9.832432432432432
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 112,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/PersistenceTestUtils.java",
        "comments": 33,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 6,
        "comments_per_loc": 0.29,
        "tokens": 602,
        "ccn": 23,
        "ccn_per_function": 3.8333333333333335,
        "tokens_per_function": 100.33333333333333,
        "ccn_per_token": 0.03820598006644518,
        "functions_per_token": 0.009966777408637873,
        "loc_per_token": 0.18604651162790697,
        "ccn_per_loc": 0.20535714285714285,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.375
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 123,
        "file_path": "test/ca/mcgill/cs/jetuml/persistence/TestJsonEncodingUseCaseDiagram.java",
        "comments": 30,
        "loc_per_function": 13.67,
        "blanks_per_loc": 0.24,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 1123,
        "ccn": 9,
        "ccn_per_function": 1.0,
        "tokens_per_function": 124.77777777777777,
        "ccn_per_token": 0.008014247551202136,
        "functions_per_token": 0.008014247551202136,
        "loc_per_token": 0.10952804986642921,
        "ccn_per_loc": 0.07317073170731707,
        "functions_per_loc": 0.07317073170731707,
        "tokens_per_loc": 9.130081300813009
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 371,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/TestUsageScenariosObjectDiagram.java",
        "comments": 113,
        "loc_per_function": 24.73,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 0.3,
        "tokens": 4329,
        "ccn": 17,
        "ccn_per_function": 1.1333333333333333,
        "tokens_per_function": 288.6,
        "ccn_per_token": 0.003927003927003927,
        "functions_per_token": 0.003465003465003465,
        "loc_per_token": 0.0857010857010857,
        "ccn_per_loc": 0.04582210242587601,
        "functions_per_loc": 0.04043126684636118,
        "tokens_per_loc": 11.668463611859838
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 170,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/TestUsageScenarios.java",
        "comments": 36,
        "loc_per_function": 34,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.21,
        "tokens": 2126,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 425.2,
        "ccn_per_token": 0.0023518344308560675,
        "functions_per_token": 0.0023518344308560675,
        "loc_per_token": 0.0799623706491063,
        "ccn_per_loc": 0.029411764705882353,
        "functions_per_loc": 0.029411764705882353,
        "tokens_per_loc": 12.505882352941176
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 232,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/TestGraph.java",
        "comments": 36,
        "loc_per_function": 12.21,
        "blanks_per_loc": 0.12,
        "num_funs": 19,
        "comments_per_loc": 0.16,
        "tokens": 1806,
        "ccn": 19,
        "ccn_per_function": 1.0,
        "tokens_per_function": 95.05263157894737,
        "ccn_per_token": 0.010520487264673311,
        "functions_per_token": 0.010520487264673311,
        "loc_per_token": 0.12846068660022147,
        "ccn_per_loc": 0.08189655172413793,
        "functions_per_loc": 0.08189655172413793,
        "tokens_per_loc": 7.7844827586206895
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 329,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/TestUsageScenariosStateDiagram.java",
        "comments": 106,
        "loc_per_function": 18.28,
        "blanks_per_loc": 0.14,
        "num_funs": 18,
        "comments_per_loc": 0.32,
        "tokens": 3434,
        "ccn": 21,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 190.77777777777777,
        "ccn_per_token": 0.00611531741409435,
        "functions_per_token": 0.0052417006406523005,
        "loc_per_token": 0.09580663948747815,
        "ccn_per_loc": 0.06382978723404255,
        "functions_per_loc": 0.0547112462006079,
        "tokens_per_loc": 10.437689969604863
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 195,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/TestProperties.java",
        "comments": 20,
        "loc_per_function": 11.47,
        "blanks_per_loc": 0.12,
        "num_funs": 17,
        "comments_per_loc": 0.1,
        "tokens": 1914,
        "ccn": 18,
        "ccn_per_function": 1.0588235294117647,
        "tokens_per_function": 112.58823529411765,
        "ccn_per_token": 0.009404388714733543,
        "functions_per_token": 0.008881922675026124,
        "loc_per_token": 0.10188087774294671,
        "ccn_per_loc": 0.09230769230769231,
        "functions_per_loc": 0.08717948717948718,
        "tokens_per_loc": 9.815384615384616
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 18,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/TestProperty.java",
        "comments": 20,
        "loc_per_function": 18,
        "blanks_per_loc": 0.22,
        "num_funs": 1,
        "comments_per_loc": 1.11,
        "tokens": 137,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 137.0,
        "ccn_per_token": 0.0072992700729927005,
        "functions_per_token": 0.0072992700729927005,
        "loc_per_token": 0.13138686131386862,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 7.611111111111111
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 577,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/TestUsageScenariosClassDiagram.java",
        "comments": 126,
        "loc_per_function": 21.37,
        "blanks_per_loc": 0.14,
        "num_funs": 27,
        "comments_per_loc": 0.22,
        "tokens": 6500,
        "ccn": 39,
        "ccn_per_function": 1.4444444444444444,
        "tokens_per_function": 240.74074074074073,
        "ccn_per_token": 0.006,
        "functions_per_token": 0.004153846153846154,
        "loc_per_token": 0.08876923076923077,
        "ccn_per_loc": 0.06759098786828423,
        "functions_per_loc": 0.04679376083188908,
        "tokens_per_loc": 11.265164644714039
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 333,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/TestUsageScenariosUseCaseDiagram.java",
        "comments": 104,
        "loc_per_function": 23.79,
        "blanks_per_loc": 0.14,
        "num_funs": 14,
        "comments_per_loc": 0.31,
        "tokens": 4236,
        "ccn": 22,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 302.57142857142856,
        "ccn_per_token": 0.005193578847969783,
        "functions_per_token": 0.0033050047214353163,
        "loc_per_token": 0.07861189801699717,
        "ccn_per_loc": 0.06606606606606606,
        "functions_per_loc": 0.042042042042042045,
        "tokens_per_loc": 12.72072072072072
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 557,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/TestUsageScenariosSequenceDiagram.java",
        "comments": 123,
        "loc_per_function": 23.21,
        "blanks_per_loc": 0.16,
        "num_funs": 24,
        "comments_per_loc": 0.22,
        "tokens": 6937,
        "ccn": 33,
        "ccn_per_function": 1.375,
        "tokens_per_function": 289.0416666666667,
        "ccn_per_token": 0.004757099610782759,
        "functions_per_token": 0.0034597088078420065,
        "loc_per_token": 0.08029407524866657,
        "ccn_per_loc": 0.059245960502693,
        "functions_per_loc": 0.04308797127468582,
        "tokens_per_loc": 12.454219030520646
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/edges/TestNoteEdge.java",
        "comments": 27,
        "loc_per_function": 12.25,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 0.55,
        "tokens": 324,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.0,
        "ccn_per_token": 0.012345679012345678,
        "functions_per_token": 0.012345679012345678,
        "loc_per_token": 0.15123456790123457,
        "ccn_per_loc": 0.08163265306122448,
        "functions_per_loc": 0.08163265306122448,
        "tokens_per_loc": 6.612244897959184
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 31,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/edges/TestCallEdge.java",
        "comments": 20,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 0.65,
        "tokens": 276,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 138.0,
        "ccn_per_token": 0.007246376811594203,
        "functions_per_token": 0.007246376811594203,
        "loc_per_token": 0.11231884057971014,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 8.903225806451612
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 24,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/edges/TestUseCaseDependencyEdge.java",
        "comments": 20,
        "loc_per_function": 12,
        "blanks_per_loc": 0.29,
        "num_funs": 2,
        "comments_per_loc": 0.83,
        "tokens": 163,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 81.5,
        "ccn_per_token": 0.012269938650306749,
        "functions_per_token": 0.012269938650306749,
        "loc_per_token": 0.147239263803681,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.791666666666667
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 36,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/nodes/TestActorNode.java",
        "comments": 26,
        "loc_per_function": 12,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 0.72,
        "tokens": 255,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 85.0,
        "ccn_per_token": 0.011764705882352941,
        "functions_per_token": 0.011764705882352941,
        "loc_per_token": 0.1411764705882353,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 7.083333333333333
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 74,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/nodes/TestInterfaceNode.java",
        "comments": 23,
        "loc_per_function": 10.57,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.31,
        "tokens": 503,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.85714285714286,
        "ccn_per_token": 0.013916500994035786,
        "functions_per_token": 0.013916500994035786,
        "loc_per_token": 0.147117296222664,
        "ccn_per_loc": 0.0945945945945946,
        "functions_per_loc": 0.0945945945945946,
        "tokens_per_loc": 6.797297297297297
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 130,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/nodes/TestObjectNode.java",
        "comments": 24,
        "loc_per_function": 16.25,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.18,
        "tokens": 1279,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 159.875,
        "ccn_per_token": 0.006254886630179828,
        "functions_per_token": 0.006254886630179828,
        "loc_per_token": 0.1016419077404222,
        "ccn_per_loc": 0.06153846153846154,
        "functions_per_loc": 0.06153846153846154,
        "tokens_per_loc": 9.838461538461539
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 131,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/nodes/TestPackageNode.java",
        "comments": 24,
        "loc_per_function": 21.83,
        "blanks_per_loc": 0.15,
        "num_funs": 6,
        "comments_per_loc": 0.18,
        "tokens": 1318,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 219.66666666666666,
        "ccn_per_token": 0.004552352048558422,
        "functions_per_token": 0.004552352048558422,
        "loc_per_token": 0.09939301972685888,
        "ccn_per_loc": 0.04580152671755725,
        "functions_per_loc": 0.04580152671755725,
        "tokens_per_loc": 10.061068702290076
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 28,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/nodes/TestCallNode.java",
        "comments": 23,
        "loc_per_function": 14,
        "blanks_per_loc": 0.25,
        "num_funs": 2,
        "comments_per_loc": 0.82,
        "tokens": 213,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.5,
        "ccn_per_token": 0.009389671361502348,
        "functions_per_token": 0.009389671361502348,
        "loc_per_token": 0.13145539906103287,
        "ccn_per_loc": 0.07142857142857142,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 7.607142857142857
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 93,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/nodes/TestImplicitParameterNode.java",
        "comments": 24,
        "loc_per_function": 15.5,
        "blanks_per_loc": 0.19,
        "num_funs": 6,
        "comments_per_loc": 0.26,
        "tokens": 893,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 148.83333333333334,
        "ccn_per_token": 0.006718924972004479,
        "functions_per_token": 0.006718924972004479,
        "loc_per_token": 0.10414333706606943,
        "ccn_per_loc": 0.06451612903225806,
        "functions_per_loc": 0.06451612903225806,
        "tokens_per_loc": 9.602150537634408
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 75,
        "file_path": "test/ca/mcgill/cs/jetuml/graph/nodes/TestClassNode.java",
        "comments": 23,
        "loc_per_function": 10.71,
        "blanks_per_loc": 0.16,
        "num_funs": 7,
        "comments_per_loc": 0.31,
        "tokens": 508,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 72.57142857142857,
        "ccn_per_token": 0.013779527559055118,
        "functions_per_token": 0.013779527559055118,
        "loc_per_token": 0.14763779527559054,
        "ccn_per_loc": 0.09333333333333334,
        "functions_per_loc": 0.09333333333333334,
        "tokens_per_loc": 6.773333333333333
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 122,
        "file_path": "src/ca/mcgill/cs/jetuml/UMLEditor.java",
        "comments": 40,
        "loc_per_function": 24.4,
        "blanks_per_loc": 0.11,
        "num_funs": 5,
        "comments_per_loc": 0.33,
        "tokens": 733,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 146.6,
        "ccn_per_token": 0.020463847203274217,
        "functions_per_token": 0.0068212824010914054,
        "loc_per_token": 0.1664392905866303,
        "ccn_per_loc": 0.12295081967213115,
        "functions_per_loc": 0.040983606557377046,
        "tokens_per_loc": 6.008196721311475
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Point.java",
        "comments": 53,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.14,
        "num_funs": 10,
        "comments_per_loc": 0.68,
        "tokens": 301,
        "ccn": 15,
        "ccn_per_function": 1.5,
        "tokens_per_function": 30.1,
        "ccn_per_token": 0.04983388704318937,
        "functions_per_token": 0.03322259136212625,
        "loc_per_token": 0.2591362126245847,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 3.858974358974359
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Direction.java",
        "comments": 51,
        "loc_per_function": 7.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.31,
        "tokens": 257,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 51.4,
        "ccn_per_token": 0.023346303501945526,
        "functions_per_token": 0.019455252918287938,
        "loc_per_token": 0.1517509727626459,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.1282051282051282,
        "tokens_per_loc": 6.589743589743589
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 33,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Conversions.java",
        "comments": 49,
        "loc_per_function": 6.6,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 1.48,
        "tokens": 237,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 47.4,
        "ccn_per_token": 0.02109704641350211,
        "functions_per_token": 0.02109704641350211,
        "loc_per_token": 0.13924050632911392,
        "ccn_per_loc": 0.15151515151515152,
        "functions_per_loc": 0.15151515151515152,
        "tokens_per_loc": 7.181818181818182
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 80,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Line.java",
        "comments": 55,
        "loc_per_function": 7.27,
        "blanks_per_loc": 0.15,
        "num_funs": 11,
        "comments_per_loc": 0.69,
        "tokens": 309,
        "ccn": 17,
        "ccn_per_function": 1.5454545454545454,
        "tokens_per_function": 28.09090909090909,
        "ccn_per_token": 0.05501618122977346,
        "functions_per_token": 0.03559870550161812,
        "loc_per_token": 0.2588996763754045,
        "ccn_per_loc": 0.2125,
        "functions_per_loc": 0.1375,
        "tokens_per_loc": 3.8625
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/geom/Rectangle.java",
        "comments": 85,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.63,
        "tokens": 726,
        "ccn": 34,
        "ccn_per_function": 2.0,
        "tokens_per_function": 42.705882352941174,
        "ccn_per_token": 0.046831955922865015,
        "functions_per_token": 0.023415977961432508,
        "loc_per_token": 0.1859504132231405,
        "ccn_per_loc": 0.2518518518518518,
        "functions_per_loc": 0.1259259259259259,
        "tokens_per_loc": 5.377777777777778
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 130,
        "file_path": "src/ca/mcgill/cs/jetuml/views/StringViewer.java",
        "comments": 52,
        "loc_per_function": 26,
        "blanks_per_loc": 0.12,
        "num_funs": 5,
        "comments_per_loc": 0.4,
        "tokens": 857,
        "ccn": 17,
        "ccn_per_function": 3.4,
        "tokens_per_function": 171.4,
        "ccn_per_token": 0.019836639439906652,
        "functions_per_token": 0.005834305717619603,
        "loc_per_token": 0.1516919486581097,
        "ccn_per_loc": 0.13076923076923078,
        "functions_per_loc": 0.038461538461538464,
        "tokens_per_loc": 6.592307692307692
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHead.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 51.0,
        "ccn_per_token": 0.0196078431372549,
        "functions_per_token": 0.0196078431372549,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 130,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ImageCreator.java",
        "comments": 39,
        "loc_per_function": 26,
        "blanks_per_loc": 0.07,
        "num_funs": 5,
        "comments_per_loc": 0.3,
        "tokens": 1006,
        "ccn": 9,
        "ccn_per_function": 1.8,
        "tokens_per_function": 201.2,
        "ccn_per_token": 0.008946322067594433,
        "functions_per_token": 0.004970178926441352,
        "loc_per_token": 0.12922465208747516,
        "ccn_per_loc": 0.06923076923076923,
        "functions_per_loc": 0.038461538461538464,
        "tokens_per_loc": 7.7384615384615385
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/views/Grid.java",
        "comments": 38,
        "loc_per_function": 11.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.12,
        "tokens": 352,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 117.33333333333333,
        "ccn_per_token": 0.014204545454545454,
        "functions_per_token": 0.008522727272727272,
        "loc_per_token": 0.09659090909090909,
        "ccn_per_loc": 0.14705882352941177,
        "functions_per_loc": 0.08823529411764706,
        "tokens_per_loc": 10.352941176470589
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/views/LineStyle.java",
        "comments": 30,
        "loc_per_function": 15,
        "blanks_per_loc": 0.3,
        "num_funs": 2,
        "comments_per_loc": 1,
        "tokens": 215,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 107.5,
        "ccn_per_token": 0.009302325581395349,
        "functions_per_token": 0.009302325581395349,
        "loc_per_token": 0.13953488372093023,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 7.166666666666667
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 99,
        "file_path": "src/ca/mcgill/cs/jetuml/views/ArrowHeadView.java",
        "comments": 42,
        "loc_per_function": 24.75,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.42,
        "tokens": 838,
        "ccn": 14,
        "ccn_per_function": 3.5,
        "tokens_per_function": 209.5,
        "ccn_per_token": 0.016706443914081145,
        "functions_per_token": 0.00477326968973747,
        "loc_per_token": 0.11813842482100238,
        "ccn_per_loc": 0.1414141414141414,
        "functions_per_loc": 0.04040404040404041,
        "tokens_per_loc": 8.464646464646465
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 93,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/ObjectReferenceEdgeView.java",
        "comments": 32,
        "loc_per_function": 18.6,
        "blanks_per_loc": 0.12,
        "num_funs": 5,
        "comments_per_loc": 0.34,
        "tokens": 785,
        "ccn": 8,
        "ccn_per_function": 1.6,
        "tokens_per_function": 157.0,
        "ccn_per_token": 0.01019108280254777,
        "functions_per_token": 0.006369426751592357,
        "loc_per_token": 0.11847133757961784,
        "ccn_per_loc": 0.08602150537634409,
        "functions_per_loc": 0.053763440860215055,
        "tokens_per_loc": 8.440860215053764
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 356,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/StateTransitionEdgeView.java",
        "comments": 65,
        "loc_per_function": 16.95,
        "blanks_per_loc": 0.1,
        "num_funs": 21,
        "comments_per_loc": 0.18,
        "tokens": 2740,
        "ccn": 49,
        "ccn_per_function": 2.3333333333333335,
        "tokens_per_function": 130.47619047619048,
        "ccn_per_token": 0.017883211678832115,
        "functions_per_token": 0.007664233576642336,
        "loc_per_token": 0.12992700729927006,
        "ccn_per_loc": 0.13764044943820225,
        "functions_per_loc": 0.05898876404494382,
        "tokens_per_loc": 7.696629213483146
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 90,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/AbstractEdgeView.java",
        "comments": 54,
        "loc_per_function": 12.86,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.6,
        "tokens": 689,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 98.42857142857143,
        "ccn_per_token": 0.018867924528301886,
        "functions_per_token": 0.010159651669085631,
        "loc_per_token": 0.13062409288824384,
        "ccn_per_loc": 0.14444444444444443,
        "functions_per_loc": 0.07777777777777778,
        "tokens_per_loc": 7.655555555555556
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 535,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyleFactory.java",
        "comments": 100,
        "loc_per_function": 17.26,
        "blanks_per_loc": 0.1,
        "num_funs": 31,
        "comments_per_loc": 0.19,
        "tokens": 3702,
        "ccn": 112,
        "ccn_per_function": 3.6129032258064515,
        "tokens_per_function": 119.41935483870968,
        "ccn_per_token": 0.030253916801728797,
        "functions_per_token": 0.008373851971907077,
        "loc_per_token": 0.14451647757968666,
        "ccn_per_loc": 0.20934579439252338,
        "functions_per_loc": 0.05794392523364486,
        "tokens_per_loc": 6.919626168224299
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 208,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentedEdgeView.java",
        "comments": 57,
        "loc_per_function": 20.8,
        "blanks_per_loc": 0.1,
        "num_funs": 10,
        "comments_per_loc": 0.27,
        "tokens": 1846,
        "ccn": 24,
        "ccn_per_function": 2.4,
        "tokens_per_function": 184.6,
        "ccn_per_token": 0.013001083423618635,
        "functions_per_token": 0.005417118093174431,
        "loc_per_token": 0.11267605633802817,
        "ccn_per_loc": 0.11538461538461539,
        "functions_per_loc": 0.04807692307692308,
        "tokens_per_loc": 8.875
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/SegmentationStyle.java",
        "comments": 52,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.06,
        "tokens": 223,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 74.33333333333333,
        "ccn_per_token": 0.053811659192825115,
        "functions_per_token": 0.013452914798206279,
        "loc_per_token": 0.21973094170403587,
        "ccn_per_loc": 0.24489795918367346,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 4.551020408163265
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/NoteEdgeView.java",
        "comments": 29,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 0.59,
        "tokens": 381,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 127.0,
        "ccn_per_token": 0.007874015748031496,
        "functions_per_token": 0.007874015748031496,
        "loc_per_token": 0.12860892388451445,
        "ccn_per_loc": 0.061224489795918366,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 7.775510204081633
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 12,
        "file_path": "src/ca/mcgill/cs/jetuml/views/edges/EdgeView.java",
        "comments": 46,
        "loc_per_function": 12,
        "blanks_per_loc": 0.42,
        "num_funs": 0,
        "comments_per_loc": 3.83,
        "tokens": 90,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 90,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13333333333333333,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.5
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ClassNodeView.java",
        "comments": 32,
        "loc_per_function": 9.33,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.57,
        "tokens": 366,
        "ccn": 8,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 61.0,
        "ccn_per_token": 0.02185792349726776,
        "functions_per_token": 0.01639344262295082,
        "loc_per_token": 0.15300546448087432,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.10714285714285714,
        "tokens_per_loc": 6.535714285714286
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 38,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/AbstractNodeView.java",
        "comments": 37,
        "loc_per_function": 9.5,
        "blanks_per_loc": 0.21,
        "num_funs": 4,
        "comments_per_loc": 0.97,
        "tokens": 245,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 61.25,
        "ccn_per_token": 0.0163265306122449,
        "functions_per_token": 0.0163265306122449,
        "loc_per_token": 0.15510204081632653,
        "ccn_per_loc": 0.10526315789473684,
        "functions_per_loc": 0.10526315789473684,
        "tokens_per_loc": 6.447368421052632
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 97,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/InterfaceNodeView.java",
        "comments": 50,
        "loc_per_function": 8.82,
        "blanks_per_loc": 0.16,
        "num_funs": 11,
        "comments_per_loc": 0.52,
        "tokens": 766,
        "ccn": 17,
        "ccn_per_function": 1.5454545454545454,
        "tokens_per_function": 69.63636363636364,
        "ccn_per_token": 0.022193211488250653,
        "functions_per_token": 0.014360313315926894,
        "loc_per_token": 0.12663185378590078,
        "ccn_per_loc": 0.17525773195876287,
        "functions_per_loc": 0.1134020618556701,
        "tokens_per_loc": 7.896907216494846
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NodeView.java",
        "comments": 52,
        "loc_per_function": 14,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 3.71,
        "tokens": 112,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 112,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.125,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 98,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/RectangleBoundedNodeView.java",
        "comments": 40,
        "loc_per_function": 14,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.41,
        "tokens": 680,
        "ccn": 14,
        "ccn_per_function": 2.0,
        "tokens_per_function": 97.14285714285714,
        "ccn_per_token": 0.020588235294117647,
        "functions_per_token": 0.010294117647058823,
        "loc_per_token": 0.14411764705882352,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 6.938775510204081
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 80,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/FieldNodeView.java",
        "comments": 35,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.17,
        "num_funs": 12,
        "comments_per_loc": 0.44,
        "tokens": 685,
        "ccn": 13,
        "ccn_per_function": 1.0833333333333333,
        "tokens_per_function": 57.083333333333336,
        "ccn_per_token": 0.01897810218978102,
        "functions_per_token": 0.017518248175182483,
        "loc_per_token": 0.11678832116788321,
        "ccn_per_loc": 0.1625,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 8.5625
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 93,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/NoteNodeView.java",
        "comments": 37,
        "loc_per_function": 11.62,
        "blanks_per_loc": 0.12,
        "num_funs": 8,
        "comments_per_loc": 0.4,
        "tokens": 881,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 110.125,
        "ccn_per_token": 0.01021566401816118,
        "functions_per_token": 0.009080590238365494,
        "loc_per_token": 0.10556186152099886,
        "ccn_per_loc": 0.0967741935483871,
        "functions_per_loc": 0.08602150537634409,
        "tokens_per_loc": 9.473118279569892
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 178,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CallNodeView.java",
        "comments": 48,
        "loc_per_function": 17.8,
        "blanks_per_loc": 0.13,
        "num_funs": 10,
        "comments_per_loc": 0.27,
        "tokens": 1360,
        "ccn": 26,
        "ccn_per_function": 2.6,
        "tokens_per_function": 136.0,
        "ccn_per_token": 0.01911764705882353,
        "functions_per_token": 0.007352941176470588,
        "loc_per_token": 0.13088235294117648,
        "ccn_per_loc": 0.14606741573033707,
        "functions_per_loc": 0.056179775280898875,
        "tokens_per_loc": 7.640449438202247
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 101,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ImplicitParameterNodeView.java",
        "comments": 33,
        "loc_per_function": 11.22,
        "blanks_per_loc": 0.12,
        "num_funs": 9,
        "comments_per_loc": 0.33,
        "tokens": 854,
        "ccn": 12,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 94.88888888888889,
        "ccn_per_token": 0.01405152224824356,
        "functions_per_token": 0.01053864168618267,
        "loc_per_token": 0.11826697892271663,
        "ccn_per_loc": 0.1188118811881188,
        "functions_per_loc": 0.0891089108910891,
        "tokens_per_loc": 8.455445544554456
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/StateNodeView.java",
        "comments": 29,
        "loc_per_function": 10.8,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.54,
        "tokens": 452,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 90.4,
        "ccn_per_token": 0.01327433628318584,
        "functions_per_token": 0.011061946902654867,
        "loc_per_token": 0.11946902654867257,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.09259259259259259,
        "tokens_per_loc": 8.37037037037037
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 92,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/CircularStateNodeView.java",
        "comments": 30,
        "loc_per_function": 13.14,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.33,
        "tokens": 770,
        "ccn": 13,
        "ccn_per_function": 1.8571428571428572,
        "tokens_per_function": 110.0,
        "ccn_per_token": 0.016883116883116882,
        "functions_per_token": 0.00909090909090909,
        "loc_per_token": 0.11948051948051948,
        "ccn_per_loc": 0.14130434782608695,
        "functions_per_loc": 0.07608695652173914,
        "tokens_per_loc": 8.369565217391305
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 162,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PackageNodeView.java",
        "comments": 43,
        "loc_per_function": 11.57,
        "blanks_per_loc": 0.15,
        "num_funs": 14,
        "comments_per_loc": 0.27,
        "tokens": 1396,
        "ccn": 23,
        "ccn_per_function": 1.6428571428571428,
        "tokens_per_function": 99.71428571428571,
        "ccn_per_token": 0.0164756446991404,
        "functions_per_token": 0.01002865329512894,
        "loc_per_token": 0.11604584527220631,
        "ccn_per_loc": 0.1419753086419753,
        "functions_per_loc": 0.08641975308641975,
        "tokens_per_loc": 8.617283950617283
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ObjectNodeView.java",
        "comments": 33,
        "loc_per_function": 14.17,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 0.39,
        "tokens": 780,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 130.0,
        "ccn_per_token": 0.01282051282051282,
        "functions_per_token": 0.007692307692307693,
        "loc_per_token": 0.10897435897435898,
        "ccn_per_loc": 0.11764705882352941,
        "functions_per_loc": 0.07058823529411765,
        "tokens_per_loc": 9.176470588235293
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 69,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/ActorNodeView.java",
        "comments": 36,
        "loc_per_function": 13.8,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.52,
        "tokens": 717,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 143.4,
        "ccn_per_token": 0.00697350069735007,
        "functions_per_token": 0.00697350069735007,
        "loc_per_token": 0.09623430962343096,
        "ccn_per_loc": 0.07246376811594203,
        "functions_per_loc": 0.07246376811594203,
        "tokens_per_loc": 10.391304347826088
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 53,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/UseCaseNodeView.java",
        "comments": 29,
        "loc_per_function": 10.6,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.55,
        "tokens": 456,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 91.2,
        "ccn_per_token": 0.013157894736842105,
        "functions_per_token": 0.010964912280701754,
        "loc_per_token": 0.1162280701754386,
        "ccn_per_loc": 0.11320754716981132,
        "functions_per_loc": 0.09433962264150944,
        "tokens_per_loc": 8.60377358490566
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 34,
        "file_path": "src/ca/mcgill/cs/jetuml/views/nodes/PointNodeView.java",
        "comments": 29,
        "loc_per_function": 6.8,
        "blanks_per_loc": 0.24,
        "num_funs": 5,
        "comments_per_loc": 0.85,
        "tokens": 238,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 47.6,
        "ccn_per_token": 0.02100840336134454,
        "functions_per_token": 0.02100840336134454,
        "loc_per_token": 0.14285714285714285,
        "ccn_per_loc": 0.14705882352941177,
        "functions_per_loc": 0.14705882352941177,
        "tokens_per_loc": 7.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/application/UndoManager.java",
        "comments": 53,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.72,
        "tokens": 336,
        "ccn": 13,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 56.0,
        "ccn_per_token": 0.03869047619047619,
        "functions_per_token": 0.017857142857142856,
        "loc_per_token": 0.22023809523809523,
        "ccn_per_loc": 0.17567567567567569,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 4.54054054054054
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 51,
        "file_path": "src/ca/mcgill/cs/jetuml/application/MoveTracker.java",
        "comments": 39,
        "loc_per_function": 25.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.76,
        "tokens": 407,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 203.5,
        "ccn_per_token": 0.019656019656019656,
        "functions_per_token": 0.004914004914004914,
        "loc_per_token": 0.12530712530712532,
        "ccn_per_loc": 0.1568627450980392,
        "functions_per_loc": 0.0392156862745098,
        "tokens_per_loc": 7.980392156862745
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/jetuml/application/GraphModificationListener.java",
        "comments": 64,
        "loc_per_function": 15,
        "blanks_per_loc": 0.53,
        "num_funs": 0,
        "comments_per_loc": 4.27,
        "tokens": 128,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 128,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1171875,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.533333333333333
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/application/NamedHandler.java",
        "comments": 38,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.22,
        "num_funs": 4,
        "comments_per_loc": 1.41,
        "tokens": 125,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 31.25,
        "ccn_per_token": 0.04,
        "functions_per_token": 0.032,
        "loc_per_token": 0.216,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 4.62962962962963
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/jetuml/application/SelectionList.java",
        "comments": 88,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.76,
        "tokens": 556,
        "ccn": 26,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.046762589928057555,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.20863309352517986,
        "ccn_per_loc": 0.22413793103448276,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 4.793103448275862
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/application/RecentFilesQueue.java",
        "comments": 64,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.83,
        "tokens": 405,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.03950617283950617,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.19012345679012346,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.259740259740259
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 36,
        "file_path": "src/ca/mcgill/cs/jetuml/application/PropertyChangeTracker.java",
        "comments": 43,
        "loc_per_function": 12,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.19,
        "tokens": 242,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 80.66666666666667,
        "ccn_per_token": 0.024793388429752067,
        "functions_per_token": 0.012396694214876033,
        "loc_per_token": 0.1487603305785124,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 6.722222222222222
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 276,
        "file_path": "src/ca/mcgill/cs/jetuml/application/Clipboard.java",
        "comments": 73,
        "loc_per_function": 16.24,
        "blanks_per_loc": 0.11,
        "num_funs": 17,
        "comments_per_loc": 0.26,
        "tokens": 1498,
        "ccn": 68,
        "ccn_per_function": 4.0,
        "tokens_per_function": 88.11764705882354,
        "ccn_per_token": 0.04539385847797063,
        "functions_per_token": 0.011348464619492658,
        "loc_per_token": 0.1842456608811749,
        "ccn_per_loc": 0.2463768115942029,
        "functions_per_loc": 0.06159420289855073,
        "tokens_per_loc": 5.427536231884058
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 42,
        "file_path": "src/ca/mcgill/cs/jetuml/application/FileExtensions.java",
        "comments": 36,
        "loc_per_function": 14,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.86,
        "tokens": 347,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 115.66666666666667,
        "ccn_per_token": 0.01440922190201729,
        "functions_per_token": 0.008645533141210375,
        "loc_per_token": 0.12103746397694524,
        "ccn_per_loc": 0.11904761904761904,
        "functions_per_loc": 0.07142857142857142,
        "tokens_per_loc": 8.261904761904763
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 95,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/MenuFactory.java",
        "comments": 51,
        "loc_per_function": 19,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.54,
        "tokens": 650,
        "ccn": 15,
        "ccn_per_function": 3.0,
        "tokens_per_function": 130.0,
        "ccn_per_token": 0.023076923076923078,
        "functions_per_token": 0.007692307692307693,
        "loc_per_token": 0.14615384615384616,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 6.842105263157895
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/WelcomeTab.java",
        "comments": 37,
        "loc_per_function": 14.8,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.5,
        "tokens": 591,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 118.2,
        "ccn_per_token": 0.011844331641285956,
        "functions_per_token": 0.008460236886632826,
        "loc_per_token": 0.12521150592216582,
        "ccn_per_loc": 0.0945945945945946,
        "functions_per_loc": 0.06756756756756757,
        "tokens_per_loc": 7.986486486486487
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 797,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/EditorFrame.java",
        "comments": 159,
        "loc_per_function": 24.15,
        "blanks_per_loc": 0.12,
        "num_funs": 33,
        "comments_per_loc": 0.2,
        "tokens": 5765,
        "ccn": 103,
        "ccn_per_function": 3.121212121212121,
        "tokens_per_function": 174.6969696969697,
        "ccn_per_token": 0.017866435385949696,
        "functions_per_token": 0.00572419774501301,
        "loc_per_token": 0.13824804856895057,
        "ccn_per_loc": 0.12923462986198245,
        "functions_per_loc": 0.04140526976160602,
        "tokens_per_loc": 7.233375156838143
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 246,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/ToolBar.java",
        "comments": 66,
        "loc_per_function": 16.4,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.27,
        "tokens": 1810,
        "ccn": 26,
        "ccn_per_function": 1.7333333333333334,
        "tokens_per_function": 120.66666666666667,
        "ccn_per_token": 0.014364640883977901,
        "functions_per_token": 0.008287292817679558,
        "loc_per_token": 0.13591160220994475,
        "ccn_per_loc": 0.10569105691056911,
        "functions_per_loc": 0.06097560975609756,
        "tokens_per_loc": 7.357723577235772
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 108,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GraphFrame.java",
        "comments": 58,
        "loc_per_function": 15.43,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.54,
        "tokens": 523,
        "ccn": 15,
        "ccn_per_function": 2.142857142857143,
        "tokens_per_function": 74.71428571428571,
        "ccn_per_token": 0.028680688336520075,
        "functions_per_token": 0.01338432122370937,
        "loc_per_token": 0.20650095602294455,
        "ccn_per_loc": 0.1388888888888889,
        "functions_per_loc": 0.06481481481481481,
        "tokens_per_loc": 4.842592592592593
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 189,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/PropertySheet.java",
        "comments": 54,
        "loc_per_function": 21,
        "blanks_per_loc": 0.13,
        "num_funs": 9,
        "comments_per_loc": 0.29,
        "tokens": 1233,
        "ccn": 30,
        "ccn_per_function": 3.3333333333333335,
        "tokens_per_function": 137.0,
        "ccn_per_token": 0.024330900243309004,
        "functions_per_token": 0.0072992700729927005,
        "loc_per_token": 0.15328467153284672,
        "ccn_per_loc": 0.15873015873015872,
        "functions_per_loc": 0.047619047619047616,
        "tokens_per_loc": 6.523809523809524
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 786,
        "file_path": "src/ca/mcgill/cs/jetuml/gui/GraphPanel.java",
        "comments": 163,
        "loc_per_function": 14.04,
        "blanks_per_loc": 0.1,
        "num_funs": 56,
        "comments_per_loc": 0.21,
        "tokens": 4689,
        "ccn": 155,
        "ccn_per_function": 2.767857142857143,
        "tokens_per_function": 83.73214285714286,
        "ccn_per_token": 0.03305608871827682,
        "functions_per_token": 0.011942844956280656,
        "loc_per_token": 0.1676263595649392,
        "ccn_per_loc": 0.19720101781170485,
        "functions_per_loc": 0.07124681933842239,
        "tokens_per_loc": 5.965648854961832
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 36,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/ChangePropertyCommand.java",
        "comments": 33,
        "loc_per_function": 9,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.92,
        "tokens": 148,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 37.0,
        "ccn_per_token": 0.0472972972972973,
        "functions_per_token": 0.02702702702702703,
        "loc_per_token": 0.24324324324324326,
        "ccn_per_loc": 0.19444444444444445,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.111111111111111
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/AddNodeCommand.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 118,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 39.333333333333336,
        "ccn_per_token": 0.025423728813559324,
        "functions_per_token": 0.025423728813559324,
        "loc_per_token": 0.1864406779661017,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 5.363636363636363
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/RemoveEdgeCommand.java",
        "comments": 36,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.8,
        "tokens": 106,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.333333333333336,
        "ccn_per_token": 0.02830188679245283,
        "functions_per_token": 0.02830188679245283,
        "loc_per_token": 0.18867924528301888,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.3
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/AddEdgeCommand.java",
        "comments": 36,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.8,
        "tokens": 106,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.333333333333336,
        "ccn_per_token": 0.02830188679245283,
        "functions_per_token": 0.02830188679245283,
        "loc_per_token": 0.18867924528301888,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.3
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/GraphElementRelatedCommand.java",
        "comments": 30,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 2.31,
        "tokens": 71,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 71.0,
        "ccn_per_token": 0.014084507042253521,
        "functions_per_token": 0.014084507042253521,
        "loc_per_token": 0.18309859154929578,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.461538461538462
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 18,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/DeleteNodeCommand.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 2,
        "tokens": 96,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 32.0,
        "ccn_per_token": 0.03125,
        "functions_per_token": 0.03125,
        "loc_per_token": 0.1875,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.333333333333333
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/MoveCommand.java",
        "comments": 37,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 1.37,
        "tokens": 139,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 46.333333333333336,
        "ccn_per_token": 0.02158273381294964,
        "functions_per_token": 0.02158273381294964,
        "loc_per_token": 0.19424460431654678,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.148148148148148
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/Command.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 6,
        "tokens": 26,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 26,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.23076923076923078,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.333333333333333
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/commands/CompoundCommand.java",
        "comments": 43,
        "loc_per_function": 8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 1.07,
        "tokens": 194,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 38.8,
        "ccn_per_token": 0.03608247422680412,
        "functions_per_token": 0.02577319587628866,
        "loc_per_token": 0.20618556701030927,
        "ccn_per_loc": 0.175,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.85
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/jetuml/diagrams/UseCaseDiagramGraph.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.18,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 387,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 77.4,
        "ccn_per_token": 0.01808785529715762,
        "functions_per_token": 0.012919896640826873,
        "loc_per_token": 0.1421188630490956,
        "ccn_per_loc": 0.12727272727272726,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.036363636363636
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 87,
        "file_path": "src/ca/mcgill/cs/jetuml/diagrams/StateDiagramGraph.java",
        "comments": 24,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.11,
        "num_funs": 6,
        "comments_per_loc": 0.28,
        "tokens": 499,
        "ccn": 22,
        "ccn_per_function": 3.6666666666666665,
        "tokens_per_function": 83.16666666666667,
        "ccn_per_token": 0.04408817635270541,
        "functions_per_token": 0.012024048096192385,
        "loc_per_token": 0.1743486973947896,
        "ccn_per_loc": 0.25287356321839083,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 5.735632183908046
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 321,
        "file_path": "src/ca/mcgill/cs/jetuml/diagrams/SequenceDiagramGraph.java",
        "comments": 70,
        "loc_per_function": 17.83,
        "blanks_per_loc": 0.1,
        "num_funs": 18,
        "comments_per_loc": 0.22,
        "tokens": 1814,
        "ccn": 82,
        "ccn_per_function": 4.555555555555555,
        "tokens_per_function": 100.77777777777777,
        "ccn_per_token": 0.04520396912899669,
        "functions_per_token": 0.009922822491730982,
        "loc_per_token": 0.17695700110253584,
        "ccn_per_loc": 0.2554517133956386,
        "functions_per_loc": 0.056074766355140186,
        "tokens_per_loc": 5.651090342679128
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/jetuml/diagrams/ClassDiagramGraph.java",
        "comments": 33,
        "loc_per_function": 14.62,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 697,
        "ccn": 21,
        "ccn_per_function": 2.625,
        "tokens_per_function": 87.125,
        "ccn_per_token": 0.03012912482065997,
        "functions_per_token": 0.011477761836441894,
        "loc_per_token": 0.1678622668579627,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.06837606837606838,
        "tokens_per_loc": 5.957264957264957
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 135,
        "file_path": "src/ca/mcgill/cs/jetuml/diagrams/ObjectDiagramGraph.java",
        "comments": 34,
        "loc_per_function": 15,
        "blanks_per_loc": 0.14,
        "num_funs": 9,
        "comments_per_loc": 0.25,
        "tokens": 765,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 85.0,
        "ccn_per_token": 0.03398692810457516,
        "functions_per_token": 0.011764705882352941,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.1925925925925926,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/PersistenceService.java",
        "comments": 43,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 1.23,
        "tokens": 222,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 74.0,
        "ccn_per_token": 0.02252252252252252,
        "functions_per_token": 0.013513513513513514,
        "loc_per_token": 0.15765765765765766,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 6.3428571428571425
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 90,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonEncoder.java",
        "comments": 34,
        "loc_per_function": 12.86,
        "blanks_per_loc": 0.13,
        "num_funs": 7,
        "comments_per_loc": 0.38,
        "tokens": 658,
        "ccn": 16,
        "ccn_per_function": 2.2857142857142856,
        "tokens_per_function": 94.0,
        "ccn_per_token": 0.0243161094224924,
        "functions_per_token": 0.010638297872340425,
        "loc_per_token": 0.13677811550151975,
        "ccn_per_loc": 0.17777777777777778,
        "functions_per_loc": 0.07777777777777778,
        "tokens_per_loc": 7.311111111111111
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/SerializationContext.java",
        "comments": 44,
        "loc_per_function": 10,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 1.1,
        "tokens": 199,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 49.75,
        "ccn_per_token": 0.04020100502512563,
        "functions_per_token": 0.020100502512562814,
        "loc_per_token": 0.20100502512562815,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.975
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationException.java",
        "comments": 36,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.15,
        "num_funs": 2,
        "comments_per_loc": 2.77,
        "tokens": 54,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 27.0,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.037037037037037035,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 107,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/JsonDecoder.java",
        "comments": 45,
        "loc_per_function": 17.83,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.42,
        "tokens": 765,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 127.5,
        "ccn_per_token": 0.02483660130718954,
        "functions_per_token": 0.00784313725490196,
        "loc_per_token": 0.13986928104575164,
        "ccn_per_loc": 0.17757009345794392,
        "functions_per_loc": 0.056074766355140186,
        "tokens_per_loc": 7.149532710280374
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/AbstractContext.java",
        "comments": 44,
        "loc_per_function": 7.5,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 1.47,
        "tokens": 164,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.0,
        "ccn_per_token": 0.024390243902439025,
        "functions_per_token": 0.024390243902439025,
        "loc_per_token": 0.18292682926829268,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.13333333333333333,
        "tokens_per_loc": 5.466666666666667
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/jetuml/persistence/DeserializationContext.java",
        "comments": 47,
        "loc_per_function": 9,
        "blanks_per_loc": 0.15,
        "num_funs": 3,
        "comments_per_loc": 1.74,
        "tokens": 127,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 42.333333333333336,
        "ccn_per_token": 0.03937007874015748,
        "functions_per_token": 0.023622047244094488,
        "loc_per_token": 0.2125984251968504,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 4.703703703703703
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 32,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/AbstractGraphElement.java",
        "comments": 40,
        "loc_per_function": 8,
        "blanks_per_loc": 0.16,
        "num_funs": 4,
        "comments_per_loc": 1.25,
        "tokens": 102,
        "ccn": 5,
        "ccn_per_function": 1.25,
        "tokens_per_function": 25.5,
        "ccn_per_token": 0.049019607843137254,
        "functions_per_token": 0.0392156862745098,
        "loc_per_token": 0.3137254901960784,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 3.1875
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/Property.java",
        "comments": 55,
        "loc_per_function": 7,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 1.57,
        "tokens": 167,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 33.4,
        "ccn_per_token": 0.041916167664670656,
        "functions_per_token": 0.029940119760479042,
        "loc_per_token": 0.20958083832335328,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 4.771428571428571
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/Properties.java",
        "comments": 74,
        "loc_per_function": 10.67,
        "blanks_per_loc": 0.12,
        "num_funs": 6,
        "comments_per_loc": 1.16,
        "tokens": 382,
        "ccn": 18,
        "ccn_per_function": 3.0,
        "tokens_per_function": 63.666666666666664,
        "ccn_per_token": 0.04712041884816754,
        "functions_per_token": 0.015706806282722512,
        "loc_per_token": 0.16753926701570682,
        "ccn_per_loc": 0.28125,
        "functions_per_loc": 0.09375,
        "tokens_per_loc": 5.96875
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 464,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/Graph.java",
        "comments": 242,
        "loc_per_function": 12.89,
        "blanks_per_loc": 0.12,
        "num_funs": 36,
        "comments_per_loc": 0.52,
        "tokens": 2356,
        "ccn": 118,
        "ccn_per_function": 3.2777777777777777,
        "tokens_per_function": 65.44444444444444,
        "ccn_per_token": 0.0500848896434635,
        "functions_per_token": 0.015280135823429542,
        "loc_per_token": 0.1969439728353141,
        "ccn_per_loc": 0.2543103448275862,
        "functions_per_loc": 0.07758620689655173,
        "tokens_per_loc": 5.077586206896552
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 5,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/GraphElement.java",
        "comments": 28,
        "loc_per_function": 5,
        "blanks_per_loc": 0.2,
        "num_funs": 0,
        "comments_per_loc": 5.6,
        "tokens": 23,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 23,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21739130434782608,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.6
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/Node.java",
        "comments": 43,
        "loc_per_function": 11,
        "blanks_per_loc": 0.64,
        "num_funs": 0,
        "comments_per_loc": 3.91,
        "tokens": 78,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 78,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.14102564102564102,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.090909090909091
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/Edge.java",
        "comments": 49,
        "loc_per_function": 11,
        "blanks_per_loc": 0.82,
        "num_funs": 0,
        "comments_per_loc": 4.45,
        "tokens": 71,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 71,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15492957746478872,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.454545454545454
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 62,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/AssociationEdge.java",
        "comments": 36,
        "loc_per_function": 8.86,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.58,
        "tokens": 344,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 49.142857142857146,
        "ccn_per_token": 0.03197674418604651,
        "functions_per_token": 0.020348837209302327,
        "loc_per_token": 0.18023255813953487,
        "ccn_per_loc": 0.1774193548387097,
        "functions_per_loc": 0.11290322580645161,
        "tokens_per_loc": 5.548387096774194
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/ThreeLabelEdge.java",
        "comments": 37,
        "loc_per_function": 5.8,
        "blanks_per_loc": 0.21,
        "num_funs": 5,
        "comments_per_loc": 1.28,
        "tokens": 142,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 28.4,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.035211267605633804,
        "loc_per_token": 0.20422535211267606,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.1724137931034483,
        "tokens_per_loc": 4.896551724137931
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/ClassRelationshipEdge.java",
        "comments": 28,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 4.67,
        "tokens": 43,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 43,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.13953488372093023,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.166666666666667
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/UseCaseGeneralizationEdge.java",
        "comments": 26,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 1.62,
        "tokens": 149,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 149.0,
        "ccn_per_token": 0.006711409395973154,
        "functions_per_token": 0.006711409395973154,
        "loc_per_token": 0.10738255033557047,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.3125
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/DependencyEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.23,
        "num_funs": 2,
        "comments_per_loc": 1.23,
        "tokens": 186,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 93.0,
        "ccn_per_token": 0.010752688172043012,
        "functions_per_token": 0.010752688172043012,
        "loc_per_token": 0.11827956989247312,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.454545454545455
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/StateTransitionEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.45,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 115,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/CallEdge.java",
        "comments": 38,
        "loc_per_function": 14.38,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.33,
        "tokens": 867,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 108.375,
        "ccn_per_token": 0.014994232987312572,
        "functions_per_token": 0.00922722029988466,
        "loc_per_token": 0.13264129181084197,
        "ccn_per_loc": 0.11304347826086956,
        "functions_per_loc": 0.06956521739130435,
        "tokens_per_loc": 7.539130434782609
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/ObjectCollaborationEdge.java",
        "comments": 27,
        "loc_per_function": 11,
        "blanks_per_loc": 0.32,
        "num_funs": 2,
        "comments_per_loc": 1.23,
        "tokens": 184,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.11956521739130435,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 8.363636363636363
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/AbstractEdge.java",
        "comments": 35,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.19,
        "num_funs": 8,
        "comments_per_loc": 0.6,
        "tokens": 275,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 34.375,
        "ccn_per_token": 0.03272727272727273,
        "functions_per_token": 0.02909090909090909,
        "loc_per_token": 0.2109090909090909,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.741379310344827
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/SingleLabelEdge.java",
        "comments": 33,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.74,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.79,
        "tokens": 316,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.5,
        "ccn_per_token": 0.028481012658227847,
        "functions_per_token": 0.02531645569620253,
        "loc_per_token": 0.17721518987341772,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.642857142857143
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/UseCaseAssociationEdge.java",
        "comments": 26,
        "loc_per_function": 16,
        "blanks_per_loc": 0.25,
        "num_funs": 1,
        "comments_per_loc": 1.62,
        "tokens": 149,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 149.0,
        "ccn_per_token": 0.006711409395973154,
        "functions_per_token": 0.006711409395973154,
        "loc_per_token": 0.10738255033557047,
        "ccn_per_loc": 0.0625,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 9.3125
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/ObjectReferenceEdge.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 7,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.8,
        "tokens": 314,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 39.25,
        "ccn_per_token": 0.028662420382165606,
        "functions_per_token": 0.025477707006369428,
        "loc_per_token": 0.17834394904458598,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.14285714285714285,
        "tokens_per_loc": 5.607142857142857
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 67,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/ReturnEdge.java",
        "comments": 23,
        "loc_per_function": 22.33,
        "blanks_per_loc": 0.12,
        "num_funs": 3,
        "comments_per_loc": 0.34,
        "tokens": 545,
        "ccn": 5,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 181.66666666666666,
        "ccn_per_token": 0.009174311926605505,
        "functions_per_token": 0.005504587155963303,
        "loc_per_token": 0.12293577981651377,
        "ccn_per_loc": 0.07462686567164178,
        "functions_per_loc": 0.04477611940298507,
        "tokens_per_loc": 8.134328358208956
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/edges/UseCaseDependencyEdge.java",
        "comments": 43,
        "loc_per_function": 8,
        "blanks_per_loc": 0.23,
        "num_funs": 7,
        "comments_per_loc": 0.77,
        "tokens": 309,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 44.142857142857146,
        "ccn_per_token": 0.02912621359223301,
        "functions_per_token": 0.022653721682847898,
        "loc_per_token": 0.18122977346278318,
        "ccn_per_loc": 0.16071428571428573,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.517857142857143
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/NoteNode.java",
        "comments": 24,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.18,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/ParentNode.java",
        "comments": 49,
        "loc_per_function": 10,
        "blanks_per_loc": 0.6,
        "num_funs": 0,
        "comments_per_loc": 4.9,
        "tokens": 72,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 72,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1388888888888889,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 7.2
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 30,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/ClassNode.java",
        "comments": 34,
        "loc_per_function": 6,
        "blanks_per_loc": 0.27,
        "num_funs": 5,
        "comments_per_loc": 1.13,
        "tokens": 146,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.2,
        "ccn_per_token": 0.03424657534246575,
        "functions_per_token": 0.03424657534246575,
        "loc_per_token": 0.2054794520547945,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 4.866666666666666
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 111,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/PackageNode.java",
        "comments": 40,
        "loc_per_function": 7.4,
        "blanks_per_loc": 0.18,
        "num_funs": 15,
        "comments_per_loc": 0.36,
        "tokens": 568,
        "ccn": 20,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 37.86666666666667,
        "ccn_per_token": 0.035211267605633804,
        "functions_per_token": 0.02640845070422535,
        "loc_per_token": 0.1954225352112676,
        "ccn_per_loc": 0.18018018018018017,
        "functions_per_loc": 0.13513513513513514,
        "tokens_per_loc": 5.117117117117117
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/AbstractNode.java",
        "comments": 37,
        "loc_per_function": 6.75,
        "blanks_per_loc": 0.2,
        "num_funs": 8,
        "comments_per_loc": 0.69,
        "tokens": 324,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 40.5,
        "ccn_per_token": 0.024691358024691357,
        "functions_per_token": 0.024691358024691357,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.14814814814814814,
        "functions_per_loc": 0.14814814814814814,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/UseCaseNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 47,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/InterfaceNode.java",
        "comments": 36,
        "loc_per_function": 5.88,
        "blanks_per_loc": 0.23,
        "num_funs": 8,
        "comments_per_loc": 0.77,
        "tokens": 198,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 24.75,
        "ccn_per_token": 0.045454545454545456,
        "functions_per_token": 0.04040404040404041,
        "loc_per_token": 0.23737373737373738,
        "ccn_per_loc": 0.19148936170212766,
        "functions_per_loc": 0.1702127659574468,
        "tokens_per_loc": 4.212765957446808
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/FinalStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 68,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 68.0,
        "ccn_per_token": 0.014705882352941176,
        "functions_per_token": 0.014705882352941176,
        "loc_per_token": 0.16176470588235295,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.181818181818182
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 8,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/ChildNode.java",
        "comments": 45,
        "loc_per_function": 8,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 5.62,
        "tokens": 50,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 50,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.16,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.25
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/ImplicitParameterNode.java",
        "comments": 40,
        "loc_per_function": 8.56,
        "blanks_per_loc": 0.17,
        "num_funs": 9,
        "comments_per_loc": 0.52,
        "tokens": 432,
        "ccn": 14,
        "ccn_per_function": 1.5555555555555556,
        "tokens_per_function": 48.0,
        "ccn_per_token": 0.032407407407407406,
        "functions_per_token": 0.020833333333333332,
        "loc_per_token": 0.17824074074074073,
        "ccn_per_loc": 0.18181818181818182,
        "functions_per_loc": 0.11688311688311688,
        "tokens_per_loc": 5.6103896103896105
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 75,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/CallNode.java",
        "comments": 49,
        "loc_per_function": 7.5,
        "blanks_per_loc": 0.19,
        "num_funs": 10,
        "comments_per_loc": 0.65,
        "tokens": 458,
        "ccn": 17,
        "ccn_per_function": 1.7,
        "tokens_per_function": 45.8,
        "ccn_per_token": 0.03711790393013101,
        "functions_per_token": 0.021834061135371178,
        "loc_per_token": 0.16375545851528384,
        "ccn_per_loc": 0.22666666666666666,
        "functions_per_loc": 0.13333333333333333,
        "tokens_per_loc": 6.1066666666666665
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/StateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/PointNode.java",
        "comments": 25,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 2.27,
        "tokens": 66,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 66.0,
        "ccn_per_token": 0.015151515151515152,
        "functions_per_token": 0.015151515151515152,
        "loc_per_token": 0.16666666666666666,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 52,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/FieldNode.java",
        "comments": 39,
        "loc_per_function": 5.78,
        "blanks_per_loc": 0.25,
        "num_funs": 9,
        "comments_per_loc": 0.75,
        "tokens": 247,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 27.444444444444443,
        "ccn_per_token": 0.04048582995951417,
        "functions_per_token": 0.03643724696356275,
        "loc_per_token": 0.21052631578947367,
        "ccn_per_loc": 0.19230769230769232,
        "functions_per_loc": 0.17307692307692307,
        "tokens_per_loc": 4.75
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 16,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/ActorNode.java",
        "comments": 26,
        "loc_per_function": 8,
        "blanks_per_loc": 0.31,
        "num_funs": 2,
        "comments_per_loc": 1.62,
        "tokens": 85,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 42.5,
        "ccn_per_token": 0.023529411764705882,
        "functions_per_token": 0.023529411764705882,
        "loc_per_token": 0.18823529411764706,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 5.3125
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 11,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/InitialStateNode.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.36,
        "num_funs": 1,
        "comments_per_loc": 2.09,
        "tokens": 68,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 68.0,
        "ccn_per_token": 0.014705882352941176,
        "functions_per_token": 0.014705882352941176,
        "loc_per_token": 0.16176470588235295,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.181818181818182
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/NamedNode.java",
        "comments": 31,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.26,
        "num_funs": 3,
        "comments_per_loc": 1.63,
        "tokens": 88,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 29.333333333333332,
        "ccn_per_token": 0.03409090909090909,
        "functions_per_token": 0.03409090909090909,
        "loc_per_token": 0.2159090909090909,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 4.631578947368421
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 69,
        "file_path": "src/ca/mcgill/cs/jetuml/graph/nodes/ObjectNode.java",
        "comments": 29,
        "loc_per_function": 9.86,
        "blanks_per_loc": 0.17,
        "num_funs": 7,
        "comments_per_loc": 0.42,
        "tokens": 359,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 51.285714285714285,
        "ccn_per_token": 0.03064066852367688,
        "functions_per_token": 0.019498607242339833,
        "loc_per_token": 0.19220055710306408,
        "ccn_per_loc": 0.15942028985507245,
        "functions_per_loc": 0.10144927536231885,
        "tokens_per_loc": 5.202898550724638
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 301,
        "file_path": "src/org/json/JSONTokener.java",
        "comments": 181,
        "loc_per_function": 14.33,
        "blanks_per_loc": 0.16,
        "num_funs": 21,
        "comments_per_loc": 0.6,
        "tokens": 1664,
        "ccn": 92,
        "ccn_per_function": 4.380952380952381,
        "tokens_per_function": 79.23809523809524,
        "ccn_per_token": 0.055288461538461536,
        "functions_per_token": 0.012620192307692308,
        "loc_per_token": 0.18088942307692307,
        "ccn_per_loc": 0.30564784053156147,
        "functions_per_loc": 0.06976744186046512,
        "tokens_per_loc": 5.528239202657807
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 126,
        "file_path": "src/org/json/JSONPointer.java",
        "comments": 123,
        "loc_per_function": 10.5,
        "blanks_per_loc": 0.2,
        "num_funs": 12,
        "comments_per_loc": 0.98,
        "tokens": 810,
        "ccn": 30,
        "ccn_per_function": 2.5,
        "tokens_per_function": 67.5,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.014814814814814815,
        "loc_per_token": 0.15555555555555556,
        "ccn_per_loc": 0.23809523809523808,
        "functions_per_loc": 0.09523809523809523,
        "tokens_per_loc": 6.428571428571429
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 4,
        "file_path": "src/org/json/JSONString.java",
        "comments": 14,
        "loc_per_function": 4,
        "blanks_per_loc": 0,
        "num_funs": 0,
        "comments_per_loc": 3.5,
        "tokens": 16,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 16,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.25,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.0
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 13,
        "file_path": "src/org/json/JSONException.java",
        "comments": 27,
        "loc_per_function": 4.33,
        "blanks_per_loc": 0.38,
        "num_funs": 3,
        "comments_per_loc": 2.08,
        "tokens": 74,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 24.666666666666668,
        "ccn_per_token": 0.04054054054054054,
        "functions_per_token": 0.04054054054054054,
        "loc_per_token": 0.17567567567567569,
        "ccn_per_loc": 0.23076923076923078,
        "functions_per_loc": 0.23076923076923078,
        "tokens_per_loc": 5.6923076923076925
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 10,
        "file_path": "src/org/json/JSONPointerException.java",
        "comments": 26,
        "loc_per_function": 5,
        "blanks_per_loc": 0.9,
        "num_funs": 2,
        "comments_per_loc": 2.6,
        "tokens": 51,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 25.5,
        "ccn_per_token": 0.0392156862745098,
        "functions_per_token": 0.0392156862745098,
        "loc_per_token": 0.19607843137254902,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.2,
        "tokens_per_loc": 5.1
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 1113,
        "file_path": "src/org/json/JSONObject.java",
        "comments": 1115,
        "loc_per_function": 11.84,
        "blanks_per_loc": 0.12,
        "num_funs": 94,
        "comments_per_loc": 1,
        "tokens": 7586,
        "ccn": 389,
        "ccn_per_function": 4.138297872340425,
        "tokens_per_function": 80.70212765957447,
        "ccn_per_token": 0.05127867123648827,
        "functions_per_token": 0.012391247034010018,
        "loc_per_token": 0.14671763775375693,
        "ccn_per_loc": 0.3495058400718778,
        "functions_per_loc": 0.08445642407906559,
        "tokens_per_loc": 6.81581311769991
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 189,
        "file_path": "src/org/json/JSONWriter.java",
        "comments": 198,
        "loc_per_function": 12.6,
        "blanks_per_loc": 0.16,
        "num_funs": 15,
        "comments_per_loc": 1.05,
        "tokens": 1198,
        "ccn": 62,
        "ccn_per_function": 4.133333333333334,
        "tokens_per_function": 79.86666666666666,
        "ccn_per_token": 0.05175292153589316,
        "functions_per_token": 0.012520868113522538,
        "loc_per_token": 0.15776293823038398,
        "ccn_per_loc": 0.328042328042328,
        "functions_per_loc": 0.07936507936507936,
        "tokens_per_loc": 6.338624338624339
    },
    {
        "date": "2018-05-08 Rel 2.0",
        "loc": 631,
        "file_path": "src/org/json/JSONArray.java",
        "comments": 785,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.13,
        "num_funs": 69,
        "comments_per_loc": 1.24,
        "tokens": 4149,
        "ccn": 197,
        "ccn_per_function": 2.8550724637681157,
        "tokens_per_function": 60.130434782608695,
        "ccn_per_token": 0.047481320800192815,
        "functions_per_token": 0.016630513376717282,
        "loc_per_token": 0.15208483972041456,
        "ccn_per_loc": 0.312202852614897,
        "functions_per_loc": 0.10935023771790808,
        "tokens_per_loc": 6.575277337559429
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 15,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/TestUMLEditor.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 1.33,
        "tokens": 95,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 95.0,
        "ccn_per_token": 0.010526315789473684,
        "functions_per_token": 0.010526315789473684,
        "loc_per_token": 0.15789473684210525,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.333333333333333
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestAddNodeCommand.java",
        "comments": 20,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.16,
        "num_funs": 3,
        "comments_per_loc": 0.41,
        "tokens": 311,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 103.66666666666667,
        "ccn_per_token": 0.012861736334405145,
        "functions_per_token": 0.00964630225080386,
        "loc_per_token": 0.15755627009646303,
        "ccn_per_loc": 0.08163265306122448,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 6.346938775510204
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 37,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestMoveCommand.java",
        "comments": 20,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 354,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 118.0,
        "ccn_per_token": 0.00847457627118644,
        "functions_per_token": 0.00847457627118644,
        "loc_per_token": 0.10451977401129943,
        "ccn_per_loc": 0.08108108108108109,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 9.567567567567568
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 179,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestCompoundCommand.java",
        "comments": 20,
        "loc_per_function": 25.57,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.11,
        "tokens": 1482,
        "ccn": 12,
        "ccn_per_function": 1.7142857142857142,
        "tokens_per_function": 211.71428571428572,
        "ccn_per_token": 0.008097165991902834,
        "functions_per_token": 0.004723346828609987,
        "loc_per_token": 0.12078272604588394,
        "ccn_per_loc": 0.0670391061452514,
        "functions_per_loc": 0.03910614525139665,
        "tokens_per_loc": 8.279329608938548
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 51,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestDeleteNodeCommand.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.16,
        "num_funs": 3,
        "comments_per_loc": 0.39,
        "tokens": 328,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 109.33333333333333,
        "ccn_per_token": 0.012195121951219513,
        "functions_per_token": 0.009146341463414634,
        "loc_per_token": 0.15548780487804878,
        "ccn_per_loc": 0.0784313725490196,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.431372549019608
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestRemoveEdgeCommand.java",
        "comments": 20,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 0.41,
        "tokens": 295,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 98.33333333333333,
        "ccn_per_token": 0.013559322033898305,
        "functions_per_token": 0.010169491525423728,
        "loc_per_token": 0.16610169491525423,
        "ccn_per_loc": 0.08163265306122448,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 6.020408163265306
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestAddEdgeCommandTest.java",
        "comments": 20,
        "loc_per_function": 16,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 0.42,
        "tokens": 293,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 97.66666666666667,
        "ccn_per_token": 0.013651877133105802,
        "functions_per_token": 0.010238907849829351,
        "loc_per_token": 0.16382252559726962,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 6.104166666666667
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 116,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/diagrams/TestSequenceDiagramGraph.java",
        "comments": 51,
        "loc_per_function": 23.2,
        "blanks_per_loc": 0.32,
        "num_funs": 5,
        "comments_per_loc": 0.44,
        "tokens": 1195,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 239.0,
        "ccn_per_token": 0.0041841004184100415,
        "functions_per_token": 0.0041841004184100415,
        "loc_per_token": 0.09707112970711297,
        "ccn_per_loc": 0.04310344827586207,
        "functions_per_loc": 0.04310344827586207,
        "tokens_per_loc": 10.301724137931034
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 15,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestAbstractEdge.java",
        "comments": 23,
        "loc_per_function": 15,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 1.53,
        "tokens": 104,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 104.0,
        "ccn_per_token": 0.009615384615384616,
        "functions_per_token": 0.009615384615384616,
        "loc_per_token": 0.14423076923076922,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.933333333333334
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 67,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestNoteEdge.java",
        "comments": 27,
        "loc_per_function": 16.75,
        "blanks_per_loc": 0.3,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 586,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.5,
        "ccn_per_token": 0.006825938566552901,
        "functions_per_token": 0.006825938566552901,
        "loc_per_token": 0.11433447098976109,
        "ccn_per_loc": 0.05970149253731343,
        "functions_per_loc": 0.05970149253731343,
        "tokens_per_loc": 8.746268656716419
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 363,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosObjectDiagram.java",
        "comments": 110,
        "loc_per_function": 25.93,
        "blanks_per_loc": 0.16,
        "num_funs": 14,
        "comments_per_loc": 0.3,
        "tokens": 4056,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 289.7142857142857,
        "ccn_per_token": 0.0039447731755424065,
        "functions_per_token": 0.0034516765285996054,
        "loc_per_token": 0.08949704142011834,
        "ccn_per_loc": 0.0440771349862259,
        "functions_per_loc": 0.03856749311294766,
        "tokens_per_loc": 11.173553719008265
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 156,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenarios.java",
        "comments": 33,
        "loc_per_function": 39,
        "blanks_per_loc": 0.17,
        "num_funs": 4,
        "comments_per_loc": 0.21,
        "tokens": 1933,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 483.25,
        "ccn_per_token": 0.0020693222969477496,
        "functions_per_token": 0.0020693222969477496,
        "loc_per_token": 0.08070356958096224,
        "ccn_per_loc": 0.02564102564102564,
        "functions_per_loc": 0.02564102564102564,
        "tokens_per_loc": 12.39102564102564
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 170,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestInterfaceNode.java",
        "comments": 22,
        "loc_per_function": 14.17,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.13,
        "tokens": 1475,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 122.91666666666667,
        "ccn_per_token": 0.008135593220338983,
        "functions_per_token": 0.008135593220338983,
        "loc_per_token": 0.1152542372881356,
        "ccn_per_loc": 0.07058823529411765,
        "functions_per_loc": 0.07058823529411765,
        "tokens_per_loc": 8.676470588235293
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 98,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 19.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.21,
        "tokens": 983,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 196.6,
        "ccn_per_token": 0.00508646998982706,
        "functions_per_token": 0.00508646998982706,
        "loc_per_token": 0.09969481180061038,
        "ccn_per_loc": 0.05102040816326531,
        "functions_per_loc": 0.05102040816326531,
        "tokens_per_loc": 10.03061224489796
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 202,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestGraph.java",
        "comments": 30,
        "loc_per_function": 11.88,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.15,
        "tokens": 1557,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.58823529411765,
        "ccn_per_token": 0.010918432883750802,
        "functions_per_token": 0.010918432883750802,
        "loc_per_token": 0.12973667308927425,
        "ccn_per_loc": 0.08415841584158416,
        "functions_per_loc": 0.08415841584158416,
        "tokens_per_loc": 7.707920792079208
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 130,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 26,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.16,
        "tokens": 1349,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 269.8,
        "ccn_per_token": 0.0037064492216456633,
        "functions_per_token": 0.0037064492216456633,
        "loc_per_token": 0.09636767976278725,
        "ccn_per_loc": 0.038461538461538464,
        "functions_per_loc": 0.038461538461538464,
        "tokens_per_loc": 10.376923076923077
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 322,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosStateDiagram.java",
        "comments": 103,
        "loc_per_function": 23,
        "blanks_per_loc": 0.13,
        "num_funs": 14,
        "comments_per_loc": 0.32,
        "tokens": 3843,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 274.5,
        "ccn_per_token": 0.004163413999479573,
        "functions_per_token": 0.0036429872495446266,
        "loc_per_token": 0.08378870673952642,
        "ccn_per_loc": 0.049689440993788817,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 11.934782608695652
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 521,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosClassDiagram.java",
        "comments": 115,
        "loc_per_function": 21.71,
        "blanks_per_loc": 0.15,
        "num_funs": 24,
        "comments_per_loc": 0.22,
        "tokens": 5416,
        "ccn": 36,
        "ccn_per_function": 1.5,
        "tokens_per_function": 225.66666666666666,
        "ccn_per_token": 0.0066469719350073855,
        "functions_per_token": 0.004431314623338257,
        "loc_per_token": 0.09619645494830133,
        "ccn_per_loc": 0.0690978886756238,
        "functions_per_loc": 0.046065259117082535,
        "tokens_per_loc": 10.395393474088293
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 325,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosUseCaseDiagram.java",
        "comments": 102,
        "loc_per_function": 25,
        "blanks_per_loc": 0.14,
        "num_funs": 13,
        "comments_per_loc": 0.31,
        "tokens": 3809,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 293.0,
        "ccn_per_token": 0.0039380414807035965,
        "functions_per_token": 0.0034129692832764505,
        "loc_per_token": 0.08532423208191127,
        "ccn_per_loc": 0.046153846153846156,
        "functions_per_loc": 0.04,
        "tokens_per_loc": 11.72
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 524,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosSequenceDiagram.java",
        "comments": 117,
        "loc_per_function": 23.82,
        "blanks_per_loc": 0.16,
        "num_funs": 22,
        "comments_per_loc": 0.22,
        "tokens": 6200,
        "ccn": 31,
        "ccn_per_function": 1.4090909090909092,
        "tokens_per_function": 281.8181818181818,
        "ccn_per_token": 0.005,
        "functions_per_token": 0.0035483870967741938,
        "loc_per_token": 0.08451612903225807,
        "ccn_per_loc": 0.05916030534351145,
        "functions_per_loc": 0.04198473282442748,
        "tokens_per_loc": 11.83206106870229
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 90,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 18,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.23,
        "tokens": 909,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 181.8,
        "ccn_per_token": 0.005500550055005501,
        "functions_per_token": 0.005500550055005501,
        "loc_per_token": 0.09900990099009901,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 10.1
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 207,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestClassNode.java",
        "comments": 22,
        "loc_per_function": 17.25,
        "blanks_per_loc": 0.13,
        "num_funs": 12,
        "comments_per_loc": 0.11,
        "tokens": 1878,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 156.5,
        "ccn_per_token": 0.006389776357827476,
        "functions_per_token": 0.006389776357827476,
        "loc_per_token": 0.11022364217252396,
        "ccn_per_loc": 0.057971014492753624,
        "functions_per_loc": 0.057971014492753624,
        "tokens_per_loc": 9.072463768115941
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 444,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 20.18,
        "blanks_per_loc": 0.11,
        "num_funs": 22,
        "comments_per_loc": 0.1,
        "tokens": 4888,
        "ccn": 22,
        "ccn_per_function": 1.0,
        "tokens_per_function": 222.1818181818182,
        "ccn_per_token": 0.004500818330605565,
        "functions_per_token": 0.004500818330605565,
        "loc_per_token": 0.09083469721767594,
        "ccn_per_loc": 0.04954954954954955,
        "functions_per_loc": 0.04954954954954955,
        "tokens_per_loc": 11.00900900900901
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 574,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 47.83,
        "blanks_per_loc": 0.23,
        "num_funs": 12,
        "comments_per_loc": 0.03,
        "tokens": 7406,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 617.1666666666666,
        "ccn_per_token": 0.001890359168241966,
        "functions_per_token": 0.0016203078584931137,
        "loc_per_token": 0.07750472589792061,
        "ccn_per_loc": 0.024390243902439025,
        "functions_per_loc": 0.020905923344947737,
        "tokens_per_loc": 12.902439024390244
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 209,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestPropertyChangeTracker.java",
        "comments": 30,
        "loc_per_function": 19,
        "blanks_per_loc": 0.12,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1637,
        "ccn": 14,
        "ccn_per_function": 1.2727272727272727,
        "tokens_per_function": 148.8181818181818,
        "ccn_per_token": 0.00855222968845449,
        "functions_per_token": 0.006719609040928528,
        "loc_per_token": 0.12767257177764202,
        "ccn_per_loc": 0.06698564593301436,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 7.832535885167464
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 163,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestUndoManager.java",
        "comments": 20,
        "loc_per_function": 23.29,
        "blanks_per_loc": 0.07,
        "num_funs": 7,
        "comments_per_loc": 0.12,
        "tokens": 1298,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 185.42857142857142,
        "ccn_per_token": 0.007704160246533128,
        "functions_per_token": 0.00539291217257319,
        "loc_per_token": 0.12557781201849,
        "ccn_per_loc": 0.06134969325153374,
        "functions_per_loc": 0.04294478527607362,
        "tokens_per_loc": 7.96319018404908
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 83,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestEditorFrame.java",
        "comments": 20,
        "loc_per_function": 10.38,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.24,
        "tokens": 478,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 59.75,
        "ccn_per_token": 0.01882845188284519,
        "functions_per_token": 0.016736401673640166,
        "loc_per_token": 0.17364016736401675,
        "ccn_per_loc": 0.10843373493975904,
        "functions_per_loc": 0.0963855421686747,
        "tokens_per_loc": 5.759036144578313
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 123,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestVerticalLayout.java",
        "comments": 20,
        "loc_per_function": 15.38,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1617,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 202.125,
        "ccn_per_token": 0.004947433518862091,
        "functions_per_token": 0.004947433518862091,
        "loc_per_token": 0.07606679035250463,
        "ccn_per_loc": 0.06504065040650407,
        "functions_per_loc": 0.06504065040650407,
        "tokens_per_loc": 13.146341463414634
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 238,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 21.64,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.08,
        "tokens": 2235,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 203.1818181818182,
        "ccn_per_token": 0.004921700223713647,
        "functions_per_token": 0.004921700223713647,
        "loc_per_token": 0.10648769574944071,
        "ccn_per_loc": 0.046218487394957986,
        "functions_per_loc": 0.046218487394957986,
        "tokens_per_loc": 9.390756302521009
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 38,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestExtensionFilter.java",
        "comments": 20,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.53,
        "tokens": 287,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 95.66666666666667,
        "ccn_per_token": 0.010452961672473868,
        "functions_per_token": 0.010452961672473868,
        "loc_per_token": 0.13240418118466898,
        "ccn_per_loc": 0.07894736842105263,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.552631578947368
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 161,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestMoveTracker.java",
        "comments": 27,
        "loc_per_function": 23,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.17,
        "tokens": 1154,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 164.85714285714286,
        "ccn_per_token": 0.009532062391681109,
        "functions_per_token": 0.006065857885615251,
        "loc_per_token": 0.13951473136915077,
        "ccn_per_loc": 0.06832298136645963,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 7.167701863354037
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1500,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 300.0,
        "ccn_per_token": 0.0033333333333333335,
        "functions_per_token": 0.0033333333333333335,
        "loc_per_token": 0.09266666666666666,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.79136690647482
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 58,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestPropertyOrder.java",
        "comments": 20,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.21,
        "num_funs": 6,
        "comments_per_loc": 0.34,
        "tokens": 478,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 79.66666666666667,
        "ccn_per_token": 0.012552301255230125,
        "functions_per_token": 0.012552301255230125,
        "loc_per_token": 0.12133891213389121,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 8.241379310344827
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 201,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestSelectionList.java",
        "comments": 20,
        "loc_per_function": 15.46,
        "blanks_per_loc": 0.1,
        "num_funs": 13,
        "comments_per_loc": 0.1,
        "tokens": 1386,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.61538461538461,
        "ccn_per_token": 0.00937950937950938,
        "functions_per_token": 0.00937950937950938,
        "loc_per_token": 0.14502164502164502,
        "ccn_per_loc": 0.06467661691542288,
        "functions_per_loc": 0.06467661691542288,
        "tokens_per_loc": 6.895522388059701
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 111,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestMultiLineString.java",
        "comments": 20,
        "loc_per_function": 11.1,
        "blanks_per_loc": 0.18,
        "num_funs": 10,
        "comments_per_loc": 0.18,
        "tokens": 736,
        "ccn": 11,
        "ccn_per_function": 1.1,
        "tokens_per_function": 73.6,
        "ccn_per_token": 0.014945652173913044,
        "functions_per_token": 0.01358695652173913,
        "loc_per_token": 0.15081521739130435,
        "ccn_per_loc": 0.0990990990990991,
        "functions_per_loc": 0.09009009009009009,
        "tokens_per_loc": 6.63063063063063
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 131,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/UMLEditor.java",
        "comments": 37,
        "loc_per_function": 21.83,
        "blanks_per_loc": 0.1,
        "num_funs": 6,
        "comments_per_loc": 0.28,
        "tokens": 669,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 111.5,
        "ccn_per_token": 0.028400597907324365,
        "functions_per_token": 0.008968609865470852,
        "loc_per_token": 0.19581464872944693,
        "ccn_per_loc": 0.1450381679389313,
        "functions_per_loc": 0.04580152671755725,
        "tokens_per_loc": 5.106870229007634
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/AddNodeCommand.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 124,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.333333333333336,
        "ccn_per_token": 0.024193548387096774,
        "functions_per_token": 0.024193548387096774,
        "loc_per_token": 0.1774193548387097,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 5.636363636363637
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/RemoveEdgeCommand.java",
        "comments": 36,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.8,
        "tokens": 112,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.333333333333336,
        "ccn_per_token": 0.026785714285714284,
        "functions_per_token": 0.026785714285714284,
        "loc_per_token": 0.17857142857142858,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.6
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/AddEdgeCommand.java",
        "comments": 36,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.8,
        "tokens": 112,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.333333333333336,
        "ccn_per_token": 0.026785714285714284,
        "functions_per_token": 0.026785714285714284,
        "loc_per_token": 0.17857142857142858,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.6
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/GraphElementRelatedCommand.java",
        "comments": 30,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 2.31,
        "tokens": 77,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.012987012987012988,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.16883116883116883,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.923076923076923
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 18,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/DeleteNodeCommand.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 2,
        "tokens": 102,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/MoveCommand.java",
        "comments": 37,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 1.37,
        "tokens": 145,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.333333333333336,
        "ccn_per_token": 0.020689655172413793,
        "functions_per_token": 0.020689655172413793,
        "loc_per_token": 0.18620689655172415,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.37037037037037
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/Command.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 6,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/CompoundCommand.java",
        "comments": 43,
        "loc_per_function": 8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 1.07,
        "tokens": 196,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 39.2,
        "ccn_per_token": 0.03571428571428571,
        "functions_per_token": 0.025510204081632654,
        "loc_per_token": 0.20408163265306123,
        "ccn_per_loc": 0.175,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.9
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/UseCaseDiagramGraph.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 391,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 78.2,
        "ccn_per_token": 0.017902813299232736,
        "functions_per_token": 0.01278772378516624,
        "loc_per_token": 0.14066496163682865,
        "ccn_per_loc": 0.12727272727272726,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.109090909090909
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 92,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/StateDiagramGraph.java",
        "comments": 24,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.17,
        "num_funs": 6,
        "comments_per_loc": 0.26,
        "tokens": 535,
        "ccn": 24,
        "ccn_per_function": 4.0,
        "tokens_per_function": 89.16666666666667,
        "ccn_per_token": 0.044859813084112146,
        "functions_per_token": 0.011214953271028037,
        "loc_per_token": 0.17196261682242991,
        "ccn_per_loc": 0.2608695652173913,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 5.815217391304348
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 333,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/SequenceDiagramGraph.java",
        "comments": 71,
        "loc_per_function": 18.5,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.21,
        "tokens": 1877,
        "ccn": 85,
        "ccn_per_function": 4.722222222222222,
        "tokens_per_function": 104.27777777777777,
        "ccn_per_token": 0.045285029302077784,
        "functions_per_token": 0.009589770911028236,
        "loc_per_token": 0.17741076185402238,
        "ccn_per_loc": 0.2552552552552553,
        "functions_per_loc": 0.05405405405405406,
        "tokens_per_loc": 5.636636636636637
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/ClassDiagramGraph.java",
        "comments": 33,
        "loc_per_function": 14.62,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 687,
        "ccn": 21,
        "ccn_per_function": 2.625,
        "tokens_per_function": 85.875,
        "ccn_per_token": 0.03056768558951965,
        "functions_per_token": 0.011644832605531296,
        "loc_per_token": 0.1703056768558952,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.06837606837606838,
        "tokens_per_loc": 5.871794871794871
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 140,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/ObjectDiagramGraph.java",
        "comments": 34,
        "loc_per_function": 15.56,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 819,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.031746031746031744,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.17094017094017094,
        "ccn_per_loc": 0.18571428571428572,
        "functions_per_loc": 0.06428571428571428,
        "tokens_per_loc": 5.85
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 83,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/NoteNode.java",
        "comments": 34,
        "loc_per_function": 11.86,
        "blanks_per_loc": 0.18,
        "num_funs": 7,
        "comments_per_loc": 0.41,
        "tokens": 706,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 100.85714285714286,
        "ccn_per_token": 0.009915014164305949,
        "functions_per_token": 0.009915014164305949,
        "loc_per_token": 0.11756373937677053,
        "ccn_per_loc": 0.08433734939759036,
        "functions_per_loc": 0.08433734939759036,
        "tokens_per_loc": 8.506024096385541
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AssociationEdge.java",
        "comments": 40,
        "loc_per_function": 8.17,
        "blanks_per_loc": 0.22,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 206,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 34.333333333333336,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.02912621359223301,
        "loc_per_token": 0.23786407766990292,
        "ccn_per_loc": 0.20408163265306123,
        "functions_per_loc": 0.12244897959183673,
        "tokens_per_loc": 4.204081632653061
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ParentNode.java",
        "comments": 49,
        "loc_per_function": 9,
        "blanks_per_loc": 0.56,
        "num_funs": 0,
        "comments_per_loc": 5.44,
        "tokens": 59,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 59,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15254237288135594,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.555555555555555
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ClassNode.java",
        "comments": 42,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.75,
        "tokens": 354,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 50.57142857142857,
        "ccn_per_token": 0.022598870056497175,
        "functions_per_token": 0.01977401129943503,
        "loc_per_token": 0.15819209039548024,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 6.321428571428571
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/RectangularNode.java",
        "comments": 28,
        "loc_per_function": 10.5,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.33,
        "tokens": 488,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 61.0,
        "ccn_per_token": 0.028688524590163935,
        "functions_per_token": 0.01639344262295082,
        "loc_per_token": 0.1721311475409836,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.09523809523809523,
        "tokens_per_loc": 5.809523809523809
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 253,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/PackageNode.java",
        "comments": 57,
        "loc_per_function": 11,
        "blanks_per_loc": 0.16,
        "num_funs": 23,
        "comments_per_loc": 0.23,
        "tokens": 1688,
        "ccn": 37,
        "ccn_per_function": 1.608695652173913,
        "tokens_per_function": 73.3913043478261,
        "ccn_per_token": 0.021919431279620854,
        "functions_per_token": 0.013625592417061612,
        "loc_per_token": 0.14988151658767773,
        "ccn_per_loc": 0.14624505928853754,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.67193675889328
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ClassRelationshipEdge.java",
        "comments": 47,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.28,
        "num_funs": 10,
        "comments_per_loc": 0.87,
        "tokens": 200,
        "ccn": 10,
        "ccn_per_function": 1.0,
        "tokens_per_function": 20.0,
        "ccn_per_token": 0.05,
        "functions_per_token": 0.05,
        "loc_per_token": 0.27,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 3.7037037037037037
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseGeneralizationEdge.java",
        "comments": 29,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.37,
        "num_funs": 3,
        "comments_per_loc": 1.53,
        "tokens": 106,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.333333333333336,
        "ccn_per_token": 0.02830188679245283,
        "functions_per_token": 0.02830188679245283,
        "loc_per_token": 0.1792452830188679,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 5.578947368421052
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AbstractNode.java",
        "comments": 39,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 327,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 46.714285714285715,
        "ccn_per_token": 0.027522935779816515,
        "functions_per_token": 0.021406727828746176,
        "loc_per_token": 0.19571865443425077,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 5.109375
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/DependencyEdge.java",
        "comments": 30,
        "loc_per_function": 6.25,
        "blanks_per_loc": 0.28,
        "num_funs": 4,
        "comments_per_loc": 1.2,
        "tokens": 130,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 32.5,
        "ccn_per_token": 0.03076923076923077,
        "functions_per_token": 0.03076923076923077,
        "loc_per_token": 0.19230769230769232,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.16,
        "tokens_per_loc": 5.2
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 286,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/StateTransitionEdge.java",
        "comments": 69,
        "loc_per_function": 15.05,
        "blanks_per_loc": 0.1,
        "num_funs": 19,
        "comments_per_loc": 0.24,
        "tokens": 1946,
        "ccn": 43,
        "ccn_per_function": 2.263157894736842,
        "tokens_per_function": 102.42105263157895,
        "ccn_per_token": 0.022096608427543678,
        "functions_per_token": 0.009763617677286743,
        "loc_per_token": 0.14696813977389517,
        "ccn_per_loc": 0.15034965034965034,
        "functions_per_loc": 0.06643356643356643,
        "tokens_per_loc": 6.804195804195804
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseNode.java",
        "comments": 34,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.25,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 260,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 43.333333333333336,
        "ccn_per_token": 0.023076923076923078,
        "functions_per_token": 0.023076923076923078,
        "loc_per_token": 0.16923076923076924,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 5.909090909090909
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/CallEdge.java",
        "comments": 45,
        "loc_per_function": 10.62,
        "blanks_per_loc": 0.19,
        "num_funs": 8,
        "comments_per_loc": 0.53,
        "tokens": 570,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 71.25,
        "ccn_per_token": 0.02280701754385965,
        "functions_per_token": 0.014035087719298246,
        "loc_per_token": 0.14912280701754385,
        "ccn_per_loc": 0.15294117647058825,
        "functions_per_loc": 0.09411764705882353,
        "tokens_per_loc": 6.705882352941177
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 127,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/InterfaceNode.java",
        "comments": 67,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.23,
        "num_funs": 16,
        "comments_per_loc": 0.53,
        "tokens": 814,
        "ccn": 21,
        "ccn_per_function": 1.3125,
        "tokens_per_function": 50.875,
        "ccn_per_token": 0.025798525798525797,
        "functions_per_token": 0.019656019656019656,
        "loc_per_token": 0.15601965601965603,
        "ccn_per_loc": 0.16535433070866143,
        "functions_per_loc": 0.12598425196850394,
        "tokens_per_loc": 6.409448818897638
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ObjectCollaborationEdge.java",
        "comments": 30,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.38,
        "num_funs": 2,
        "comments_per_loc": 2.31,
        "tokens": 72,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.027777777777777776,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.18055555555555555,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 5.538461538461538
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 475,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/Graph.java",
        "comments": 247,
        "loc_per_function": 12.84,
        "blanks_per_loc": 0.12,
        "num_funs": 37,
        "comments_per_loc": 0.52,
        "tokens": 2380,
        "ccn": 119,
        "ccn_per_function": 3.2162162162162162,
        "tokens_per_function": 64.32432432432432,
        "ccn_per_token": 0.05,
        "functions_per_token": 0.015546218487394958,
        "loc_per_token": 0.19957983193277312,
        "ccn_per_loc": 0.2505263157894737,
        "functions_per_loc": 0.07789473684210527,
        "tokens_per_loc": 5.010526315789473
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 86,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AbstractEdge.java",
        "comments": 54,
        "loc_per_function": 9.56,
        "blanks_per_loc": 0.2,
        "num_funs": 9,
        "comments_per_loc": 0.63,
        "tokens": 495,
        "ccn": 13,
        "ccn_per_function": 1.4444444444444444,
        "tokens_per_function": 55.0,
        "ccn_per_token": 0.026262626262626262,
        "functions_per_token": 0.01818181818181818,
        "loc_per_token": 0.17373737373737375,
        "ccn_per_loc": 0.1511627906976744,
        "functions_per_loc": 0.10465116279069768,
        "tokens_per_loc": 5.755813953488372
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ChildNode.java",
        "comments": 45,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 6.43,
        "tokens": 37,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 37,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1891891891891892,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.285714285714286
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 157,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ImplicitParameterNode.java",
        "comments": 56,
        "loc_per_function": 9.81,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.36,
        "tokens": 1097,
        "ccn": 24,
        "ccn_per_function": 1.5,
        "tokens_per_function": 68.5625,
        "ccn_per_token": 0.02187784867821331,
        "functions_per_token": 0.014585232452142206,
        "loc_per_token": 0.1431175934366454,
        "ccn_per_loc": 0.15286624203821655,
        "functions_per_loc": 0.10191082802547771,
        "tokens_per_loc": 6.987261146496815
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 196,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/CallNode.java",
        "comments": 72,
        "loc_per_function": 13.07,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.37,
        "tokens": 1319,
        "ccn": 33,
        "ccn_per_function": 2.2,
        "tokens_per_function": 87.93333333333334,
        "ccn_per_token": 0.025018953752843062,
        "functions_per_token": 0.011372251705837756,
        "loc_per_token": 0.14859742228961334,
        "ccn_per_loc": 0.1683673469387755,
        "functions_per_loc": 0.07653061224489796,
        "tokens_per_loc": 6.729591836734694
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/StateNode.java",
        "comments": 34,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 376,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 53.714285714285715,
        "ccn_per_token": 0.018617021276595744,
        "functions_per_token": 0.018617021276595744,
        "loc_per_token": 0.14893617021276595,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 6.714285714285714
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/PointNode.java",
        "comments": 33,
        "loc_per_function": 7.71,
        "blanks_per_loc": 0.22,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 342,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.857142857142854,
        "ccn_per_token": 0.02046783625730994,
        "functions_per_token": 0.02046783625730994,
        "loc_per_token": 0.15789473684210525,
        "ccn_per_loc": 0.12962962962962962,
        "functions_per_loc": 0.12962962962962962,
        "tokens_per_loc": 6.333333333333333
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 6.83,
        "blanks_per_loc": 0.27,
        "num_funs": 6,
        "comments_per_loc": 1.07,
        "tokens": 170,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 28.333333333333332,
        "ccn_per_token": 0.041176470588235294,
        "functions_per_token": 0.03529411764705882,
        "loc_per_token": 0.2411764705882353,
        "ccn_per_loc": 0.17073170731707318,
        "functions_per_loc": 0.14634146341463414,
        "tokens_per_loc": 4.146341463414634
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 159,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/FieldNode.java",
        "comments": 59,
        "loc_per_function": 9.35,
        "blanks_per_loc": 0.17,
        "num_funs": 17,
        "comments_per_loc": 0.37,
        "tokens": 947,
        "ccn": 23,
        "ccn_per_function": 1.3529411764705883,
        "tokens_per_function": 55.705882352941174,
        "ccn_per_token": 0.024287222808870117,
        "functions_per_token": 0.01795142555438226,
        "loc_per_token": 0.1678986272439282,
        "ccn_per_loc": 0.14465408805031446,
        "functions_per_loc": 0.1069182389937107,
        "tokens_per_loc": 5.955974842767295
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 0.79,
        "tokens": 226,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 113.0,
        "ccn_per_token": 0.008849557522123894,
        "functions_per_token": 0.008849557522123894,
        "loc_per_token": 0.12831858407079647,
        "ccn_per_loc": 0.06896551724137931,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 7.793103448275862
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/GraphElement.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 34,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 34,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ActorNode.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.21,
        "num_funs": 6,
        "comments_per_loc": 0.56,
        "tokens": 721,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 120.16666666666667,
        "ccn_per_token": 0.008321775312066574,
        "functions_per_token": 0.008321775312066574,
        "loc_per_token": 0.10818307905686546,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 9.243589743589743
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseAssociationEdge.java",
        "comments": 30,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.46,
        "num_funs": 2,
        "comments_per_loc": 2.31,
        "tokens": 77,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.025974025974025976,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.16883116883116883,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 5.923076923076923
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 81,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ObjectReferenceEdge.java",
        "comments": 27,
        "loc_per_function": 20.25,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.33,
        "tokens": 698,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 174.5,
        "ccn_per_token": 0.01002865329512894,
        "functions_per_token": 0.0057306590257879654,
        "loc_per_token": 0.11604584527220631,
        "ccn_per_loc": 0.08641975308641975,
        "functions_per_loc": 0.04938271604938271,
        "tokens_per_loc": 8.617283950617283
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/Node.java",
        "comments": 54,
        "loc_per_function": 14,
        "blanks_per_loc": 0.64,
        "num_funs": 0,
        "comments_per_loc": 3.86,
        "tokens": 115,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 115,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.12173913043478261,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.214285714285714
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/Edge.java",
        "comments": 60,
        "loc_per_function": 15,
        "blanks_per_loc": 0.73,
        "num_funs": 0,
        "comments_per_loc": 4,
        "tokens": 97,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 97,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15463917525773196,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.466666666666667
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/PropertyOrder.java",
        "comments": 39,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 4,
        "comments_per_loc": 0.65,
        "tokens": 387,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 96.75,
        "ccn_per_token": 0.020671834625323,
        "functions_per_token": 0.0103359173126615,
        "loc_per_token": 0.15503875968992248,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.45
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 47,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 6.71,
        "blanks_per_loc": 0.26,
        "num_funs": 7,
        "comments_per_loc": 0.96,
        "tokens": 199,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 28.428571428571427,
        "ccn_per_token": 0.04020100502512563,
        "functions_per_token": 0.035175879396984924,
        "loc_per_token": 0.23618090452261306,
        "ccn_per_loc": 0.1702127659574468,
        "functions_per_loc": 0.14893617021276595,
        "tokens_per_loc": 4.23404255319149
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ReturnEdge.java",
        "comments": 33,
        "loc_per_function": 8.71,
        "blanks_per_loc": 0.18,
        "num_funs": 7,
        "comments_per_loc": 0.54,
        "tokens": 389,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 55.57142857142857,
        "ccn_per_token": 0.02313624678663239,
        "functions_per_token": 0.017994858611825194,
        "loc_per_token": 0.15681233933161953,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.11475409836065574,
        "tokens_per_loc": 6.377049180327869
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 175,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/SegmentedLabeledEdge.java",
        "comments": 80,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.46,
        "tokens": 1369,
        "ccn": 28,
        "ccn_per_function": 1.8666666666666667,
        "tokens_per_function": 91.26666666666667,
        "ccn_per_token": 0.020452885317750184,
        "functions_per_token": 0.01095690284879474,
        "loc_per_token": 0.12783053323593865,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 7.822857142857143
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseDependencyEdge.java",
        "comments": 43,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.26,
        "num_funs": 8,
        "comments_per_loc": 0.74,
        "tokens": 246,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 30.75,
        "ccn_per_token": 0.04065040650406504,
        "functions_per_token": 0.032520325203252036,
        "loc_per_token": 0.23577235772357724,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.241379310344827
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 157,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ObjectNode.java",
        "comments": 51,
        "loc_per_function": 12.08,
        "blanks_per_loc": 0.13,
        "num_funs": 13,
        "comments_per_loc": 0.32,
        "tokens": 1075,
        "ccn": 21,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 82.6923076923077,
        "ccn_per_token": 0.01953488372093023,
        "functions_per_token": 0.012093023255813953,
        "loc_per_token": 0.14604651162790697,
        "ccn_per_loc": 0.1337579617834395,
        "functions_per_loc": 0.08280254777070063,
        "tokens_per_loc": 6.8471337579617835
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/CircularStateNode.java",
        "comments": 32,
        "loc_per_function": 13,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.41,
        "tokens": 574,
        "ccn": 12,
        "ccn_per_function": 2.0,
        "tokens_per_function": 95.66666666666667,
        "ccn_per_token": 0.020905923344947737,
        "functions_per_token": 0.010452961672473868,
        "loc_per_token": 0.13588850174216027,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.358974358974359
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 92,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MenuFactory.java",
        "comments": 55,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.6,
        "tokens": 622,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 103.66666666666667,
        "ccn_per_token": 0.02572347266881029,
        "functions_per_token": 0.00964630225080386,
        "loc_per_token": 0.14790996784565916,
        "ccn_per_loc": 0.17391304347826086,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 6.760869565217392
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PersistenceService.java",
        "comments": 38,
        "loc_per_function": 19.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 502,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 125.5,
        "ccn_per_token": 0.01593625498007968,
        "functions_per_token": 0.00796812749003984,
        "loc_per_token": 0.1553784860557769,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.05128205128205128,
        "tokens_per_loc": 6.435897435897436
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MultiLineStringEditor.java",
        "comments": 23,
        "loc_per_function": 27,
        "blanks_per_loc": 0.19,
        "num_funs": 2,
        "comments_per_loc": 0.43,
        "tokens": 333,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 166.5,
        "ccn_per_token": 0.006006006006006006,
        "functions_per_token": 0.006006006006006006,
        "loc_per_token": 0.16216216216216217,
        "ccn_per_loc": 0.037037037037037035,
        "functions_per_loc": 0.037037037037037035,
        "tokens_per_loc": 6.166666666666667
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/UndoManager.java",
        "comments": 53,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.72,
        "tokens": 341,
        "ccn": 13,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 56.833333333333336,
        "ccn_per_token": 0.03812316715542522,
        "functions_per_token": 0.017595307917888565,
        "loc_per_token": 0.21700879765395895,
        "ccn_per_loc": 0.17567567567567569,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 4.608108108108108
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 192,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/WelcomeTab.java",
        "comments": 29,
        "loc_per_function": 32,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.15,
        "tokens": 1391,
        "ccn": 13,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 231.83333333333334,
        "ccn_per_token": 0.009345794392523364,
        "functions_per_token": 0.004313443565780014,
        "loc_per_token": 0.13803019410496045,
        "ccn_per_loc": 0.06770833333333333,
        "functions_per_loc": 0.03125,
        "tokens_per_loc": 7.244791666666667
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/LineStyleEditor.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 65,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.0,
        "ccn_per_token": 0.015384615384615385,
        "functions_per_token": 0.015384615384615385,
        "loc_per_token": 0.15384615384615385,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.5
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 172,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MultiLineString.java",
        "comments": 78,
        "loc_per_function": 10.12,
        "blanks_per_loc": 0.15,
        "num_funs": 17,
        "comments_per_loc": 0.45,
        "tokens": 888,
        "ccn": 33,
        "ccn_per_function": 1.9411764705882353,
        "tokens_per_function": 52.23529411764706,
        "ccn_per_token": 0.037162162162162164,
        "functions_per_token": 0.019144144144144143,
        "loc_per_token": 0.19369369369369369,
        "ccn_per_loc": 0.19186046511627908,
        "functions_per_loc": 0.09883720930232558,
        "tokens_per_loc": 5.162790697674419
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 104,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ArrowHead.java",
        "comments": 37,
        "loc_per_function": 26,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.36,
        "tokens": 704,
        "ccn": 19,
        "ccn_per_function": 4.75,
        "tokens_per_function": 176.0,
        "ccn_per_token": 0.026988636363636364,
        "functions_per_token": 0.005681818181818182,
        "loc_per_token": 0.14772727272727273,
        "ccn_per_loc": 0.18269230769230768,
        "functions_per_loc": 0.038461538461538464,
        "tokens_per_loc": 6.769230769230769
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MoveTracker.java",
        "comments": 39,
        "loc_per_function": 25,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.78,
        "tokens": 375,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 187.5,
        "ccn_per_token": 0.021333333333333333,
        "functions_per_token": 0.005333333333333333,
        "loc_per_token": 0.13333333333333333,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.04,
        "tokens_per_loc": 7.5
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ArrowHeadEditor.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.3,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 83,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 83.0,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.012048192771084338,
        "loc_per_token": 0.12048192771084337,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 8.3
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 928,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/EditorFrame.java",
        "comments": 161,
        "loc_per_function": 26.51,
        "blanks_per_loc": 0.11,
        "num_funs": 35,
        "comments_per_loc": 0.17,
        "tokens": 5618,
        "ccn": 118,
        "ccn_per_function": 3.3714285714285714,
        "tokens_per_function": 160.5142857142857,
        "ccn_per_token": 0.021003915984336062,
        "functions_per_token": 0.00622997508009968,
        "loc_per_token": 0.16518333926664294,
        "ccn_per_loc": 0.1271551724137931,
        "functions_per_loc": 0.03771551724137931,
        "tokens_per_loc": 6.053879310344827
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/VerticalLayout.java",
        "comments": 28,
        "loc_per_function": 11.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.48,
        "tokens": 358,
        "ccn": 9,
        "ccn_per_function": 1.8,
        "tokens_per_function": 71.6,
        "ccn_per_token": 0.025139664804469275,
        "functions_per_token": 0.013966480446927373,
        "loc_per_token": 0.16201117318435754,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.08620689655172414,
        "tokens_per_loc": 6.172413793103448
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/Direction.java",
        "comments": 50,
        "loc_per_function": 8.2,
        "blanks_per_loc": 0.24,
        "num_funs": 5,
        "comments_per_loc": 1.22,
        "tokens": 268,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 53.6,
        "ccn_per_token": 0.022388059701492536,
        "functions_per_token": 0.018656716417910446,
        "loc_per_token": 0.15298507462686567,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.12195121951219512,
        "tokens_per_loc": 6.536585365853658
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/Grid.java",
        "comments": 35,
        "loc_per_function": 17.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 1,
        "tokens": 349,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 174.5,
        "ccn_per_token": 0.011461318051575931,
        "functions_per_token": 0.0057306590257879654,
        "loc_per_token": 0.10028653295128939,
        "ccn_per_loc": 0.11428571428571428,
        "functions_per_loc": 0.05714285714285714,
        "tokens_per_loc": 9.971428571428572
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 136,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ButtonTabComponent.java",
        "comments": 44,
        "loc_per_function": 22.67,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.32,
        "tokens": 783,
        "ccn": 15,
        "ccn_per_function": 2.5,
        "tokens_per_function": 130.5,
        "ccn_per_token": 0.019157088122605363,
        "functions_per_token": 0.007662835249042145,
        "loc_per_token": 0.17369093231162197,
        "ccn_per_loc": 0.11029411764705882,
        "functions_per_loc": 0.04411764705882353,
        "tokens_per_loc": 5.757352941176471
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 357,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ToolBar.java",
        "comments": 63,
        "loc_per_function": 19.83,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 2560,
        "ccn": 31,
        "ccn_per_function": 1.7222222222222223,
        "tokens_per_function": 142.22222222222223,
        "ccn_per_token": 0.012109375,
        "functions_per_token": 0.00703125,
        "loc_per_token": 0.139453125,
        "ccn_per_loc": 0.08683473389355742,
        "functions_per_loc": 0.05042016806722689,
        "tokens_per_loc": 7.170868347338936
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 63,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/FormLayout.java",
        "comments": 23,
        "loc_per_function": 12.6,
        "blanks_per_loc": 0.24,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 448,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07936507936507936,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/GraphFrame.java",
        "comments": 56,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.88,
        "tokens": 293,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 41.857142857142854,
        "ccn_per_token": 0.034129692832764506,
        "functions_per_token": 0.023890784982935155,
        "loc_per_token": 0.21843003412969283,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 4.578125
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 531,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/SegmentationStyleFactory.java",
        "comments": 99,
        "loc_per_function": 17.13,
        "blanks_per_loc": 0.1,
        "num_funs": 31,
        "comments_per_loc": 0.19,
        "tokens": 3515,
        "ccn": 113,
        "ccn_per_function": 3.6451612903225805,
        "tokens_per_function": 113.38709677419355,
        "ccn_per_token": 0.032147937411095305,
        "functions_per_token": 0.008819345661450925,
        "loc_per_token": 0.15106685633001424,
        "ccn_per_loc": 0.2128060263653484,
        "functions_per_loc": 0.0583804143126177,
        "tokens_per_loc": 6.619585687382298
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/GraphModificationListener.java",
        "comments": 67,
        "loc_per_function": 15,
        "blanks_per_loc": 0.53,
        "num_funs": 0,
        "comments_per_loc": 4.47,
        "tokens": 147,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 147,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.10204081632653061,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 9.8
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 207,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PropertySheet.java",
        "comments": 72,
        "loc_per_function": 29.57,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 1137,
        "ccn": 26,
        "ccn_per_function": 3.7142857142857144,
        "tokens_per_function": 162.42857142857142,
        "ccn_per_token": 0.022867194371152155,
        "functions_per_token": 0.006156552330694811,
        "loc_per_token": 0.1820580474934037,
        "ccn_per_loc": 0.12560386473429952,
        "functions_per_loc": 0.033816425120772944,
        "tokens_per_loc": 5.492753623188406
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/SelectionList.java",
        "comments": 88,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.76,
        "tokens": 564,
        "ccn": 26,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 47.0,
        "ccn_per_token": 0.04609929078014184,
        "functions_per_token": 0.02127659574468085,
        "loc_per_token": 0.20567375886524822,
        "ccn_per_loc": 0.22413793103448276,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 4.862068965517241
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/RecentFilesQueue.java",
        "comments": 64,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.83,
        "tokens": 407,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.83333333333333,
        "ccn_per_token": 0.03931203931203931,
        "functions_per_token": 0.014742014742014743,
        "loc_per_token": 0.1891891891891892,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.285714285714286
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PropertySelector.java",
        "comments": 30,
        "loc_per_function": 10,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.75,
        "tokens": 179,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 44.75,
        "ccn_per_token": 0.0446927374301676,
        "functions_per_token": 0.0223463687150838,
        "loc_per_token": 0.22346368715083798,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.475
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 168,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PropertyChangeTracker.java",
        "comments": 82,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 9,
        "comments_per_loc": 0.49,
        "tokens": 842,
        "ccn": 25,
        "ccn_per_function": 2.7777777777777777,
        "tokens_per_function": 93.55555555555556,
        "ccn_per_token": 0.029691211401425176,
        "functions_per_token": 0.010688836104513063,
        "loc_per_token": 0.1995249406175772,
        "ccn_per_loc": 0.1488095238095238,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.011904761904762
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 36,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/LineStyle.java",
        "comments": 27,
        "loc_per_function": 12,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 0.75,
        "tokens": 175,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 58.333333333333336,
        "ccn_per_token": 0.03428571428571429,
        "functions_per_token": 0.017142857142857144,
        "loc_per_token": 0.2057142857142857,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 4.861111111111111
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 259,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/Clipboard.java",
        "comments": 73,
        "loc_per_function": 16.19,
        "blanks_per_loc": 0.14,
        "num_funs": 16,
        "comments_per_loc": 0.28,
        "tokens": 1423,
        "ccn": 65,
        "ccn_per_function": 4.0625,
        "tokens_per_function": 88.9375,
        "ccn_per_token": 0.04567814476458187,
        "functions_per_token": 0.011243851018973999,
        "loc_per_token": 0.1820098383696416,
        "ccn_per_loc": 0.25096525096525096,
        "functions_per_loc": 0.06177606177606178,
        "tokens_per_loc": 5.494208494208494
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ExtensionFilter.java",
        "comments": 36,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.92,
        "tokens": 162,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 40.5,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.024691358024691357,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 48,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/SegmentationStyle.java",
        "comments": 53,
        "loc_per_function": 16,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.1,
        "tokens": 218,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 72.66666666666667,
        "ccn_per_token": 0.05504587155963303,
        "functions_per_token": 0.013761467889908258,
        "loc_per_token": 0.22018348623853212,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 4.541666666666667
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/WelcomeButtonUI.java",
        "comments": 30,
        "loc_per_function": 14.67,
        "blanks_per_loc": 0.23,
        "num_funs": 3,
        "comments_per_loc": 0.68,
        "tokens": 280,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 93.33333333333333,
        "ccn_per_token": 0.014285714285714285,
        "functions_per_token": 0.010714285714285714,
        "loc_per_token": 0.15714285714285714,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.06818181818181818,
        "tokens_per_loc": 6.363636363636363
    },
    {
        "date": "2017-11-10 Rel 1.2",
        "loc": 663,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/GraphPanel.java",
        "comments": 151,
        "loc_per_function": 13.53,
        "blanks_per_loc": 0.1,
        "num_funs": 49,
        "comments_per_loc": 0.23,
        "tokens": 3777,
        "ccn": 133,
        "ccn_per_function": 2.7142857142857144,
        "tokens_per_function": 77.08163265306122,
        "ccn_per_token": 0.03521313211543553,
        "functions_per_token": 0.012973259200423616,
        "loc_per_token": 0.1755361397934869,
        "ccn_per_loc": 0.20060331825037708,
        "functions_per_loc": 0.07390648567119155,
        "tokens_per_loc": 5.6968325791855206
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 15,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/TestUMLEditor.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 1.33,
        "tokens": 95,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 95.0,
        "ccn_per_token": 0.010526315789473684,
        "functions_per_token": 0.010526315789473684,
        "loc_per_token": 0.15789473684210525,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.333333333333333
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestAddNodeCommand.java",
        "comments": 20,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.16,
        "num_funs": 3,
        "comments_per_loc": 0.41,
        "tokens": 311,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 103.66666666666667,
        "ccn_per_token": 0.012861736334405145,
        "functions_per_token": 0.00964630225080386,
        "loc_per_token": 0.15755627009646303,
        "ccn_per_loc": 0.08163265306122448,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 6.346938775510204
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 37,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestMoveCommand.java",
        "comments": 20,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 354,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 118.0,
        "ccn_per_token": 0.00847457627118644,
        "functions_per_token": 0.00847457627118644,
        "loc_per_token": 0.10451977401129943,
        "ccn_per_loc": 0.08108108108108109,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 9.567567567567568
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 179,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestCompoundCommand.java",
        "comments": 20,
        "loc_per_function": 25.57,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.11,
        "tokens": 1482,
        "ccn": 12,
        "ccn_per_function": 1.7142857142857142,
        "tokens_per_function": 211.71428571428572,
        "ccn_per_token": 0.008097165991902834,
        "functions_per_token": 0.004723346828609987,
        "loc_per_token": 0.12078272604588394,
        "ccn_per_loc": 0.0670391061452514,
        "functions_per_loc": 0.03910614525139665,
        "tokens_per_loc": 8.279329608938548
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 51,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestDeleteNodeCommand.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.16,
        "num_funs": 3,
        "comments_per_loc": 0.39,
        "tokens": 328,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 109.33333333333333,
        "ccn_per_token": 0.012195121951219513,
        "functions_per_token": 0.009146341463414634,
        "loc_per_token": 0.15548780487804878,
        "ccn_per_loc": 0.0784313725490196,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.431372549019608
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestRemoveEdgeCommand.java",
        "comments": 20,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 0.41,
        "tokens": 295,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 98.33333333333333,
        "ccn_per_token": 0.013559322033898305,
        "functions_per_token": 0.010169491525423728,
        "loc_per_token": 0.16610169491525423,
        "ccn_per_loc": 0.08163265306122448,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 6.020408163265306
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestAddEdgeCommandTest.java",
        "comments": 20,
        "loc_per_function": 16,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 0.42,
        "tokens": 293,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 97.66666666666667,
        "ccn_per_token": 0.013651877133105802,
        "functions_per_token": 0.010238907849829351,
        "loc_per_token": 0.16382252559726962,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 6.104166666666667
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 116,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/diagrams/TestSequenceDiagramGraph.java",
        "comments": 51,
        "loc_per_function": 23.2,
        "blanks_per_loc": 0.32,
        "num_funs": 5,
        "comments_per_loc": 0.44,
        "tokens": 1195,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 239.0,
        "ccn_per_token": 0.0041841004184100415,
        "functions_per_token": 0.0041841004184100415,
        "loc_per_token": 0.09707112970711297,
        "ccn_per_loc": 0.04310344827586207,
        "functions_per_loc": 0.04310344827586207,
        "tokens_per_loc": 10.301724137931034
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 15,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestAbstractEdge.java",
        "comments": 23,
        "loc_per_function": 15,
        "blanks_per_loc": 0.27,
        "num_funs": 1,
        "comments_per_loc": 1.53,
        "tokens": 104,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 104.0,
        "ccn_per_token": 0.009615384615384616,
        "functions_per_token": 0.009615384615384616,
        "loc_per_token": 0.14423076923076922,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.933333333333334
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 67,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestNoteEdge.java",
        "comments": 27,
        "loc_per_function": 16.75,
        "blanks_per_loc": 0.3,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 586,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.5,
        "ccn_per_token": 0.006825938566552901,
        "functions_per_token": 0.006825938566552901,
        "loc_per_token": 0.11433447098976109,
        "ccn_per_loc": 0.05970149253731343,
        "functions_per_loc": 0.05970149253731343,
        "tokens_per_loc": 8.746268656716419
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 363,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosObjectDiagram.java",
        "comments": 110,
        "loc_per_function": 25.93,
        "blanks_per_loc": 0.16,
        "num_funs": 14,
        "comments_per_loc": 0.3,
        "tokens": 4056,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 289.7142857142857,
        "ccn_per_token": 0.0039447731755424065,
        "functions_per_token": 0.0034516765285996054,
        "loc_per_token": 0.08949704142011834,
        "ccn_per_loc": 0.0440771349862259,
        "functions_per_loc": 0.03856749311294766,
        "tokens_per_loc": 11.173553719008265
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 158,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenarios.java",
        "comments": 33,
        "loc_per_function": 39.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 0.21,
        "tokens": 1933,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 483.25,
        "ccn_per_token": 0.0020693222969477496,
        "functions_per_token": 0.0020693222969477496,
        "loc_per_token": 0.0817382307294361,
        "ccn_per_loc": 0.02531645569620253,
        "functions_per_loc": 0.02531645569620253,
        "tokens_per_loc": 12.234177215189874
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 170,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestInterfaceNode.java",
        "comments": 22,
        "loc_per_function": 14.17,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.13,
        "tokens": 1475,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 122.91666666666667,
        "ccn_per_token": 0.008135593220338983,
        "functions_per_token": 0.008135593220338983,
        "loc_per_token": 0.1152542372881356,
        "ccn_per_loc": 0.07058823529411765,
        "functions_per_loc": 0.07058823529411765,
        "tokens_per_loc": 8.676470588235293
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 98,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 19.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.21,
        "tokens": 983,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 196.6,
        "ccn_per_token": 0.00508646998982706,
        "functions_per_token": 0.00508646998982706,
        "loc_per_token": 0.09969481180061038,
        "ccn_per_loc": 0.05102040816326531,
        "functions_per_loc": 0.05102040816326531,
        "tokens_per_loc": 10.03061224489796
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 202,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestGraph.java",
        "comments": 30,
        "loc_per_function": 11.88,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.15,
        "tokens": 1557,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.58823529411765,
        "ccn_per_token": 0.010918432883750802,
        "functions_per_token": 0.010918432883750802,
        "loc_per_token": 0.12973667308927425,
        "ccn_per_loc": 0.08415841584158416,
        "functions_per_loc": 0.08415841584158416,
        "tokens_per_loc": 7.707920792079208
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 130,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 26,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.16,
        "tokens": 1349,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 269.8,
        "ccn_per_token": 0.0037064492216456633,
        "functions_per_token": 0.0037064492216456633,
        "loc_per_token": 0.09636767976278725,
        "ccn_per_loc": 0.038461538461538464,
        "functions_per_loc": 0.038461538461538464,
        "tokens_per_loc": 10.376923076923077
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 321,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosStateDiagram.java",
        "comments": 103,
        "loc_per_function": 22.93,
        "blanks_per_loc": 0.13,
        "num_funs": 14,
        "comments_per_loc": 0.32,
        "tokens": 3813,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 272.35714285714283,
        "ccn_per_token": 0.004196170993968004,
        "functions_per_token": 0.0036716496197220037,
        "loc_per_token": 0.08418568056648308,
        "ccn_per_loc": 0.04984423676012461,
        "functions_per_loc": 0.04361370716510903,
        "tokens_per_loc": 11.878504672897197
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 521,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosClassDiagram.java",
        "comments": 115,
        "loc_per_function": 21.71,
        "blanks_per_loc": 0.15,
        "num_funs": 24,
        "comments_per_loc": 0.22,
        "tokens": 5416,
        "ccn": 36,
        "ccn_per_function": 1.5,
        "tokens_per_function": 225.66666666666666,
        "ccn_per_token": 0.0066469719350073855,
        "functions_per_token": 0.004431314623338257,
        "loc_per_token": 0.09619645494830133,
        "ccn_per_loc": 0.0690978886756238,
        "functions_per_loc": 0.046065259117082535,
        "tokens_per_loc": 10.395393474088293
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 325,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosUseCaseDiagram.java",
        "comments": 102,
        "loc_per_function": 25,
        "blanks_per_loc": 0.14,
        "num_funs": 13,
        "comments_per_loc": 0.31,
        "tokens": 3809,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 293.0,
        "ccn_per_token": 0.0039380414807035965,
        "functions_per_token": 0.0034129692832764505,
        "loc_per_token": 0.08532423208191127,
        "ccn_per_loc": 0.046153846153846156,
        "functions_per_loc": 0.04,
        "tokens_per_loc": 11.72
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 524,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosSequenceDiagram.java",
        "comments": 117,
        "loc_per_function": 23.82,
        "blanks_per_loc": 0.16,
        "num_funs": 22,
        "comments_per_loc": 0.22,
        "tokens": 6200,
        "ccn": 31,
        "ccn_per_function": 1.4090909090909092,
        "tokens_per_function": 281.8181818181818,
        "ccn_per_token": 0.005,
        "functions_per_token": 0.0035483870967741938,
        "loc_per_token": 0.08451612903225807,
        "ccn_per_loc": 0.05916030534351145,
        "functions_per_loc": 0.04198473282442748,
        "tokens_per_loc": 11.83206106870229
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 90,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 18,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.23,
        "tokens": 909,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 181.8,
        "ccn_per_token": 0.005500550055005501,
        "functions_per_token": 0.005500550055005501,
        "loc_per_token": 0.09900990099009901,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 10.1
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 207,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestClassNode.java",
        "comments": 22,
        "loc_per_function": 17.25,
        "blanks_per_loc": 0.13,
        "num_funs": 12,
        "comments_per_loc": 0.11,
        "tokens": 1878,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 156.5,
        "ccn_per_token": 0.006389776357827476,
        "functions_per_token": 0.006389776357827476,
        "loc_per_token": 0.11022364217252396,
        "ccn_per_loc": 0.057971014492753624,
        "functions_per_loc": 0.057971014492753624,
        "tokens_per_loc": 9.072463768115941
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 444,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 20.18,
        "blanks_per_loc": 0.11,
        "num_funs": 22,
        "comments_per_loc": 0.1,
        "tokens": 4888,
        "ccn": 22,
        "ccn_per_function": 1.0,
        "tokens_per_function": 222.1818181818182,
        "ccn_per_token": 0.004500818330605565,
        "functions_per_token": 0.004500818330605565,
        "loc_per_token": 0.09083469721767594,
        "ccn_per_loc": 0.04954954954954955,
        "functions_per_loc": 0.04954954954954955,
        "tokens_per_loc": 11.00900900900901
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 574,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 47.83,
        "blanks_per_loc": 0.23,
        "num_funs": 12,
        "comments_per_loc": 0.03,
        "tokens": 7406,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 617.1666666666666,
        "ccn_per_token": 0.001890359168241966,
        "functions_per_token": 0.0016203078584931137,
        "loc_per_token": 0.07750472589792061,
        "ccn_per_loc": 0.024390243902439025,
        "functions_per_loc": 0.020905923344947737,
        "tokens_per_loc": 12.902439024390244
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 209,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestPropertyChangeTracker.java",
        "comments": 30,
        "loc_per_function": 19,
        "blanks_per_loc": 0.12,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1637,
        "ccn": 14,
        "ccn_per_function": 1.2727272727272727,
        "tokens_per_function": 148.8181818181818,
        "ccn_per_token": 0.00855222968845449,
        "functions_per_token": 0.006719609040928528,
        "loc_per_token": 0.12767257177764202,
        "ccn_per_loc": 0.06698564593301436,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 7.832535885167464
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 163,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestUndoManager.java",
        "comments": 20,
        "loc_per_function": 23.29,
        "blanks_per_loc": 0.07,
        "num_funs": 7,
        "comments_per_loc": 0.12,
        "tokens": 1298,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 185.42857142857142,
        "ccn_per_token": 0.007704160246533128,
        "functions_per_token": 0.00539291217257319,
        "loc_per_token": 0.12557781201849,
        "ccn_per_loc": 0.06134969325153374,
        "functions_per_loc": 0.04294478527607362,
        "tokens_per_loc": 7.96319018404908
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 83,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestEditorFrame.java",
        "comments": 20,
        "loc_per_function": 10.38,
        "blanks_per_loc": 0.17,
        "num_funs": 8,
        "comments_per_loc": 0.24,
        "tokens": 478,
        "ccn": 9,
        "ccn_per_function": 1.125,
        "tokens_per_function": 59.75,
        "ccn_per_token": 0.01882845188284519,
        "functions_per_token": 0.016736401673640166,
        "loc_per_token": 0.17364016736401675,
        "ccn_per_loc": 0.10843373493975904,
        "functions_per_loc": 0.0963855421686747,
        "tokens_per_loc": 5.759036144578313
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 123,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestVerticalLayout.java",
        "comments": 20,
        "loc_per_function": 15.38,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1617,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 202.125,
        "ccn_per_token": 0.004947433518862091,
        "functions_per_token": 0.004947433518862091,
        "loc_per_token": 0.07606679035250463,
        "ccn_per_loc": 0.06504065040650407,
        "functions_per_loc": 0.06504065040650407,
        "tokens_per_loc": 13.146341463414634
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 238,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 21.64,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.08,
        "tokens": 2234,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 203.0909090909091,
        "ccn_per_token": 0.004923903312444047,
        "functions_per_token": 0.004923903312444047,
        "loc_per_token": 0.10653536257833482,
        "ccn_per_loc": 0.046218487394957986,
        "functions_per_loc": 0.046218487394957986,
        "tokens_per_loc": 9.38655462184874
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 38,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestExtensionFilter.java",
        "comments": 20,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.53,
        "tokens": 287,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 95.66666666666667,
        "ccn_per_token": 0.010452961672473868,
        "functions_per_token": 0.010452961672473868,
        "loc_per_token": 0.13240418118466898,
        "ccn_per_loc": 0.07894736842105263,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.552631578947368
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 161,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestMoveTracker.java",
        "comments": 27,
        "loc_per_function": 23,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.17,
        "tokens": 1154,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 164.85714285714286,
        "ccn_per_token": 0.009532062391681109,
        "functions_per_token": 0.006065857885615251,
        "loc_per_token": 0.13951473136915077,
        "ccn_per_loc": 0.06832298136645963,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 7.167701863354037
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1500,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 300.0,
        "ccn_per_token": 0.0033333333333333335,
        "functions_per_token": 0.0033333333333333335,
        "loc_per_token": 0.09266666666666666,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.79136690647482
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 58,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestPropertyOrder.java",
        "comments": 20,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.21,
        "num_funs": 6,
        "comments_per_loc": 0.34,
        "tokens": 478,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 79.66666666666667,
        "ccn_per_token": 0.012552301255230125,
        "functions_per_token": 0.012552301255230125,
        "loc_per_token": 0.12133891213389121,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 8.241379310344827
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 201,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestSelectionList.java",
        "comments": 20,
        "loc_per_function": 15.46,
        "blanks_per_loc": 0.1,
        "num_funs": 13,
        "comments_per_loc": 0.1,
        "tokens": 1386,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.61538461538461,
        "ccn_per_token": 0.00937950937950938,
        "functions_per_token": 0.00937950937950938,
        "loc_per_token": 0.14502164502164502,
        "ccn_per_loc": 0.06467661691542288,
        "functions_per_loc": 0.06467661691542288,
        "tokens_per_loc": 6.895522388059701
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 110,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestMultiLineString.java",
        "comments": 20,
        "loc_per_function": 11,
        "blanks_per_loc": 0.18,
        "num_funs": 10,
        "comments_per_loc": 0.18,
        "tokens": 731,
        "ccn": 11,
        "ccn_per_function": 1.1,
        "tokens_per_function": 73.1,
        "ccn_per_token": 0.015047879616963064,
        "functions_per_token": 0.013679890560875513,
        "loc_per_token": 0.15047879616963064,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.6454545454545455
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 131,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/UMLEditor.java",
        "comments": 37,
        "loc_per_function": 21.83,
        "blanks_per_loc": 0.1,
        "num_funs": 6,
        "comments_per_loc": 0.28,
        "tokens": 669,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 111.5,
        "ccn_per_token": 0.028400597907324365,
        "functions_per_token": 0.008968609865470852,
        "loc_per_token": 0.19581464872944693,
        "ccn_per_loc": 0.1450381679389313,
        "functions_per_loc": 0.04580152671755725,
        "tokens_per_loc": 5.106870229007634
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/AddNodeCommand.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 124,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.333333333333336,
        "ccn_per_token": 0.024193548387096774,
        "functions_per_token": 0.024193548387096774,
        "loc_per_token": 0.1774193548387097,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 5.636363636363637
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/RemoveEdgeCommand.java",
        "comments": 36,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.8,
        "tokens": 112,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.333333333333336,
        "ccn_per_token": 0.026785714285714284,
        "functions_per_token": 0.026785714285714284,
        "loc_per_token": 0.17857142857142858,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.6
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/AddEdgeCommand.java",
        "comments": 36,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.8,
        "tokens": 112,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.333333333333336,
        "ccn_per_token": 0.026785714285714284,
        "functions_per_token": 0.026785714285714284,
        "loc_per_token": 0.17857142857142858,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.6
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/GraphElementRelatedCommand.java",
        "comments": 30,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 2.31,
        "tokens": 77,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.012987012987012988,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.16883116883116883,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.923076923076923
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 18,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/DeleteNodeCommand.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 2,
        "tokens": 102,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/MoveCommand.java",
        "comments": 37,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 1.37,
        "tokens": 145,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.333333333333336,
        "ccn_per_token": 0.020689655172413793,
        "functions_per_token": 0.020689655172413793,
        "loc_per_token": 0.18620689655172415,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.37037037037037
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/Command.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 6,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/CompoundCommand.java",
        "comments": 43,
        "loc_per_function": 8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 1.07,
        "tokens": 196,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 39.2,
        "ccn_per_token": 0.03571428571428571,
        "functions_per_token": 0.025510204081632654,
        "loc_per_token": 0.20408163265306123,
        "ccn_per_loc": 0.175,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.9
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/UseCaseDiagramGraph.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 391,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 78.2,
        "ccn_per_token": 0.017902813299232736,
        "functions_per_token": 0.01278772378516624,
        "loc_per_token": 0.14066496163682865,
        "ccn_per_loc": 0.12727272727272726,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.109090909090909
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 68,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/StateDiagramGraph.java",
        "comments": 23,
        "loc_per_function": 13.6,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.34,
        "tokens": 429,
        "ccn": 13,
        "ccn_per_function": 2.6,
        "tokens_per_function": 85.8,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.011655011655011656,
        "loc_per_token": 0.1585081585081585,
        "ccn_per_loc": 0.19117647058823528,
        "functions_per_loc": 0.07352941176470588,
        "tokens_per_loc": 6.3088235294117645
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 333,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/SequenceDiagramGraph.java",
        "comments": 71,
        "loc_per_function": 18.5,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.21,
        "tokens": 1877,
        "ccn": 85,
        "ccn_per_function": 4.722222222222222,
        "tokens_per_function": 104.27777777777777,
        "ccn_per_token": 0.045285029302077784,
        "functions_per_token": 0.009589770911028236,
        "loc_per_token": 0.17741076185402238,
        "ccn_per_loc": 0.2552552552552553,
        "functions_per_loc": 0.05405405405405406,
        "tokens_per_loc": 5.636636636636637
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/ClassDiagramGraph.java",
        "comments": 33,
        "loc_per_function": 14.62,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 687,
        "ccn": 21,
        "ccn_per_function": 2.625,
        "tokens_per_function": 85.875,
        "ccn_per_token": 0.03056768558951965,
        "functions_per_token": 0.011644832605531296,
        "loc_per_token": 0.1703056768558952,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.06837606837606838,
        "tokens_per_loc": 5.871794871794871
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 140,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/ObjectDiagramGraph.java",
        "comments": 34,
        "loc_per_function": 15.56,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 819,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.031746031746031744,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.17094017094017094,
        "ccn_per_loc": 0.18571428571428572,
        "functions_per_loc": 0.06428571428571428,
        "tokens_per_loc": 5.85
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 83,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/NoteNode.java",
        "comments": 34,
        "loc_per_function": 11.86,
        "blanks_per_loc": 0.18,
        "num_funs": 7,
        "comments_per_loc": 0.41,
        "tokens": 706,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 100.85714285714286,
        "ccn_per_token": 0.009915014164305949,
        "functions_per_token": 0.009915014164305949,
        "loc_per_token": 0.11756373937677053,
        "ccn_per_loc": 0.08433734939759036,
        "functions_per_loc": 0.08433734939759036,
        "tokens_per_loc": 8.506024096385541
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AssociationEdge.java",
        "comments": 40,
        "loc_per_function": 8.17,
        "blanks_per_loc": 0.22,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 206,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 34.333333333333336,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.02912621359223301,
        "loc_per_token": 0.23786407766990292,
        "ccn_per_loc": 0.20408163265306123,
        "functions_per_loc": 0.12244897959183673,
        "tokens_per_loc": 4.204081632653061
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ParentNode.java",
        "comments": 49,
        "loc_per_function": 9,
        "blanks_per_loc": 0.56,
        "num_funs": 0,
        "comments_per_loc": 5.44,
        "tokens": 59,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 59,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15254237288135594,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.555555555555555
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ClassNode.java",
        "comments": 42,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.75,
        "tokens": 354,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 50.57142857142857,
        "ccn_per_token": 0.022598870056497175,
        "functions_per_token": 0.01977401129943503,
        "loc_per_token": 0.15819209039548024,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 6.321428571428571
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/RectangularNode.java",
        "comments": 28,
        "loc_per_function": 10.5,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.33,
        "tokens": 488,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 61.0,
        "ccn_per_token": 0.028688524590163935,
        "functions_per_token": 0.01639344262295082,
        "loc_per_token": 0.1721311475409836,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.09523809523809523,
        "tokens_per_loc": 5.809523809523809
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 253,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/PackageNode.java",
        "comments": 57,
        "loc_per_function": 11,
        "blanks_per_loc": 0.16,
        "num_funs": 23,
        "comments_per_loc": 0.23,
        "tokens": 1688,
        "ccn": 37,
        "ccn_per_function": 1.608695652173913,
        "tokens_per_function": 73.3913043478261,
        "ccn_per_token": 0.021919431279620854,
        "functions_per_token": 0.013625592417061612,
        "loc_per_token": 0.14988151658767773,
        "ccn_per_loc": 0.14624505928853754,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.67193675889328
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ClassRelationshipEdge.java",
        "comments": 47,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.28,
        "num_funs": 10,
        "comments_per_loc": 0.87,
        "tokens": 200,
        "ccn": 10,
        "ccn_per_function": 1.0,
        "tokens_per_function": 20.0,
        "ccn_per_token": 0.05,
        "functions_per_token": 0.05,
        "loc_per_token": 0.27,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 3.7037037037037037
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseGeneralizationEdge.java",
        "comments": 29,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.37,
        "num_funs": 3,
        "comments_per_loc": 1.53,
        "tokens": 106,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.333333333333336,
        "ccn_per_token": 0.02830188679245283,
        "functions_per_token": 0.02830188679245283,
        "loc_per_token": 0.1792452830188679,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 5.578947368421052
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AbstractNode.java",
        "comments": 39,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 327,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 46.714285714285715,
        "ccn_per_token": 0.027522935779816515,
        "functions_per_token": 0.021406727828746176,
        "loc_per_token": 0.19571865443425077,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 5.109375
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/DependencyEdge.java",
        "comments": 30,
        "loc_per_function": 6.25,
        "blanks_per_loc": 0.28,
        "num_funs": 4,
        "comments_per_loc": 1.2,
        "tokens": 130,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 32.5,
        "ccn_per_token": 0.03076923076923077,
        "functions_per_token": 0.03076923076923077,
        "loc_per_token": 0.19230769230769232,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.16,
        "tokens_per_loc": 5.2
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 210,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/StateTransitionEdge.java",
        "comments": 63,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.3,
        "tokens": 1434,
        "ccn": 28,
        "ccn_per_function": 1.5555555555555556,
        "tokens_per_function": 79.66666666666667,
        "ccn_per_token": 0.019525801952580194,
        "functions_per_token": 0.012552301255230125,
        "loc_per_token": 0.14644351464435146,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 6.828571428571428
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseNode.java",
        "comments": 34,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.25,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 260,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 43.333333333333336,
        "ccn_per_token": 0.023076923076923078,
        "functions_per_token": 0.023076923076923078,
        "loc_per_token": 0.16923076923076924,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 5.909090909090909
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/CallEdge.java",
        "comments": 45,
        "loc_per_function": 10.62,
        "blanks_per_loc": 0.19,
        "num_funs": 8,
        "comments_per_loc": 0.53,
        "tokens": 570,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 71.25,
        "ccn_per_token": 0.02280701754385965,
        "functions_per_token": 0.014035087719298246,
        "loc_per_token": 0.14912280701754385,
        "ccn_per_loc": 0.15294117647058825,
        "functions_per_loc": 0.09411764705882353,
        "tokens_per_loc": 6.705882352941177
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 127,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/InterfaceNode.java",
        "comments": 67,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.23,
        "num_funs": 16,
        "comments_per_loc": 0.53,
        "tokens": 814,
        "ccn": 21,
        "ccn_per_function": 1.3125,
        "tokens_per_function": 50.875,
        "ccn_per_token": 0.025798525798525797,
        "functions_per_token": 0.019656019656019656,
        "loc_per_token": 0.15601965601965603,
        "ccn_per_loc": 0.16535433070866143,
        "functions_per_loc": 0.12598425196850394,
        "tokens_per_loc": 6.409448818897638
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ObjectCollaborationEdge.java",
        "comments": 30,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.38,
        "num_funs": 2,
        "comments_per_loc": 2.31,
        "tokens": 72,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.027777777777777776,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.18055555555555555,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 5.538461538461538
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 475,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/Graph.java",
        "comments": 247,
        "loc_per_function": 12.84,
        "blanks_per_loc": 0.12,
        "num_funs": 37,
        "comments_per_loc": 0.52,
        "tokens": 2380,
        "ccn": 119,
        "ccn_per_function": 3.2162162162162162,
        "tokens_per_function": 64.32432432432432,
        "ccn_per_token": 0.05,
        "functions_per_token": 0.015546218487394958,
        "loc_per_token": 0.19957983193277312,
        "ccn_per_loc": 0.2505263157894737,
        "functions_per_loc": 0.07789473684210527,
        "tokens_per_loc": 5.010526315789473
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 86,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AbstractEdge.java",
        "comments": 54,
        "loc_per_function": 9.56,
        "blanks_per_loc": 0.2,
        "num_funs": 9,
        "comments_per_loc": 0.63,
        "tokens": 494,
        "ccn": 13,
        "ccn_per_function": 1.4444444444444444,
        "tokens_per_function": 54.888888888888886,
        "ccn_per_token": 0.02631578947368421,
        "functions_per_token": 0.018218623481781375,
        "loc_per_token": 0.17408906882591094,
        "ccn_per_loc": 0.1511627906976744,
        "functions_per_loc": 0.10465116279069768,
        "tokens_per_loc": 5.744186046511628
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ChildNode.java",
        "comments": 45,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 6.43,
        "tokens": 37,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 37,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1891891891891892,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.285714285714286
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 157,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ImplicitParameterNode.java",
        "comments": 56,
        "loc_per_function": 9.81,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.36,
        "tokens": 1097,
        "ccn": 24,
        "ccn_per_function": 1.5,
        "tokens_per_function": 68.5625,
        "ccn_per_token": 0.02187784867821331,
        "functions_per_token": 0.014585232452142206,
        "loc_per_token": 0.1431175934366454,
        "ccn_per_loc": 0.15286624203821655,
        "functions_per_loc": 0.10191082802547771,
        "tokens_per_loc": 6.987261146496815
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 196,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/CallNode.java",
        "comments": 72,
        "loc_per_function": 13.07,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.37,
        "tokens": 1319,
        "ccn": 33,
        "ccn_per_function": 2.2,
        "tokens_per_function": 87.93333333333334,
        "ccn_per_token": 0.025018953752843062,
        "functions_per_token": 0.011372251705837756,
        "loc_per_token": 0.14859742228961334,
        "ccn_per_loc": 0.1683673469387755,
        "functions_per_loc": 0.07653061224489796,
        "tokens_per_loc": 6.729591836734694
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/StateNode.java",
        "comments": 34,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 376,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 53.714285714285715,
        "ccn_per_token": 0.018617021276595744,
        "functions_per_token": 0.018617021276595744,
        "loc_per_token": 0.14893617021276595,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 6.714285714285714
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/PointNode.java",
        "comments": 33,
        "loc_per_function": 7.71,
        "blanks_per_loc": 0.22,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 342,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.857142857142854,
        "ccn_per_token": 0.02046783625730994,
        "functions_per_token": 0.02046783625730994,
        "loc_per_token": 0.15789473684210525,
        "ccn_per_loc": 0.12962962962962962,
        "functions_per_loc": 0.12962962962962962,
        "tokens_per_loc": 6.333333333333333
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 6.83,
        "blanks_per_loc": 0.27,
        "num_funs": 6,
        "comments_per_loc": 1.07,
        "tokens": 170,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 28.333333333333332,
        "ccn_per_token": 0.041176470588235294,
        "functions_per_token": 0.03529411764705882,
        "loc_per_token": 0.2411764705882353,
        "ccn_per_loc": 0.17073170731707318,
        "functions_per_loc": 0.14634146341463414,
        "tokens_per_loc": 4.146341463414634
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 159,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/FieldNode.java",
        "comments": 59,
        "loc_per_function": 9.35,
        "blanks_per_loc": 0.17,
        "num_funs": 17,
        "comments_per_loc": 0.37,
        "tokens": 947,
        "ccn": 23,
        "ccn_per_function": 1.3529411764705883,
        "tokens_per_function": 55.705882352941174,
        "ccn_per_token": 0.024287222808870117,
        "functions_per_token": 0.01795142555438226,
        "loc_per_token": 0.1678986272439282,
        "ccn_per_loc": 0.14465408805031446,
        "functions_per_loc": 0.1069182389937107,
        "tokens_per_loc": 5.955974842767295
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 0.79,
        "tokens": 226,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 113.0,
        "ccn_per_token": 0.008849557522123894,
        "functions_per_token": 0.008849557522123894,
        "loc_per_token": 0.12831858407079647,
        "ccn_per_loc": 0.06896551724137931,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 7.793103448275862
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/GraphElement.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 34,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 34,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ActorNode.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.21,
        "num_funs": 6,
        "comments_per_loc": 0.56,
        "tokens": 721,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 120.16666666666667,
        "ccn_per_token": 0.008321775312066574,
        "functions_per_token": 0.008321775312066574,
        "loc_per_token": 0.10818307905686546,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 9.243589743589743
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseAssociationEdge.java",
        "comments": 30,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.46,
        "num_funs": 2,
        "comments_per_loc": 2.31,
        "tokens": 77,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.025974025974025976,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.16883116883116883,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 5.923076923076923
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 81,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ObjectReferenceEdge.java",
        "comments": 27,
        "loc_per_function": 20.25,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.33,
        "tokens": 698,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 174.5,
        "ccn_per_token": 0.01002865329512894,
        "functions_per_token": 0.0057306590257879654,
        "loc_per_token": 0.11604584527220631,
        "ccn_per_loc": 0.08641975308641975,
        "functions_per_loc": 0.04938271604938271,
        "tokens_per_loc": 8.617283950617283
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/Node.java",
        "comments": 54,
        "loc_per_function": 14,
        "blanks_per_loc": 0.64,
        "num_funs": 0,
        "comments_per_loc": 3.86,
        "tokens": 115,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 115,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.12173913043478261,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.214285714285714
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/Edge.java",
        "comments": 60,
        "loc_per_function": 15,
        "blanks_per_loc": 0.73,
        "num_funs": 0,
        "comments_per_loc": 4,
        "tokens": 97,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 97,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15463917525773196,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.466666666666667
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/PropertyOrder.java",
        "comments": 39,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 4,
        "comments_per_loc": 0.65,
        "tokens": 387,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 96.75,
        "ccn_per_token": 0.020671834625323,
        "functions_per_token": 0.0103359173126615,
        "loc_per_token": 0.15503875968992248,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.45
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 47,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 6.71,
        "blanks_per_loc": 0.26,
        "num_funs": 7,
        "comments_per_loc": 0.96,
        "tokens": 199,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 28.428571428571427,
        "ccn_per_token": 0.04020100502512563,
        "functions_per_token": 0.035175879396984924,
        "loc_per_token": 0.23618090452261306,
        "ccn_per_loc": 0.1702127659574468,
        "functions_per_loc": 0.14893617021276595,
        "tokens_per_loc": 4.23404255319149
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ReturnEdge.java",
        "comments": 33,
        "loc_per_function": 8.71,
        "blanks_per_loc": 0.18,
        "num_funs": 7,
        "comments_per_loc": 0.54,
        "tokens": 389,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 55.57142857142857,
        "ccn_per_token": 0.02313624678663239,
        "functions_per_token": 0.017994858611825194,
        "loc_per_token": 0.15681233933161953,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.11475409836065574,
        "tokens_per_loc": 6.377049180327869
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 175,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/SegmentedLabeledEdge.java",
        "comments": 80,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.46,
        "tokens": 1368,
        "ccn": 28,
        "ccn_per_function": 1.8666666666666667,
        "tokens_per_function": 91.2,
        "ccn_per_token": 0.02046783625730994,
        "functions_per_token": 0.010964912280701754,
        "loc_per_token": 0.12792397660818713,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 7.817142857142857
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseDependencyEdge.java",
        "comments": 43,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.26,
        "num_funs": 8,
        "comments_per_loc": 0.74,
        "tokens": 246,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 30.75,
        "ccn_per_token": 0.04065040650406504,
        "functions_per_token": 0.032520325203252036,
        "loc_per_token": 0.23577235772357724,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.241379310344827
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 157,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ObjectNode.java",
        "comments": 51,
        "loc_per_function": 12.08,
        "blanks_per_loc": 0.13,
        "num_funs": 13,
        "comments_per_loc": 0.32,
        "tokens": 1075,
        "ccn": 21,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 82.6923076923077,
        "ccn_per_token": 0.01953488372093023,
        "functions_per_token": 0.012093023255813953,
        "loc_per_token": 0.14604651162790697,
        "ccn_per_loc": 0.1337579617834395,
        "functions_per_loc": 0.08280254777070063,
        "tokens_per_loc": 6.8471337579617835
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/CircularStateNode.java",
        "comments": 32,
        "loc_per_function": 13,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.41,
        "tokens": 574,
        "ccn": 12,
        "ccn_per_function": 2.0,
        "tokens_per_function": 95.66666666666667,
        "ccn_per_token": 0.020905923344947737,
        "functions_per_token": 0.010452961672473868,
        "loc_per_token": 0.13588850174216027,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.358974358974359
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 92,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MenuFactory.java",
        "comments": 55,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.6,
        "tokens": 622,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 103.66666666666667,
        "ccn_per_token": 0.02572347266881029,
        "functions_per_token": 0.00964630225080386,
        "loc_per_token": 0.14790996784565916,
        "ccn_per_loc": 0.17391304347826086,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 6.760869565217392
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PersistenceService.java",
        "comments": 38,
        "loc_per_function": 19.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 502,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 125.5,
        "ccn_per_token": 0.01593625498007968,
        "functions_per_token": 0.00796812749003984,
        "loc_per_token": 0.1553784860557769,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.05128205128205128,
        "tokens_per_loc": 6.435897435897436
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MultiLineStringEditor.java",
        "comments": 23,
        "loc_per_function": 27,
        "blanks_per_loc": 0.19,
        "num_funs": 2,
        "comments_per_loc": 0.43,
        "tokens": 333,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 166.5,
        "ccn_per_token": 0.006006006006006006,
        "functions_per_token": 0.006006006006006006,
        "loc_per_token": 0.16216216216216217,
        "ccn_per_loc": 0.037037037037037035,
        "functions_per_loc": 0.037037037037037035,
        "tokens_per_loc": 6.166666666666667
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/UndoManager.java",
        "comments": 53,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.72,
        "tokens": 341,
        "ccn": 13,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 56.833333333333336,
        "ccn_per_token": 0.03812316715542522,
        "functions_per_token": 0.017595307917888565,
        "loc_per_token": 0.21700879765395895,
        "ccn_per_loc": 0.17567567567567569,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 4.608108108108108
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 192,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/WelcomeTab.java",
        "comments": 29,
        "loc_per_function": 32,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.15,
        "tokens": 1391,
        "ccn": 13,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 231.83333333333334,
        "ccn_per_token": 0.009345794392523364,
        "functions_per_token": 0.004313443565780014,
        "loc_per_token": 0.13803019410496045,
        "ccn_per_loc": 0.06770833333333333,
        "functions_per_loc": 0.03125,
        "tokens_per_loc": 7.244791666666667
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/LineStyleEditor.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 65,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.0,
        "ccn_per_token": 0.015384615384615385,
        "functions_per_token": 0.015384615384615385,
        "loc_per_token": 0.15384615384615385,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.5
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 172,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MultiLineString.java",
        "comments": 78,
        "loc_per_function": 10.12,
        "blanks_per_loc": 0.15,
        "num_funs": 17,
        "comments_per_loc": 0.45,
        "tokens": 888,
        "ccn": 33,
        "ccn_per_function": 1.9411764705882353,
        "tokens_per_function": 52.23529411764706,
        "ccn_per_token": 0.037162162162162164,
        "functions_per_token": 0.019144144144144143,
        "loc_per_token": 0.19369369369369369,
        "ccn_per_loc": 0.19186046511627908,
        "functions_per_loc": 0.09883720930232558,
        "tokens_per_loc": 5.162790697674419
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 104,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ArrowHead.java",
        "comments": 37,
        "loc_per_function": 26,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.36,
        "tokens": 704,
        "ccn": 19,
        "ccn_per_function": 4.75,
        "tokens_per_function": 176.0,
        "ccn_per_token": 0.026988636363636364,
        "functions_per_token": 0.005681818181818182,
        "loc_per_token": 0.14772727272727273,
        "ccn_per_loc": 0.18269230769230768,
        "functions_per_loc": 0.038461538461538464,
        "tokens_per_loc": 6.769230769230769
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MoveTracker.java",
        "comments": 39,
        "loc_per_function": 25,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.78,
        "tokens": 375,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 187.5,
        "ccn_per_token": 0.021333333333333333,
        "functions_per_token": 0.005333333333333333,
        "loc_per_token": 0.13333333333333333,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.04,
        "tokens_per_loc": 7.5
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ArrowHeadEditor.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.3,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 83,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 83.0,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.012048192771084338,
        "loc_per_token": 0.12048192771084337,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 8.3
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 928,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/EditorFrame.java",
        "comments": 161,
        "loc_per_function": 26.51,
        "blanks_per_loc": 0.11,
        "num_funs": 35,
        "comments_per_loc": 0.17,
        "tokens": 5618,
        "ccn": 118,
        "ccn_per_function": 3.3714285714285714,
        "tokens_per_function": 160.5142857142857,
        "ccn_per_token": 0.021003915984336062,
        "functions_per_token": 0.00622997508009968,
        "loc_per_token": 0.16518333926664294,
        "ccn_per_loc": 0.1271551724137931,
        "functions_per_loc": 0.03771551724137931,
        "tokens_per_loc": 6.053879310344827
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/VerticalLayout.java",
        "comments": 28,
        "loc_per_function": 11.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.48,
        "tokens": 358,
        "ccn": 9,
        "ccn_per_function": 1.8,
        "tokens_per_function": 71.6,
        "ccn_per_token": 0.025139664804469275,
        "functions_per_token": 0.013966480446927373,
        "loc_per_token": 0.16201117318435754,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.08620689655172414,
        "tokens_per_loc": 6.172413793103448
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/Direction.java",
        "comments": 50,
        "loc_per_function": 8.2,
        "blanks_per_loc": 0.24,
        "num_funs": 5,
        "comments_per_loc": 1.22,
        "tokens": 268,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 53.6,
        "ccn_per_token": 0.022388059701492536,
        "functions_per_token": 0.018656716417910446,
        "loc_per_token": 0.15298507462686567,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.12195121951219512,
        "tokens_per_loc": 6.536585365853658
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/Grid.java",
        "comments": 35,
        "loc_per_function": 17.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 1,
        "tokens": 349,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 174.5,
        "ccn_per_token": 0.011461318051575931,
        "functions_per_token": 0.0057306590257879654,
        "loc_per_token": 0.10028653295128939,
        "ccn_per_loc": 0.11428571428571428,
        "functions_per_loc": 0.05714285714285714,
        "tokens_per_loc": 9.971428571428572
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 136,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ButtonTabComponent.java",
        "comments": 44,
        "loc_per_function": 22.67,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.32,
        "tokens": 783,
        "ccn": 15,
        "ccn_per_function": 2.5,
        "tokens_per_function": 130.5,
        "ccn_per_token": 0.019157088122605363,
        "functions_per_token": 0.007662835249042145,
        "loc_per_token": 0.17369093231162197,
        "ccn_per_loc": 0.11029411764705882,
        "functions_per_loc": 0.04411764705882353,
        "tokens_per_loc": 5.757352941176471
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 357,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ToolBar.java",
        "comments": 63,
        "loc_per_function": 19.83,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 2560,
        "ccn": 31,
        "ccn_per_function": 1.7222222222222223,
        "tokens_per_function": 142.22222222222223,
        "ccn_per_token": 0.012109375,
        "functions_per_token": 0.00703125,
        "loc_per_token": 0.139453125,
        "ccn_per_loc": 0.08683473389355742,
        "functions_per_loc": 0.05042016806722689,
        "tokens_per_loc": 7.170868347338936
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 63,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/FormLayout.java",
        "comments": 23,
        "loc_per_function": 12.6,
        "blanks_per_loc": 0.24,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 448,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07936507936507936,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/GraphFrame.java",
        "comments": 56,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.88,
        "tokens": 293,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 41.857142857142854,
        "ccn_per_token": 0.034129692832764506,
        "functions_per_token": 0.023890784982935155,
        "loc_per_token": 0.21843003412969283,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 4.578125
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 531,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/SegmentationStyleFactory.java",
        "comments": 99,
        "loc_per_function": 17.13,
        "blanks_per_loc": 0.1,
        "num_funs": 31,
        "comments_per_loc": 0.19,
        "tokens": 3515,
        "ccn": 113,
        "ccn_per_function": 3.6451612903225805,
        "tokens_per_function": 113.38709677419355,
        "ccn_per_token": 0.032147937411095305,
        "functions_per_token": 0.008819345661450925,
        "loc_per_token": 0.15106685633001424,
        "ccn_per_loc": 0.2128060263653484,
        "functions_per_loc": 0.0583804143126177,
        "tokens_per_loc": 6.619585687382298
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/GraphModificationListener.java",
        "comments": 67,
        "loc_per_function": 15,
        "blanks_per_loc": 0.53,
        "num_funs": 0,
        "comments_per_loc": 4.47,
        "tokens": 147,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 147,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.10204081632653061,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 9.8
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 207,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PropertySheet.java",
        "comments": 72,
        "loc_per_function": 29.57,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 1137,
        "ccn": 26,
        "ccn_per_function": 3.7142857142857144,
        "tokens_per_function": 162.42857142857142,
        "ccn_per_token": 0.022867194371152155,
        "functions_per_token": 0.006156552330694811,
        "loc_per_token": 0.1820580474934037,
        "ccn_per_loc": 0.12560386473429952,
        "functions_per_loc": 0.033816425120772944,
        "tokens_per_loc": 5.492753623188406
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/SelectionList.java",
        "comments": 88,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.76,
        "tokens": 564,
        "ccn": 26,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 47.0,
        "ccn_per_token": 0.04609929078014184,
        "functions_per_token": 0.02127659574468085,
        "loc_per_token": 0.20567375886524822,
        "ccn_per_loc": 0.22413793103448276,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 4.862068965517241
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/RecentFilesQueue.java",
        "comments": 64,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.83,
        "tokens": 407,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.83333333333333,
        "ccn_per_token": 0.03931203931203931,
        "functions_per_token": 0.014742014742014743,
        "loc_per_token": 0.1891891891891892,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.285714285714286
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PropertySelector.java",
        "comments": 30,
        "loc_per_function": 10,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.75,
        "tokens": 179,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 44.75,
        "ccn_per_token": 0.0446927374301676,
        "functions_per_token": 0.0223463687150838,
        "loc_per_token": 0.22346368715083798,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.475
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 168,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PropertyChangeTracker.java",
        "comments": 82,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 9,
        "comments_per_loc": 0.49,
        "tokens": 842,
        "ccn": 25,
        "ccn_per_function": 2.7777777777777777,
        "tokens_per_function": 93.55555555555556,
        "ccn_per_token": 0.029691211401425176,
        "functions_per_token": 0.010688836104513063,
        "loc_per_token": 0.1995249406175772,
        "ccn_per_loc": 0.1488095238095238,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.011904761904762
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 36,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/LineStyle.java",
        "comments": 27,
        "loc_per_function": 12,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 0.75,
        "tokens": 175,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 58.333333333333336,
        "ccn_per_token": 0.03428571428571429,
        "functions_per_token": 0.017142857142857144,
        "loc_per_token": 0.2057142857142857,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 4.861111111111111
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 248,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/Clipboard.java",
        "comments": 64,
        "loc_per_function": 16.53,
        "blanks_per_loc": 0.13,
        "num_funs": 15,
        "comments_per_loc": 0.26,
        "tokens": 1383,
        "ccn": 62,
        "ccn_per_function": 4.133333333333334,
        "tokens_per_function": 92.2,
        "ccn_per_token": 0.04483007953723789,
        "functions_per_token": 0.010845986984815618,
        "loc_per_token": 0.17932031814895155,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.06048387096774194,
        "tokens_per_loc": 5.576612903225806
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ExtensionFilter.java",
        "comments": 36,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.92,
        "tokens": 162,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 40.5,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.024691358024691357,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 48,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/SegmentationStyle.java",
        "comments": 53,
        "loc_per_function": 16,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.1,
        "tokens": 218,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 72.66666666666667,
        "ccn_per_token": 0.05504587155963303,
        "functions_per_token": 0.013761467889908258,
        "loc_per_token": 0.22018348623853212,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 4.541666666666667
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/WelcomeButtonUI.java",
        "comments": 30,
        "loc_per_function": 14.67,
        "blanks_per_loc": 0.23,
        "num_funs": 3,
        "comments_per_loc": 0.68,
        "tokens": 280,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 93.33333333333333,
        "ccn_per_token": 0.014285714285714285,
        "functions_per_token": 0.010714285714285714,
        "loc_per_token": 0.15714285714285714,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.06818181818181818,
        "tokens_per_loc": 6.363636363636363
    },
    {
        "date": "2017-06-12 Rel 1.1",
        "loc": 664,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/GraphPanel.java",
        "comments": 151,
        "loc_per_function": 13.55,
        "blanks_per_loc": 0.1,
        "num_funs": 49,
        "comments_per_loc": 0.23,
        "tokens": 3774,
        "ccn": 133,
        "ccn_per_function": 2.7142857142857144,
        "tokens_per_function": 77.0204081632653,
        "ccn_per_token": 0.03524112347641759,
        "functions_per_token": 0.012983571807101218,
        "loc_per_token": 0.17594064652888183,
        "ccn_per_loc": 0.2003012048192771,
        "functions_per_loc": 0.07379518072289157,
        "tokens_per_loc": 5.683734939759036
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 15,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/TestUMLEditor.java",
        "comments": 20,
        "loc_per_function": 15,
        "blanks_per_loc": 0.2,
        "num_funs": 1,
        "comments_per_loc": 1.33,
        "tokens": 95,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 95.0,
        "ccn_per_token": 0.010526315789473684,
        "functions_per_token": 0.010526315789473684,
        "loc_per_token": 0.15789473684210525,
        "ccn_per_loc": 0.06666666666666667,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.333333333333333
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestAddNodeCommand.java",
        "comments": 20,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.16,
        "num_funs": 3,
        "comments_per_loc": 0.41,
        "tokens": 311,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 103.66666666666667,
        "ccn_per_token": 0.012861736334405145,
        "functions_per_token": 0.00964630225080386,
        "loc_per_token": 0.15755627009646303,
        "ccn_per_loc": 0.08163265306122448,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 6.346938775510204
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 37,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestMoveCommand.java",
        "comments": 20,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 0.54,
        "tokens": 354,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 118.0,
        "ccn_per_token": 0.00847457627118644,
        "functions_per_token": 0.00847457627118644,
        "loc_per_token": 0.10451977401129943,
        "ccn_per_loc": 0.08108108108108109,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 9.567567567567568
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 179,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestCompoundCommand.java",
        "comments": 20,
        "loc_per_function": 25.57,
        "blanks_per_loc": 0.11,
        "num_funs": 7,
        "comments_per_loc": 0.11,
        "tokens": 1482,
        "ccn": 12,
        "ccn_per_function": 1.7142857142857142,
        "tokens_per_function": 211.71428571428572,
        "ccn_per_token": 0.008097165991902834,
        "functions_per_token": 0.004723346828609987,
        "loc_per_token": 0.12078272604588394,
        "ccn_per_loc": 0.0670391061452514,
        "functions_per_loc": 0.03910614525139665,
        "tokens_per_loc": 8.279329608938548
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 51,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestDeleteNodeCommand.java",
        "comments": 20,
        "loc_per_function": 17,
        "blanks_per_loc": 0.16,
        "num_funs": 3,
        "comments_per_loc": 0.39,
        "tokens": 328,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 109.33333333333333,
        "ccn_per_token": 0.012195121951219513,
        "functions_per_token": 0.009146341463414634,
        "loc_per_token": 0.15548780487804878,
        "ccn_per_loc": 0.0784313725490196,
        "functions_per_loc": 0.058823529411764705,
        "tokens_per_loc": 6.431372549019608
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 49,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestRemoveEdgeCommand.java",
        "comments": 20,
        "loc_per_function": 16.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 0.41,
        "tokens": 295,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 98.33333333333333,
        "ccn_per_token": 0.013559322033898305,
        "functions_per_token": 0.010169491525423728,
        "loc_per_token": 0.16610169491525423,
        "ccn_per_loc": 0.08163265306122448,
        "functions_per_loc": 0.061224489795918366,
        "tokens_per_loc": 6.020408163265306
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 48,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/commands/TestAddEdgeCommandTest.java",
        "comments": 20,
        "loc_per_function": 16,
        "blanks_per_loc": 0.17,
        "num_funs": 3,
        "comments_per_loc": 0.42,
        "tokens": 293,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 97.66666666666667,
        "ccn_per_token": 0.013651877133105802,
        "functions_per_token": 0.010238907849829351,
        "loc_per_token": 0.16382252559726962,
        "ccn_per_loc": 0.08333333333333333,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 6.104166666666667
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 116,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/diagrams/TestSequenceDiagramGraph.java",
        "comments": 51,
        "loc_per_function": 23.2,
        "blanks_per_loc": 0.32,
        "num_funs": 5,
        "comments_per_loc": 0.44,
        "tokens": 1195,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 239.0,
        "ccn_per_token": 0.0041841004184100415,
        "functions_per_token": 0.0041841004184100415,
        "loc_per_token": 0.09707112970711297,
        "ccn_per_loc": 0.04310344827586207,
        "functions_per_loc": 0.04310344827586207,
        "tokens_per_loc": 10.301724137931034
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 67,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestNoteEdge.java",
        "comments": 27,
        "loc_per_function": 16.75,
        "blanks_per_loc": 0.3,
        "num_funs": 4,
        "comments_per_loc": 0.4,
        "tokens": 586,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 146.5,
        "ccn_per_token": 0.006825938566552901,
        "functions_per_token": 0.006825938566552901,
        "loc_per_token": 0.11433447098976109,
        "ccn_per_loc": 0.05970149253731343,
        "functions_per_loc": 0.05970149253731343,
        "tokens_per_loc": 8.746268656716419
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 369,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosObjectDiagram.java",
        "comments": 109,
        "loc_per_function": 26.36,
        "blanks_per_loc": 0.16,
        "num_funs": 14,
        "comments_per_loc": 0.3,
        "tokens": 4136,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 295.42857142857144,
        "ccn_per_token": 0.0038684719535783366,
        "functions_per_token": 0.0033849129593810446,
        "loc_per_token": 0.0892166344294004,
        "ccn_per_loc": 0.04336043360433604,
        "functions_per_loc": 0.037940379403794036,
        "tokens_per_loc": 11.208672086720867
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 158,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenarios.java",
        "comments": 33,
        "loc_per_function": 39.5,
        "blanks_per_loc": 0.18,
        "num_funs": 4,
        "comments_per_loc": 0.21,
        "tokens": 1933,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 483.25,
        "ccn_per_token": 0.0020693222969477496,
        "functions_per_token": 0.0020693222969477496,
        "loc_per_token": 0.0817382307294361,
        "ccn_per_loc": 0.02531645569620253,
        "functions_per_loc": 0.02531645569620253,
        "tokens_per_loc": 12.234177215189874
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 170,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestInterfaceNode.java",
        "comments": 22,
        "loc_per_function": 14.17,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.13,
        "tokens": 1475,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 122.91666666666667,
        "ccn_per_token": 0.008135593220338983,
        "functions_per_token": 0.008135593220338983,
        "loc_per_token": 0.1152542372881356,
        "ccn_per_loc": 0.07058823529411765,
        "functions_per_loc": 0.07058823529411765,
        "tokens_per_loc": 8.676470588235293
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 98,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestObjectNode.java",
        "comments": 21,
        "loc_per_function": 19.6,
        "blanks_per_loc": 0.19,
        "num_funs": 5,
        "comments_per_loc": 0.21,
        "tokens": 983,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 196.6,
        "ccn_per_token": 0.00508646998982706,
        "functions_per_token": 0.00508646998982706,
        "loc_per_token": 0.09969481180061038,
        "ccn_per_loc": 0.05102040816326531,
        "functions_per_loc": 0.05102040816326531,
        "tokens_per_loc": 10.03061224489796
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 202,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestGraph.java",
        "comments": 30,
        "loc_per_function": 11.88,
        "blanks_per_loc": 0.13,
        "num_funs": 17,
        "comments_per_loc": 0.15,
        "tokens": 1557,
        "ccn": 17,
        "ccn_per_function": 1.0,
        "tokens_per_function": 91.58823529411765,
        "ccn_per_token": 0.010918432883750802,
        "functions_per_token": 0.010918432883750802,
        "loc_per_token": 0.12973667308927425,
        "ccn_per_loc": 0.08415841584158416,
        "functions_per_loc": 0.08415841584158416,
        "tokens_per_loc": 7.707920792079208
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 130,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestPackageNode.java",
        "comments": 21,
        "loc_per_function": 26,
        "blanks_per_loc": 0.15,
        "num_funs": 5,
        "comments_per_loc": 0.16,
        "tokens": 1349,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 269.8,
        "ccn_per_token": 0.0037064492216456633,
        "functions_per_token": 0.0037064492216456633,
        "loc_per_token": 0.09636767976278725,
        "ccn_per_loc": 0.038461538461538464,
        "functions_per_loc": 0.038461538461538464,
        "tokens_per_loc": 10.376923076923077
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 326,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosStateDiagram.java",
        "comments": 103,
        "loc_per_function": 23.29,
        "blanks_per_loc": 0.13,
        "num_funs": 14,
        "comments_per_loc": 0.32,
        "tokens": 3875,
        "ccn": 16,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 276.7857142857143,
        "ccn_per_token": 0.004129032258064516,
        "functions_per_token": 0.0036129032258064514,
        "loc_per_token": 0.08412903225806452,
        "ccn_per_loc": 0.049079754601226995,
        "functions_per_loc": 0.04294478527607362,
        "tokens_per_loc": 11.886503067484663
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 526,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosClassDiagram.java",
        "comments": 114,
        "loc_per_function": 21.92,
        "blanks_per_loc": 0.15,
        "num_funs": 24,
        "comments_per_loc": 0.22,
        "tokens": 5481,
        "ccn": 36,
        "ccn_per_function": 1.5,
        "tokens_per_function": 228.375,
        "ccn_per_token": 0.006568144499178982,
        "functions_per_token": 0.004378762999452655,
        "loc_per_token": 0.09596788907133735,
        "ccn_per_loc": 0.06844106463878327,
        "functions_per_loc": 0.045627376425855515,
        "tokens_per_loc": 10.420152091254753
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 330,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosUseCaseDiagram.java",
        "comments": 101,
        "loc_per_function": 25.38,
        "blanks_per_loc": 0.14,
        "num_funs": 13,
        "comments_per_loc": 0.31,
        "tokens": 3871,
        "ccn": 15,
        "ccn_per_function": 1.1538461538461537,
        "tokens_per_function": 297.7692307692308,
        "ccn_per_token": 0.0038749677086024285,
        "functions_per_token": 0.003358305347455438,
        "loc_per_token": 0.08524928958925343,
        "ccn_per_loc": 0.045454545454545456,
        "functions_per_loc": 0.03939393939393939,
        "tokens_per_loc": 11.73030303030303
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 490,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestUsageScenariosSequenceDiagram.java",
        "comments": 117,
        "loc_per_function": 23.33,
        "blanks_per_loc": 0.14,
        "num_funs": 21,
        "comments_per_loc": 0.24,
        "tokens": 5831,
        "ccn": 30,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 277.6666666666667,
        "ccn_per_token": 0.0051449151089007035,
        "functions_per_token": 0.003601440576230492,
        "loc_per_token": 0.08403361344537816,
        "ccn_per_loc": 0.061224489795918366,
        "functions_per_loc": 0.04285714285714286,
        "tokens_per_loc": 11.9
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 90,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestImplicitParameterNode.java",
        "comments": 21,
        "loc_per_function": 18,
        "blanks_per_loc": 0.2,
        "num_funs": 5,
        "comments_per_loc": 0.23,
        "tokens": 909,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 181.8,
        "ccn_per_token": 0.005500550055005501,
        "functions_per_token": 0.005500550055005501,
        "loc_per_token": 0.09900990099009901,
        "ccn_per_loc": 0.05555555555555555,
        "functions_per_loc": 0.05555555555555555,
        "tokens_per_loc": 10.1
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 207,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/graph/TestClassNode.java",
        "comments": 22,
        "loc_per_function": 17.25,
        "blanks_per_loc": 0.13,
        "num_funs": 12,
        "comments_per_loc": 0.11,
        "tokens": 1878,
        "ccn": 12,
        "ccn_per_function": 1.0,
        "tokens_per_function": 156.5,
        "ccn_per_token": 0.006389776357827476,
        "functions_per_token": 0.006389776357827476,
        "loc_per_token": 0.11022364217252396,
        "ccn_per_loc": 0.057971014492753624,
        "functions_per_loc": 0.057971014492753624,
        "tokens_per_loc": 9.072463768115941
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 444,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestSegmentationStrategies.java",
        "comments": 44,
        "loc_per_function": 20.18,
        "blanks_per_loc": 0.11,
        "num_funs": 22,
        "comments_per_loc": 0.1,
        "tokens": 4888,
        "ccn": 22,
        "ccn_per_function": 1.0,
        "tokens_per_function": 222.1818181818182,
        "ccn_per_token": 0.004500818330605565,
        "functions_per_token": 0.004500818330605565,
        "loc_per_token": 0.09083469721767594,
        "ccn_per_loc": 0.04954954954954955,
        "functions_per_loc": 0.04954954954954955,
        "tokens_per_loc": 11.00900900900901
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 574,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestPersistenceService.java",
        "comments": 20,
        "loc_per_function": 47.83,
        "blanks_per_loc": 0.23,
        "num_funs": 12,
        "comments_per_loc": 0.03,
        "tokens": 7406,
        "ccn": 14,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 617.1666666666666,
        "ccn_per_token": 0.001890359168241966,
        "functions_per_token": 0.0016203078584931137,
        "loc_per_token": 0.07750472589792061,
        "ccn_per_loc": 0.024390243902439025,
        "functions_per_loc": 0.020905923344947737,
        "tokens_per_loc": 12.902439024390244
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 209,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestPropertyChangeTracker.java",
        "comments": 30,
        "loc_per_function": 19,
        "blanks_per_loc": 0.12,
        "num_funs": 11,
        "comments_per_loc": 0.14,
        "tokens": 1637,
        "ccn": 14,
        "ccn_per_function": 1.2727272727272727,
        "tokens_per_function": 148.8181818181818,
        "ccn_per_token": 0.00855222968845449,
        "functions_per_token": 0.006719609040928528,
        "loc_per_token": 0.12767257177764202,
        "ccn_per_loc": 0.06698564593301436,
        "functions_per_loc": 0.05263157894736842,
        "tokens_per_loc": 7.832535885167464
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 163,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestUndoManager.java",
        "comments": 20,
        "loc_per_function": 23.29,
        "blanks_per_loc": 0.07,
        "num_funs": 7,
        "comments_per_loc": 0.12,
        "tokens": 1298,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 185.42857142857142,
        "ccn_per_token": 0.007704160246533128,
        "functions_per_token": 0.00539291217257319,
        "loc_per_token": 0.12557781201849,
        "ccn_per_loc": 0.06134969325153374,
        "functions_per_loc": 0.04294478527607362,
        "tokens_per_loc": 7.96319018404908
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 13,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestEditorFrame.java",
        "comments": 20,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 1.54,
        "tokens": 92,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 92.0,
        "ccn_per_token": 0.010869565217391304,
        "functions_per_token": 0.010869565217391304,
        "loc_per_token": 0.14130434782608695,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.076923076923077
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 123,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestVerticalLayout.java",
        "comments": 20,
        "loc_per_function": 15.38,
        "blanks_per_loc": 0.13,
        "num_funs": 8,
        "comments_per_loc": 0.16,
        "tokens": 1617,
        "ccn": 8,
        "ccn_per_function": 1.0,
        "tokens_per_function": 202.125,
        "ccn_per_token": 0.004947433518862091,
        "functions_per_token": 0.004947433518862091,
        "loc_per_token": 0.07606679035250463,
        "ccn_per_loc": 0.06504065040650407,
        "functions_per_loc": 0.06504065040650407,
        "tokens_per_loc": 13.146341463414634
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 238,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestClipboard.java",
        "comments": 20,
        "loc_per_function": 21.64,
        "blanks_per_loc": 0.08,
        "num_funs": 11,
        "comments_per_loc": 0.08,
        "tokens": 2234,
        "ccn": 11,
        "ccn_per_function": 1.0,
        "tokens_per_function": 203.0909090909091,
        "ccn_per_token": 0.004923903312444047,
        "functions_per_token": 0.004923903312444047,
        "loc_per_token": 0.10653536257833482,
        "ccn_per_loc": 0.046218487394957986,
        "functions_per_loc": 0.046218487394957986,
        "tokens_per_loc": 9.38655462184874
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 38,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestExtensionFilter.java",
        "comments": 20,
        "loc_per_function": 12.67,
        "blanks_per_loc": 0.24,
        "num_funs": 3,
        "comments_per_loc": 0.53,
        "tokens": 287,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 95.66666666666667,
        "ccn_per_token": 0.010452961672473868,
        "functions_per_token": 0.010452961672473868,
        "loc_per_token": 0.13240418118466898,
        "ccn_per_loc": 0.07894736842105263,
        "functions_per_loc": 0.07894736842105263,
        "tokens_per_loc": 7.552631578947368
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 161,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestMoveTracker.java",
        "comments": 27,
        "loc_per_function": 23,
        "blanks_per_loc": 0.1,
        "num_funs": 7,
        "comments_per_loc": 0.17,
        "tokens": 1154,
        "ccn": 11,
        "ccn_per_function": 1.5714285714285714,
        "tokens_per_function": 164.85714285714286,
        "ccn_per_token": 0.009532062391681109,
        "functions_per_token": 0.006065857885615251,
        "loc_per_token": 0.13951473136915077,
        "ccn_per_loc": 0.06832298136645963,
        "functions_per_loc": 0.043478260869565216,
        "tokens_per_loc": 7.167701863354037
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 139,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestRecentFilesQueue.java",
        "comments": 20,
        "loc_per_function": 27.8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 0.14,
        "tokens": 1500,
        "ccn": 5,
        "ccn_per_function": 1.0,
        "tokens_per_function": 300.0,
        "ccn_per_token": 0.0033333333333333335,
        "functions_per_token": 0.0033333333333333335,
        "loc_per_token": 0.09266666666666666,
        "ccn_per_loc": 0.03597122302158273,
        "functions_per_loc": 0.03597122302158273,
        "tokens_per_loc": 10.79136690647482
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 58,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestPropertyOrder.java",
        "comments": 20,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.21,
        "num_funs": 6,
        "comments_per_loc": 0.34,
        "tokens": 478,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 79.66666666666667,
        "ccn_per_token": 0.012552301255230125,
        "functions_per_token": 0.012552301255230125,
        "loc_per_token": 0.12133891213389121,
        "ccn_per_loc": 0.10344827586206896,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 8.241379310344827
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 201,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestSelectionList.java",
        "comments": 20,
        "loc_per_function": 15.46,
        "blanks_per_loc": 0.1,
        "num_funs": 13,
        "comments_per_loc": 0.1,
        "tokens": 1386,
        "ccn": 13,
        "ccn_per_function": 1.0,
        "tokens_per_function": 106.61538461538461,
        "ccn_per_token": 0.00937950937950938,
        "functions_per_token": 0.00937950937950938,
        "loc_per_token": 0.14502164502164502,
        "ccn_per_loc": 0.06467661691542288,
        "functions_per_loc": 0.06467661691542288,
        "tokens_per_loc": 6.895522388059701
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 103,
        "file_path": "test/ca/mcgill/cs/stg/jetuml/framework/TestMultiLineString.java",
        "comments": 20,
        "loc_per_function": 11.44,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.19,
        "tokens": 692,
        "ccn": 10,
        "ccn_per_function": 1.1111111111111112,
        "tokens_per_function": 76.88888888888889,
        "ccn_per_token": 0.014450867052023121,
        "functions_per_token": 0.01300578034682081,
        "loc_per_token": 0.14884393063583815,
        "ccn_per_loc": 0.0970873786407767,
        "functions_per_loc": 0.08737864077669903,
        "tokens_per_loc": 6.718446601941747
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 131,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/UMLEditor.java",
        "comments": 37,
        "loc_per_function": 21.83,
        "blanks_per_loc": 0.1,
        "num_funs": 6,
        "comments_per_loc": 0.28,
        "tokens": 669,
        "ccn": 19,
        "ccn_per_function": 3.1666666666666665,
        "tokens_per_function": 111.5,
        "ccn_per_token": 0.028400597907324365,
        "functions_per_token": 0.008968609865470852,
        "loc_per_token": 0.19581464872944693,
        "ccn_per_loc": 0.1450381679389313,
        "functions_per_loc": 0.04580152671755725,
        "tokens_per_loc": 5.106870229007634
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 22,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/AddNodeCommand.java",
        "comments": 36,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.18,
        "num_funs": 3,
        "comments_per_loc": 1.64,
        "tokens": 124,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 41.333333333333336,
        "ccn_per_token": 0.024193548387096774,
        "functions_per_token": 0.024193548387096774,
        "loc_per_token": 0.1774193548387097,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 5.636363636363637
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/RemoveEdgeCommand.java",
        "comments": 36,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.8,
        "tokens": 112,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.333333333333336,
        "ccn_per_token": 0.026785714285714284,
        "functions_per_token": 0.026785714285714284,
        "loc_per_token": 0.17857142857142858,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.6
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 20,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/AddEdgeCommand.java",
        "comments": 36,
        "loc_per_function": 6.67,
        "blanks_per_loc": 0.2,
        "num_funs": 3,
        "comments_per_loc": 1.8,
        "tokens": 112,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 37.333333333333336,
        "ccn_per_token": 0.026785714285714284,
        "functions_per_token": 0.026785714285714284,
        "loc_per_token": 0.17857142857142858,
        "ccn_per_loc": 0.15,
        "functions_per_loc": 0.15,
        "tokens_per_loc": 5.6
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/GraphElementRelatedCommand.java",
        "comments": 30,
        "loc_per_function": 13,
        "blanks_per_loc": 0.23,
        "num_funs": 1,
        "comments_per_loc": 2.31,
        "tokens": 77,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 77.0,
        "ccn_per_token": 0.012987012987012988,
        "functions_per_token": 0.012987012987012988,
        "loc_per_token": 0.16883116883116883,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 5.923076923076923
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 18,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/DeleteNodeCommand.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 2,
        "tokens": 102,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 34.0,
        "ccn_per_token": 0.029411764705882353,
        "functions_per_token": 0.029411764705882353,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.16666666666666666,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 27,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/MoveCommand.java",
        "comments": 37,
        "loc_per_function": 9,
        "blanks_per_loc": 0.22,
        "num_funs": 3,
        "comments_per_loc": 1.37,
        "tokens": 145,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.333333333333336,
        "ccn_per_token": 0.020689655172413793,
        "functions_per_token": 0.020689655172413793,
        "loc_per_token": 0.18620689655172415,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.1111111111111111,
        "tokens_per_loc": 5.37037037037037
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/Command.java",
        "comments": 36,
        "loc_per_function": 6,
        "blanks_per_loc": 0.5,
        "num_funs": 0,
        "comments_per_loc": 6,
        "tokens": 28,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 28,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.21428571428571427,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 4.666666666666667
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/commands/CompoundCommand.java",
        "comments": 43,
        "loc_per_function": 8,
        "blanks_per_loc": 0.17,
        "num_funs": 5,
        "comments_per_loc": 1.07,
        "tokens": 196,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 39.2,
        "ccn_per_token": 0.03571428571428571,
        "functions_per_token": 0.025510204081632654,
        "loc_per_token": 0.20408163265306123,
        "ccn_per_loc": 0.175,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 4.9
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 55,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/UseCaseDiagramGraph.java",
        "comments": 23,
        "loc_per_function": 11,
        "blanks_per_loc": 0.27,
        "num_funs": 5,
        "comments_per_loc": 0.42,
        "tokens": 391,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 78.2,
        "ccn_per_token": 0.017902813299232736,
        "functions_per_token": 0.01278772378516624,
        "loc_per_token": 0.14066496163682865,
        "ccn_per_loc": 0.12727272727272726,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 7.109090909090909
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 68,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/StateDiagramGraph.java",
        "comments": 23,
        "loc_per_function": 13.6,
        "blanks_per_loc": 0.22,
        "num_funs": 5,
        "comments_per_loc": 0.34,
        "tokens": 429,
        "ccn": 13,
        "ccn_per_function": 2.6,
        "tokens_per_function": 85.8,
        "ccn_per_token": 0.030303030303030304,
        "functions_per_token": 0.011655011655011656,
        "loc_per_token": 0.1585081585081585,
        "ccn_per_loc": 0.19117647058823528,
        "functions_per_loc": 0.07352941176470588,
        "tokens_per_loc": 6.3088235294117645
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 333,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/SequenceDiagramGraph.java",
        "comments": 71,
        "loc_per_function": 18.5,
        "blanks_per_loc": 0.12,
        "num_funs": 18,
        "comments_per_loc": 0.21,
        "tokens": 1877,
        "ccn": 85,
        "ccn_per_function": 4.722222222222222,
        "tokens_per_function": 104.27777777777777,
        "ccn_per_token": 0.045285029302077784,
        "functions_per_token": 0.009589770911028236,
        "loc_per_token": 0.17741076185402238,
        "ccn_per_loc": 0.2552552552552553,
        "functions_per_loc": 0.05405405405405406,
        "tokens_per_loc": 5.636636636636637
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 117,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/ClassDiagramGraph.java",
        "comments": 33,
        "loc_per_function": 14.62,
        "blanks_per_loc": 0.16,
        "num_funs": 8,
        "comments_per_loc": 0.28,
        "tokens": 687,
        "ccn": 21,
        "ccn_per_function": 2.625,
        "tokens_per_function": 85.875,
        "ccn_per_token": 0.03056768558951965,
        "functions_per_token": 0.011644832605531296,
        "loc_per_token": 0.1703056768558952,
        "ccn_per_loc": 0.1794871794871795,
        "functions_per_loc": 0.06837606837606838,
        "tokens_per_loc": 5.871794871794871
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 140,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/diagrams/ObjectDiagramGraph.java",
        "comments": 34,
        "loc_per_function": 15.56,
        "blanks_per_loc": 0.18,
        "num_funs": 9,
        "comments_per_loc": 0.24,
        "tokens": 819,
        "ccn": 26,
        "ccn_per_function": 2.888888888888889,
        "tokens_per_function": 91.0,
        "ccn_per_token": 0.031746031746031744,
        "functions_per_token": 0.01098901098901099,
        "loc_per_token": 0.17094017094017094,
        "ccn_per_loc": 0.18571428571428572,
        "functions_per_loc": 0.06428571428571428,
        "tokens_per_loc": 5.85
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 83,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/NoteNode.java",
        "comments": 34,
        "loc_per_function": 11.86,
        "blanks_per_loc": 0.18,
        "num_funs": 7,
        "comments_per_loc": 0.41,
        "tokens": 706,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 100.85714285714286,
        "ccn_per_token": 0.009915014164305949,
        "functions_per_token": 0.009915014164305949,
        "loc_per_token": 0.11756373937677053,
        "ccn_per_loc": 0.08433734939759036,
        "functions_per_loc": 0.08433734939759036,
        "tokens_per_loc": 8.506024096385541
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 49,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AssociationEdge.java",
        "comments": 40,
        "loc_per_function": 8.17,
        "blanks_per_loc": 0.22,
        "num_funs": 6,
        "comments_per_loc": 0.82,
        "tokens": 206,
        "ccn": 10,
        "ccn_per_function": 1.6666666666666667,
        "tokens_per_function": 34.333333333333336,
        "ccn_per_token": 0.04854368932038835,
        "functions_per_token": 0.02912621359223301,
        "loc_per_token": 0.23786407766990292,
        "ccn_per_loc": 0.20408163265306123,
        "functions_per_loc": 0.12244897959183673,
        "tokens_per_loc": 4.204081632653061
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 9,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ParentNode.java",
        "comments": 49,
        "loc_per_function": 9,
        "blanks_per_loc": 0.56,
        "num_funs": 0,
        "comments_per_loc": 5.44,
        "tokens": 59,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 59,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15254237288135594,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.555555555555555
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ClassNode.java",
        "comments": 42,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.75,
        "tokens": 354,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 50.57142857142857,
        "ccn_per_token": 0.022598870056497175,
        "functions_per_token": 0.01977401129943503,
        "loc_per_token": 0.15819209039548024,
        "ccn_per_loc": 0.14285714285714285,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 6.321428571428571
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 84,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/RectangularNode.java",
        "comments": 28,
        "loc_per_function": 10.5,
        "blanks_per_loc": 0.15,
        "num_funs": 8,
        "comments_per_loc": 0.33,
        "tokens": 488,
        "ccn": 14,
        "ccn_per_function": 1.75,
        "tokens_per_function": 61.0,
        "ccn_per_token": 0.028688524590163935,
        "functions_per_token": 0.01639344262295082,
        "loc_per_token": 0.1721311475409836,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.09523809523809523,
        "tokens_per_loc": 5.809523809523809
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 253,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/PackageNode.java",
        "comments": 57,
        "loc_per_function": 11,
        "blanks_per_loc": 0.16,
        "num_funs": 23,
        "comments_per_loc": 0.23,
        "tokens": 1688,
        "ccn": 37,
        "ccn_per_function": 1.608695652173913,
        "tokens_per_function": 73.3913043478261,
        "ccn_per_token": 0.021919431279620854,
        "functions_per_token": 0.013625592417061612,
        "loc_per_token": 0.14988151658767773,
        "ccn_per_loc": 0.14624505928853754,
        "functions_per_loc": 0.09090909090909091,
        "tokens_per_loc": 6.67193675889328
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ClassRelationshipEdge.java",
        "comments": 47,
        "loc_per_function": 5.4,
        "blanks_per_loc": 0.28,
        "num_funs": 10,
        "comments_per_loc": 0.87,
        "tokens": 200,
        "ccn": 10,
        "ccn_per_function": 1.0,
        "tokens_per_function": 20.0,
        "ccn_per_token": 0.05,
        "functions_per_token": 0.05,
        "loc_per_token": 0.27,
        "ccn_per_loc": 0.18518518518518517,
        "functions_per_loc": 0.18518518518518517,
        "tokens_per_loc": 3.7037037037037037
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 19,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseGeneralizationEdge.java",
        "comments": 29,
        "loc_per_function": 6.33,
        "blanks_per_loc": 0.37,
        "num_funs": 3,
        "comments_per_loc": 1.53,
        "tokens": 106,
        "ccn": 3,
        "ccn_per_function": 1.0,
        "tokens_per_function": 35.333333333333336,
        "ccn_per_token": 0.02830188679245283,
        "functions_per_token": 0.02830188679245283,
        "loc_per_token": 0.1792452830188679,
        "ccn_per_loc": 0.15789473684210525,
        "functions_per_loc": 0.15789473684210525,
        "tokens_per_loc": 5.578947368421052
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AbstractNode.java",
        "comments": 39,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.2,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 327,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 46.714285714285715,
        "ccn_per_token": 0.027522935779816515,
        "functions_per_token": 0.021406727828746176,
        "loc_per_token": 0.19571865443425077,
        "ccn_per_loc": 0.140625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 5.109375
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 25,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/DependencyEdge.java",
        "comments": 30,
        "loc_per_function": 6.25,
        "blanks_per_loc": 0.28,
        "num_funs": 4,
        "comments_per_loc": 1.2,
        "tokens": 130,
        "ccn": 4,
        "ccn_per_function": 1.0,
        "tokens_per_function": 32.5,
        "ccn_per_token": 0.03076923076923077,
        "functions_per_token": 0.03076923076923077,
        "loc_per_token": 0.19230769230769232,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.16,
        "tokens_per_loc": 5.2
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 129,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/StateTransitionEdge.java",
        "comments": 43,
        "loc_per_function": 14.33,
        "blanks_per_loc": 0.13,
        "num_funs": 9,
        "comments_per_loc": 0.33,
        "tokens": 976,
        "ccn": 14,
        "ccn_per_function": 1.5555555555555556,
        "tokens_per_function": 108.44444444444444,
        "ccn_per_token": 0.014344262295081968,
        "functions_per_token": 0.009221311475409836,
        "loc_per_token": 0.13217213114754098,
        "ccn_per_loc": 0.10852713178294573,
        "functions_per_loc": 0.06976744186046512,
        "tokens_per_loc": 7.565891472868217
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseNode.java",
        "comments": 34,
        "loc_per_function": 7.33,
        "blanks_per_loc": 0.25,
        "num_funs": 6,
        "comments_per_loc": 0.77,
        "tokens": 260,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 43.333333333333336,
        "ccn_per_token": 0.023076923076923078,
        "functions_per_token": 0.023076923076923078,
        "loc_per_token": 0.16923076923076924,
        "ccn_per_loc": 0.13636363636363635,
        "functions_per_loc": 0.13636363636363635,
        "tokens_per_loc": 5.909090909090909
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 85,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/CallEdge.java",
        "comments": 45,
        "loc_per_function": 10.62,
        "blanks_per_loc": 0.19,
        "num_funs": 8,
        "comments_per_loc": 0.53,
        "tokens": 570,
        "ccn": 13,
        "ccn_per_function": 1.625,
        "tokens_per_function": 71.25,
        "ccn_per_token": 0.02280701754385965,
        "functions_per_token": 0.014035087719298246,
        "loc_per_token": 0.14912280701754385,
        "ccn_per_loc": 0.15294117647058825,
        "functions_per_loc": 0.09411764705882353,
        "tokens_per_loc": 6.705882352941177
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 127,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/InterfaceNode.java",
        "comments": 67,
        "loc_per_function": 7.94,
        "blanks_per_loc": 0.23,
        "num_funs": 16,
        "comments_per_loc": 0.53,
        "tokens": 814,
        "ccn": 21,
        "ccn_per_function": 1.3125,
        "tokens_per_function": 50.875,
        "ccn_per_token": 0.025798525798525797,
        "functions_per_token": 0.019656019656019656,
        "loc_per_token": 0.15601965601965603,
        "ccn_per_loc": 0.16535433070866143,
        "functions_per_loc": 0.12598425196850394,
        "tokens_per_loc": 6.409448818897638
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ObjectCollaborationEdge.java",
        "comments": 30,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.38,
        "num_funs": 2,
        "comments_per_loc": 2.31,
        "tokens": 72,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 36.0,
        "ccn_per_token": 0.027777777777777776,
        "functions_per_token": 0.027777777777777776,
        "loc_per_token": 0.18055555555555555,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 5.538461538461538
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 473,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/Graph.java",
        "comments": 244,
        "loc_per_function": 12.78,
        "blanks_per_loc": 0.12,
        "num_funs": 37,
        "comments_per_loc": 0.52,
        "tokens": 2366,
        "ccn": 119,
        "ccn_per_function": 3.2162162162162162,
        "tokens_per_function": 63.945945945945944,
        "ccn_per_token": 0.05029585798816568,
        "functions_per_token": 0.015638207945900255,
        "loc_per_token": 0.19991546914623837,
        "ccn_per_loc": 0.25158562367864695,
        "functions_per_loc": 0.07822410147991543,
        "tokens_per_loc": 5.002114164904863
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AbstractEdge.java",
        "comments": 47,
        "loc_per_function": 9.62,
        "blanks_per_loc": 0.19,
        "num_funs": 8,
        "comments_per_loc": 0.61,
        "tokens": 422,
        "ccn": 12,
        "ccn_per_function": 1.5,
        "tokens_per_function": 52.75,
        "ccn_per_token": 0.02843601895734597,
        "functions_per_token": 0.018957345971563982,
        "loc_per_token": 0.18246445497630331,
        "ccn_per_loc": 0.15584415584415584,
        "functions_per_loc": 0.1038961038961039,
        "tokens_per_loc": 5.48051948051948
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 7,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ChildNode.java",
        "comments": 45,
        "loc_per_function": 7,
        "blanks_per_loc": 0.43,
        "num_funs": 0,
        "comments_per_loc": 6.43,
        "tokens": 37,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 37,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.1891891891891892,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.285714285714286
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 157,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ImplicitParameterNode.java",
        "comments": 56,
        "loc_per_function": 9.81,
        "blanks_per_loc": 0.13,
        "num_funs": 16,
        "comments_per_loc": 0.36,
        "tokens": 1097,
        "ccn": 24,
        "ccn_per_function": 1.5,
        "tokens_per_function": 68.5625,
        "ccn_per_token": 0.02187784867821331,
        "functions_per_token": 0.014585232452142206,
        "loc_per_token": 0.1431175934366454,
        "ccn_per_loc": 0.15286624203821655,
        "functions_per_loc": 0.10191082802547771,
        "tokens_per_loc": 6.987261146496815
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 196,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/CallNode.java",
        "comments": 72,
        "loc_per_function": 13.07,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.37,
        "tokens": 1319,
        "ccn": 33,
        "ccn_per_function": 2.2,
        "tokens_per_function": 87.93333333333334,
        "ccn_per_token": 0.025018953752843062,
        "functions_per_token": 0.011372251705837756,
        "loc_per_token": 0.14859742228961334,
        "ccn_per_loc": 0.1683673469387755,
        "functions_per_loc": 0.07653061224489796,
        "tokens_per_loc": 6.729591836734694
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 56,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/StateNode.java",
        "comments": 34,
        "loc_per_function": 8,
        "blanks_per_loc": 0.21,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 376,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 53.714285714285715,
        "ccn_per_token": 0.018617021276595744,
        "functions_per_token": 0.018617021276595744,
        "loc_per_token": 0.14893617021276595,
        "ccn_per_loc": 0.125,
        "functions_per_loc": 0.125,
        "tokens_per_loc": 6.714285714285714
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/PointNode.java",
        "comments": 33,
        "loc_per_function": 7.71,
        "blanks_per_loc": 0.22,
        "num_funs": 7,
        "comments_per_loc": 0.61,
        "tokens": 342,
        "ccn": 7,
        "ccn_per_function": 1.0,
        "tokens_per_function": 48.857142857142854,
        "ccn_per_token": 0.02046783625730994,
        "functions_per_token": 0.02046783625730994,
        "loc_per_token": 0.15789473684210525,
        "ccn_per_loc": 0.12962962962962962,
        "functions_per_loc": 0.12962962962962962,
        "tokens_per_loc": 6.333333333333333
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/AggregationEdge.java",
        "comments": 44,
        "loc_per_function": 6.83,
        "blanks_per_loc": 0.27,
        "num_funs": 6,
        "comments_per_loc": 1.07,
        "tokens": 170,
        "ccn": 7,
        "ccn_per_function": 1.1666666666666667,
        "tokens_per_function": 28.333333333333332,
        "ccn_per_token": 0.041176470588235294,
        "functions_per_token": 0.03529411764705882,
        "loc_per_token": 0.2411764705882353,
        "ccn_per_loc": 0.17073170731707318,
        "functions_per_loc": 0.14634146341463414,
        "tokens_per_loc": 4.146341463414634
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 159,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/FieldNode.java",
        "comments": 59,
        "loc_per_function": 9.35,
        "blanks_per_loc": 0.17,
        "num_funs": 17,
        "comments_per_loc": 0.37,
        "tokens": 947,
        "ccn": 23,
        "ccn_per_function": 1.3529411764705883,
        "tokens_per_function": 55.705882352941174,
        "ccn_per_token": 0.024287222808870117,
        "functions_per_token": 0.01795142555438226,
        "loc_per_token": 0.1678986272439282,
        "ccn_per_loc": 0.14465408805031446,
        "functions_per_loc": 0.1069182389937107,
        "tokens_per_loc": 5.955974842767295
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 29,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/NoteEdge.java",
        "comments": 23,
        "loc_per_function": 14.5,
        "blanks_per_loc": 0.17,
        "num_funs": 2,
        "comments_per_loc": 0.79,
        "tokens": 226,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 113.0,
        "ccn_per_token": 0.008849557522123894,
        "functions_per_token": 0.008849557522123894,
        "loc_per_token": 0.12831858407079647,
        "ccn_per_loc": 0.06896551724137931,
        "functions_per_loc": 0.06896551724137931,
        "tokens_per_loc": 7.793103448275862
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 6,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/GraphElement.java",
        "comments": 30,
        "loc_per_function": 6,
        "blanks_per_loc": 0.33,
        "num_funs": 0,
        "comments_per_loc": 5,
        "tokens": 34,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 34,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.17647058823529413,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 5.666666666666667
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ActorNode.java",
        "comments": 44,
        "loc_per_function": 13,
        "blanks_per_loc": 0.21,
        "num_funs": 6,
        "comments_per_loc": 0.56,
        "tokens": 721,
        "ccn": 6,
        "ccn_per_function": 1.0,
        "tokens_per_function": 120.16666666666667,
        "ccn_per_token": 0.008321775312066574,
        "functions_per_token": 0.008321775312066574,
        "loc_per_token": 0.10818307905686546,
        "ccn_per_loc": 0.07692307692307693,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 9.243589743589743
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 13,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseAssociationEdge.java",
        "comments": 30,
        "loc_per_function": 6.5,
        "blanks_per_loc": 0.46,
        "num_funs": 2,
        "comments_per_loc": 2.31,
        "tokens": 77,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 38.5,
        "ccn_per_token": 0.025974025974025976,
        "functions_per_token": 0.025974025974025976,
        "loc_per_token": 0.16883116883116883,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.15384615384615385,
        "tokens_per_loc": 5.923076923076923
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 81,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ObjectReferenceEdge.java",
        "comments": 27,
        "loc_per_function": 20.25,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.33,
        "tokens": 698,
        "ccn": 7,
        "ccn_per_function": 1.75,
        "tokens_per_function": 174.5,
        "ccn_per_token": 0.01002865329512894,
        "functions_per_token": 0.0057306590257879654,
        "loc_per_token": 0.11604584527220631,
        "ccn_per_loc": 0.08641975308641975,
        "functions_per_loc": 0.04938271604938271,
        "tokens_per_loc": 8.617283950617283
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 14,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/Node.java",
        "comments": 54,
        "loc_per_function": 14,
        "blanks_per_loc": 0.64,
        "num_funs": 0,
        "comments_per_loc": 3.86,
        "tokens": 115,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 115,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.12173913043478261,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 8.214285714285714
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/Edge.java",
        "comments": 60,
        "loc_per_function": 15,
        "blanks_per_loc": 0.73,
        "num_funs": 0,
        "comments_per_loc": 4,
        "tokens": 97,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 97,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.15463917525773196,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 6.466666666666667
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 60,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/PropertyOrder.java",
        "comments": 39,
        "loc_per_function": 15,
        "blanks_per_loc": 0.13,
        "num_funs": 4,
        "comments_per_loc": 0.65,
        "tokens": 387,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 96.75,
        "ccn_per_token": 0.020671834625323,
        "functions_per_token": 0.0103359173126615,
        "loc_per_token": 0.15503875968992248,
        "ccn_per_loc": 0.13333333333333333,
        "functions_per_loc": 0.06666666666666667,
        "tokens_per_loc": 6.45
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 47,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/GeneralizationEdge.java",
        "comments": 45,
        "loc_per_function": 6.71,
        "blanks_per_loc": 0.26,
        "num_funs": 7,
        "comments_per_loc": 0.96,
        "tokens": 199,
        "ccn": 8,
        "ccn_per_function": 1.1428571428571428,
        "tokens_per_function": 28.428571428571427,
        "ccn_per_token": 0.04020100502512563,
        "functions_per_token": 0.035175879396984924,
        "loc_per_token": 0.23618090452261306,
        "ccn_per_loc": 0.1702127659574468,
        "functions_per_loc": 0.14893617021276595,
        "tokens_per_loc": 4.23404255319149
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 61,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ReturnEdge.java",
        "comments": 33,
        "loc_per_function": 8.71,
        "blanks_per_loc": 0.18,
        "num_funs": 7,
        "comments_per_loc": 0.54,
        "tokens": 389,
        "ccn": 9,
        "ccn_per_function": 1.2857142857142858,
        "tokens_per_function": 55.57142857142857,
        "ccn_per_token": 0.02313624678663239,
        "functions_per_token": 0.017994858611825194,
        "loc_per_token": 0.15681233933161953,
        "ccn_per_loc": 0.14754098360655737,
        "functions_per_loc": 0.11475409836065574,
        "tokens_per_loc": 6.377049180327869
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 175,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/SegmentedLabeledEdge.java",
        "comments": 80,
        "loc_per_function": 11.67,
        "blanks_per_loc": 0.14,
        "num_funs": 15,
        "comments_per_loc": 0.46,
        "tokens": 1370,
        "ccn": 28,
        "ccn_per_function": 1.8666666666666667,
        "tokens_per_function": 91.33333333333333,
        "ccn_per_token": 0.020437956204379562,
        "functions_per_token": 0.010948905109489052,
        "loc_per_token": 0.12773722627737227,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.08571428571428572,
        "tokens_per_loc": 7.828571428571428
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/UseCaseDependencyEdge.java",
        "comments": 43,
        "loc_per_function": 7.25,
        "blanks_per_loc": 0.26,
        "num_funs": 8,
        "comments_per_loc": 0.74,
        "tokens": 246,
        "ccn": 10,
        "ccn_per_function": 1.25,
        "tokens_per_function": 30.75,
        "ccn_per_token": 0.04065040650406504,
        "functions_per_token": 0.032520325203252036,
        "loc_per_token": 0.23577235772357724,
        "ccn_per_loc": 0.1724137931034483,
        "functions_per_loc": 0.13793103448275862,
        "tokens_per_loc": 4.241379310344827
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 157,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/ObjectNode.java",
        "comments": 51,
        "loc_per_function": 12.08,
        "blanks_per_loc": 0.13,
        "num_funs": 13,
        "comments_per_loc": 0.32,
        "tokens": 1075,
        "ccn": 21,
        "ccn_per_function": 1.6153846153846154,
        "tokens_per_function": 82.6923076923077,
        "ccn_per_token": 0.01953488372093023,
        "functions_per_token": 0.012093023255813953,
        "loc_per_token": 0.14604651162790697,
        "ccn_per_loc": 0.1337579617834395,
        "functions_per_loc": 0.08280254777070063,
        "tokens_per_loc": 6.8471337579617835
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/graph/CircularStateNode.java",
        "comments": 32,
        "loc_per_function": 13,
        "blanks_per_loc": 0.18,
        "num_funs": 6,
        "comments_per_loc": 0.41,
        "tokens": 574,
        "ccn": 12,
        "ccn_per_function": 2.0,
        "tokens_per_function": 95.66666666666667,
        "ccn_per_token": 0.020905923344947737,
        "functions_per_token": 0.010452961672473868,
        "loc_per_token": 0.13588850174216027,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.07692307692307693,
        "tokens_per_loc": 7.358974358974359
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 92,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MenuFactory.java",
        "comments": 55,
        "loc_per_function": 15.33,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.6,
        "tokens": 622,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 103.66666666666667,
        "ccn_per_token": 0.02572347266881029,
        "functions_per_token": 0.00964630225080386,
        "loc_per_token": 0.14790996784565916,
        "ccn_per_loc": 0.17391304347826086,
        "functions_per_loc": 0.06521739130434782,
        "tokens_per_loc": 6.760869565217392
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 78,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PersistenceService.java",
        "comments": 38,
        "loc_per_function": 19.5,
        "blanks_per_loc": 0.12,
        "num_funs": 4,
        "comments_per_loc": 0.49,
        "tokens": 502,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 125.5,
        "ccn_per_token": 0.01593625498007968,
        "functions_per_token": 0.00796812749003984,
        "loc_per_token": 0.1553784860557769,
        "ccn_per_loc": 0.10256410256410256,
        "functions_per_loc": 0.05128205128205128,
        "tokens_per_loc": 6.435897435897436
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 54,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MultiLineStringEditor.java",
        "comments": 23,
        "loc_per_function": 27,
        "blanks_per_loc": 0.19,
        "num_funs": 2,
        "comments_per_loc": 0.43,
        "tokens": 333,
        "ccn": 2,
        "ccn_per_function": 1.0,
        "tokens_per_function": 166.5,
        "ccn_per_token": 0.006006006006006006,
        "functions_per_token": 0.006006006006006006,
        "loc_per_token": 0.16216216216216217,
        "ccn_per_loc": 0.037037037037037035,
        "functions_per_loc": 0.037037037037037035,
        "tokens_per_loc": 6.166666666666667
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 74,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/UndoManager.java",
        "comments": 53,
        "loc_per_function": 12.33,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.72,
        "tokens": 341,
        "ccn": 13,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 56.833333333333336,
        "ccn_per_token": 0.03812316715542522,
        "functions_per_token": 0.017595307917888565,
        "loc_per_token": 0.21700879765395895,
        "ccn_per_loc": 0.17567567567567569,
        "functions_per_loc": 0.08108108108108109,
        "tokens_per_loc": 4.608108108108108
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 192,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/WelcomeTab.java",
        "comments": 29,
        "loc_per_function": 32,
        "blanks_per_loc": 0.14,
        "num_funs": 6,
        "comments_per_loc": 0.15,
        "tokens": 1391,
        "ccn": 13,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 231.83333333333334,
        "ccn_per_token": 0.009345794392523364,
        "functions_per_token": 0.004313443565780014,
        "loc_per_token": 0.13803019410496045,
        "ccn_per_loc": 0.06770833333333333,
        "functions_per_loc": 0.03125,
        "tokens_per_loc": 7.244791666666667
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/LineStyleEditor.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.4,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 65,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 65.0,
        "ccn_per_token": 0.015384615384615385,
        "functions_per_token": 0.015384615384615385,
        "loc_per_token": 0.15384615384615385,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 6.5
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 171,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MultiLineString.java",
        "comments": 78,
        "loc_per_function": 10.06,
        "blanks_per_loc": 0.15,
        "num_funs": 17,
        "comments_per_loc": 0.46,
        "tokens": 876,
        "ccn": 33,
        "ccn_per_function": 1.9411764705882353,
        "tokens_per_function": 51.529411764705884,
        "ccn_per_token": 0.03767123287671233,
        "functions_per_token": 0.019406392694063926,
        "loc_per_token": 0.1952054794520548,
        "ccn_per_loc": 0.19298245614035087,
        "functions_per_loc": 0.09941520467836257,
        "tokens_per_loc": 5.12280701754386
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 104,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ArrowHead.java",
        "comments": 37,
        "loc_per_function": 26,
        "blanks_per_loc": 0.1,
        "num_funs": 4,
        "comments_per_loc": 0.36,
        "tokens": 704,
        "ccn": 19,
        "ccn_per_function": 4.75,
        "tokens_per_function": 176.0,
        "ccn_per_token": 0.026988636363636364,
        "functions_per_token": 0.005681818181818182,
        "loc_per_token": 0.14772727272727273,
        "ccn_per_loc": 0.18269230769230768,
        "functions_per_loc": 0.038461538461538464,
        "tokens_per_loc": 6.769230769230769
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 50,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/MoveTracker.java",
        "comments": 39,
        "loc_per_function": 25,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 0.78,
        "tokens": 375,
        "ccn": 8,
        "ccn_per_function": 4.0,
        "tokens_per_function": 187.5,
        "ccn_per_token": 0.021333333333333333,
        "functions_per_token": 0.005333333333333333,
        "loc_per_token": 0.13333333333333333,
        "ccn_per_loc": 0.16,
        "functions_per_loc": 0.04,
        "tokens_per_loc": 7.5
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 10,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ArrowHeadEditor.java",
        "comments": 26,
        "loc_per_function": 10,
        "blanks_per_loc": 0.3,
        "num_funs": 1,
        "comments_per_loc": 2.6,
        "tokens": 83,
        "ccn": 1,
        "ccn_per_function": 1.0,
        "tokens_per_function": 83.0,
        "ccn_per_token": 0.012048192771084338,
        "functions_per_token": 0.012048192771084338,
        "loc_per_token": 0.12048192771084337,
        "ccn_per_loc": 0.1,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 8.3
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 963,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/EditorFrame.java",
        "comments": 161,
        "loc_per_function": 27.51,
        "blanks_per_loc": 0.11,
        "num_funs": 35,
        "comments_per_loc": 0.17,
        "tokens": 5846,
        "ccn": 122,
        "ccn_per_function": 3.4857142857142858,
        "tokens_per_function": 167.02857142857144,
        "ccn_per_token": 0.020868970236058843,
        "functions_per_token": 0.0059869996578857335,
        "loc_per_token": 0.1647280191583989,
        "ccn_per_loc": 0.12668743509865005,
        "functions_per_loc": 0.036344755970924195,
        "tokens_per_loc": 6.07061266874351
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 58,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/VerticalLayout.java",
        "comments": 28,
        "loc_per_function": 11.6,
        "blanks_per_loc": 0.16,
        "num_funs": 5,
        "comments_per_loc": 0.48,
        "tokens": 358,
        "ccn": 9,
        "ccn_per_function": 1.8,
        "tokens_per_function": 71.6,
        "ccn_per_token": 0.025139664804469275,
        "functions_per_token": 0.013966480446927373,
        "loc_per_token": 0.16201117318435754,
        "ccn_per_loc": 0.15517241379310345,
        "functions_per_loc": 0.08620689655172414,
        "tokens_per_loc": 6.172413793103448
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 41,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/Direction.java",
        "comments": 50,
        "loc_per_function": 8.2,
        "blanks_per_loc": 0.24,
        "num_funs": 5,
        "comments_per_loc": 1.22,
        "tokens": 268,
        "ccn": 6,
        "ccn_per_function": 1.2,
        "tokens_per_function": 53.6,
        "ccn_per_token": 0.022388059701492536,
        "functions_per_token": 0.018656716417910446,
        "loc_per_token": 0.15298507462686567,
        "ccn_per_loc": 0.14634146341463414,
        "functions_per_loc": 0.12195121951219512,
        "tokens_per_loc": 6.536585365853658
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 35,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/Grid.java",
        "comments": 35,
        "loc_per_function": 17.5,
        "blanks_per_loc": 0.14,
        "num_funs": 2,
        "comments_per_loc": 1,
        "tokens": 349,
        "ccn": 4,
        "ccn_per_function": 2.0,
        "tokens_per_function": 174.5,
        "ccn_per_token": 0.011461318051575931,
        "functions_per_token": 0.0057306590257879654,
        "loc_per_token": 0.10028653295128939,
        "ccn_per_loc": 0.11428571428571428,
        "functions_per_loc": 0.05714285714285714,
        "tokens_per_loc": 9.971428571428572
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 136,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ButtonTabComponent.java",
        "comments": 44,
        "loc_per_function": 22.67,
        "blanks_per_loc": 0.09,
        "num_funs": 6,
        "comments_per_loc": 0.32,
        "tokens": 783,
        "ccn": 15,
        "ccn_per_function": 2.5,
        "tokens_per_function": 130.5,
        "ccn_per_token": 0.019157088122605363,
        "functions_per_token": 0.007662835249042145,
        "loc_per_token": 0.17369093231162197,
        "ccn_per_loc": 0.11029411764705882,
        "functions_per_loc": 0.04411764705882353,
        "tokens_per_loc": 5.757352941176471
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 357,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ToolBar.java",
        "comments": 63,
        "loc_per_function": 19.83,
        "blanks_per_loc": 0.13,
        "num_funs": 18,
        "comments_per_loc": 0.18,
        "tokens": 2560,
        "ccn": 31,
        "ccn_per_function": 1.7222222222222223,
        "tokens_per_function": 142.22222222222223,
        "ccn_per_token": 0.012109375,
        "functions_per_token": 0.00703125,
        "loc_per_token": 0.139453125,
        "ccn_per_loc": 0.08683473389355742,
        "functions_per_loc": 0.05042016806722689,
        "tokens_per_loc": 7.170868347338936
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 63,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/FormLayout.java",
        "comments": 23,
        "loc_per_function": 12.6,
        "blanks_per_loc": 0.24,
        "num_funs": 5,
        "comments_per_loc": 0.37,
        "tokens": 448,
        "ccn": 7,
        "ccn_per_function": 1.4,
        "tokens_per_function": 89.6,
        "ccn_per_token": 0.015625,
        "functions_per_token": 0.011160714285714286,
        "loc_per_token": 0.140625,
        "ccn_per_loc": 0.1111111111111111,
        "functions_per_loc": 0.07936507936507936,
        "tokens_per_loc": 7.111111111111111
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 64,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/GraphFrame.java",
        "comments": 56,
        "loc_per_function": 9.14,
        "blanks_per_loc": 0.19,
        "num_funs": 7,
        "comments_per_loc": 0.88,
        "tokens": 293,
        "ccn": 10,
        "ccn_per_function": 1.4285714285714286,
        "tokens_per_function": 41.857142857142854,
        "ccn_per_token": 0.034129692832764506,
        "functions_per_token": 0.023890784982935155,
        "loc_per_token": 0.21843003412969283,
        "ccn_per_loc": 0.15625,
        "functions_per_loc": 0.109375,
        "tokens_per_loc": 4.578125
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 531,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/SegmentationStyleFactory.java",
        "comments": 99,
        "loc_per_function": 17.13,
        "blanks_per_loc": 0.1,
        "num_funs": 31,
        "comments_per_loc": 0.19,
        "tokens": 3515,
        "ccn": 113,
        "ccn_per_function": 3.6451612903225805,
        "tokens_per_function": 113.38709677419355,
        "ccn_per_token": 0.032147937411095305,
        "functions_per_token": 0.008819345661450925,
        "loc_per_token": 0.15106685633001424,
        "ccn_per_loc": 0.2128060263653484,
        "functions_per_loc": 0.0583804143126177,
        "tokens_per_loc": 6.619585687382298
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 15,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/GraphModificationListener.java",
        "comments": 67,
        "loc_per_function": 15,
        "blanks_per_loc": 0.53,
        "num_funs": 0,
        "comments_per_loc": 4.47,
        "tokens": 147,
        "ccn": 0,
        "ccn_per_function": 0,
        "tokens_per_function": 147,
        "ccn_per_token": 0.0,
        "functions_per_token": 0.0,
        "loc_per_token": 0.10204081632653061,
        "ccn_per_loc": 0.0,
        "functions_per_loc": 0.0,
        "tokens_per_loc": 9.8
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 207,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PropertySheet.java",
        "comments": 72,
        "loc_per_function": 29.57,
        "blanks_per_loc": 0.09,
        "num_funs": 7,
        "comments_per_loc": 0.35,
        "tokens": 1137,
        "ccn": 26,
        "ccn_per_function": 3.7142857142857144,
        "tokens_per_function": 162.42857142857142,
        "ccn_per_token": 0.022867194371152155,
        "functions_per_token": 0.006156552330694811,
        "loc_per_token": 0.1820580474934037,
        "ccn_per_loc": 0.12560386473429952,
        "functions_per_loc": 0.033816425120772944,
        "tokens_per_loc": 5.492753623188406
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 116,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/SelectionList.java",
        "comments": 88,
        "loc_per_function": 9.67,
        "blanks_per_loc": 0.14,
        "num_funs": 12,
        "comments_per_loc": 0.76,
        "tokens": 564,
        "ccn": 26,
        "ccn_per_function": 2.1666666666666665,
        "tokens_per_function": 47.0,
        "ccn_per_token": 0.04609929078014184,
        "functions_per_token": 0.02127659574468085,
        "loc_per_token": 0.20567375886524822,
        "ccn_per_loc": 0.22413793103448276,
        "functions_per_loc": 0.10344827586206896,
        "tokens_per_loc": 4.862068965517241
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 77,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/RecentFilesQueue.java",
        "comments": 64,
        "loc_per_function": 12.83,
        "blanks_per_loc": 0.13,
        "num_funs": 6,
        "comments_per_loc": 0.83,
        "tokens": 407,
        "ccn": 16,
        "ccn_per_function": 2.6666666666666665,
        "tokens_per_function": 67.83333333333333,
        "ccn_per_token": 0.03931203931203931,
        "functions_per_token": 0.014742014742014743,
        "loc_per_token": 0.1891891891891892,
        "ccn_per_loc": 0.2077922077922078,
        "functions_per_loc": 0.07792207792207792,
        "tokens_per_loc": 5.285714285714286
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 40,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PropertySelector.java",
        "comments": 30,
        "loc_per_function": 10,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.75,
        "tokens": 179,
        "ccn": 8,
        "ccn_per_function": 2.0,
        "tokens_per_function": 44.75,
        "ccn_per_token": 0.0446927374301676,
        "functions_per_token": 0.0223463687150838,
        "loc_per_token": 0.22346368715083798,
        "ccn_per_loc": 0.2,
        "functions_per_loc": 0.1,
        "tokens_per_loc": 4.475
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 168,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/PropertyChangeTracker.java",
        "comments": 82,
        "loc_per_function": 18.67,
        "blanks_per_loc": 0.08,
        "num_funs": 9,
        "comments_per_loc": 0.49,
        "tokens": 842,
        "ccn": 25,
        "ccn_per_function": 2.7777777777777777,
        "tokens_per_function": 93.55555555555556,
        "ccn_per_token": 0.029691211401425176,
        "functions_per_token": 0.010688836104513063,
        "loc_per_token": 0.1995249406175772,
        "ccn_per_loc": 0.1488095238095238,
        "functions_per_loc": 0.05357142857142857,
        "tokens_per_loc": 5.011904761904762
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 36,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/LineStyle.java",
        "comments": 27,
        "loc_per_function": 12,
        "blanks_per_loc": 0.19,
        "num_funs": 3,
        "comments_per_loc": 0.75,
        "tokens": 175,
        "ccn": 6,
        "ccn_per_function": 2.0,
        "tokens_per_function": 58.333333333333336,
        "ccn_per_token": 0.03428571428571429,
        "functions_per_token": 0.017142857142857144,
        "loc_per_token": 0.2057142857142857,
        "ccn_per_loc": 0.16666666666666666,
        "functions_per_loc": 0.08333333333333333,
        "tokens_per_loc": 4.861111111111111
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 241,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/Clipboard.java",
        "comments": 58,
        "loc_per_function": 17.21,
        "blanks_per_loc": 0.13,
        "num_funs": 14,
        "comments_per_loc": 0.24,
        "tokens": 1345,
        "ccn": 61,
        "ccn_per_function": 4.357142857142857,
        "tokens_per_function": 96.07142857142857,
        "ccn_per_token": 0.04535315985130112,
        "functions_per_token": 0.010408921933085501,
        "loc_per_token": 0.17918215613382898,
        "ccn_per_loc": 0.25311203319502074,
        "functions_per_loc": 0.058091286307053944,
        "tokens_per_loc": 5.580912863070539
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 39,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/ExtensionFilter.java",
        "comments": 36,
        "loc_per_function": 9.75,
        "blanks_per_loc": 0.23,
        "num_funs": 4,
        "comments_per_loc": 0.92,
        "tokens": 162,
        "ccn": 6,
        "ccn_per_function": 1.5,
        "tokens_per_function": 40.5,
        "ccn_per_token": 0.037037037037037035,
        "functions_per_token": 0.024691358024691357,
        "loc_per_token": 0.24074074074074073,
        "ccn_per_loc": 0.15384615384615385,
        "functions_per_loc": 0.10256410256410256,
        "tokens_per_loc": 4.153846153846154
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 48,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/SegmentationStyle.java",
        "comments": 53,
        "loc_per_function": 16,
        "blanks_per_loc": 0.21,
        "num_funs": 3,
        "comments_per_loc": 1.1,
        "tokens": 218,
        "ccn": 12,
        "ccn_per_function": 4.0,
        "tokens_per_function": 72.66666666666667,
        "ccn_per_token": 0.05504587155963303,
        "functions_per_token": 0.013761467889908258,
        "loc_per_token": 0.22018348623853212,
        "ccn_per_loc": 0.25,
        "functions_per_loc": 0.0625,
        "tokens_per_loc": 4.541666666666667
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 44,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/WelcomeButtonUI.java",
        "comments": 30,
        "loc_per_function": 14.67,
        "blanks_per_loc": 0.23,
        "num_funs": 3,
        "comments_per_loc": 0.68,
        "tokens": 280,
        "ccn": 4,
        "ccn_per_function": 1.3333333333333333,
        "tokens_per_function": 93.33333333333333,
        "ccn_per_token": 0.014285714285714285,
        "functions_per_token": 0.010714285714285714,
        "loc_per_token": 0.15714285714285714,
        "ccn_per_loc": 0.09090909090909091,
        "functions_per_loc": 0.06818181818181818,
        "tokens_per_loc": 6.363636363636363
    },
    {
        "date": "2017-01-05 Rel 1.0",
        "loc": 645,
        "file_path": "src/ca/mcgill/cs/stg/jetuml/framework/GraphPanel.java",
        "comments": 141,
        "loc_per_function": 14.02,
        "blanks_per_loc": 0.1,
        "num_funs": 46,
        "comments_per_loc": 0.22,
        "tokens": 3697,
        "ccn": 128,
        "ccn_per_function": 2.782608695652174,
        "tokens_per_function": 80.3695652173913,
        "ccn_per_token": 0.03462266702731945,
        "functions_per_token": 0.012442520962942927,
        "loc_per_token": 0.17446578306735191,
        "ccn_per_loc": 0.19844961240310077,
        "functions_per_loc": 0.07131782945736434,
        "tokens_per_loc": 5.731782945736434
    }
]