{
  "ml": {
    "v": "4",
    "fs": [
      {
        "id": 0,
        "prob": 0.9342213273048401,
        "class": 0
      }
    ],
    "prob": 0.9342213,
    "class": 0,
    "version": "v16.16",
    "thresholds": [
      0.9815004,
      0.99404883
    ],
    "analyzed_at": "2026-04-30T11:29:20Z"
  },
  "path": "attach_function_spec.rb",
  "raw": {
    "v": "4",
    "fs": [
      {
        "f": "H(F)Md(Pa)",
        "x": 1,
        "id": 0,
        "is": [
          "require",
          "expand_path",
          "join",
          "dirname",
          "windows?",
          "layout",
          "extend",
          "ffi_lib",
          "attach_function",
          "describe",
          "it",
          "new",
          "gettimeofday",
          "pointer",
          "to",
          "expect",
          "be_kind_of",
          "it",
          "new",
          "gettimeofday",
          "pointer",
          "to",
          "expect",
          "be_kind_of",
          "to",
          "expect",
          "be_kind_of",
          "File.expand_path(File.join(File.dirname(__FILE__), \"spec_helper\"))"
        ],
        "ms": {
          "text": {
            "digit_ratio": 0.0,
            "space_count": 143.0,
            "total_lines": 34.0,
            "char_entropy": 4.85,
            "unique_chars": 53.0,
            "import_density": 82.35,
            "string_density": 0.53,
            "avg_line_length": 24.38,
            "max_line_length": 74.0,
            "empty_line_ratio": 0.18,
            "last_line_length": 3.0,
            "most_common_char": "e",
            "whitespace_ratio": 0.21,
            "most_common_ratio": 0.08,
            "identifier_density": 1.06,
            "line_length_stddev": 21.78,
            "dynamic_import_ratio": 0.04,
            "normalized_import_count": 4.8,
            "normalized_string_count": 3.09,
            "max_inline_whitespace_run": 1.0,
            "suspicious_identifier_ratio": 0.05,
            "normalized_unique_identifiers": 3.93
          },
          "imports": {
            "total": 28.0,
            "unique_modules": 18.0,
            "dynamic_imports": 1.0,
            "third_party_count": 28.0,
            "third_party_ratio": 1.0
          },
          "strings": {
            "total": 18.0,
            "avg_length": 16.83,
            "max_length": 45.0,
            "avg_entropy": 3.12,
            "total_bytes": 303.0,
            "entropy_stddev": 0.52
          },
          "comments": {
            "chars": 64.0,
            "lines": 2.0,
            "total": 4.0,
            "to_code_ratio": 0.06,
            "empty_comments": 2.0
          },
          "functions": {},
          "identifiers": {
            "total": 36.0,
            "avg_length": 6.7,
            "max_length": 15.0,
            "min_length": 1.0,
            "avg_entropy": 2.25,
            "reuse_ratio": 0.56,
            "unique_count": 20.0,
            "length_stddev": 3.45,
            "sequential_names": 1.0,
            "single_char_count": 1.0,
            "single_char_ratio": 0.05,
            "all_lowercase_ratio": 0.9,
            "all_uppercase_ratio": 0.05,
            "double_underscore_count": 1.0,
            "underscore_prefix_count": 1.0
          }
        },
        "ss": [
          [
            132,
            "spec_helper"
          ],
          [
            133,
            "spec_helper"
          ],
          [
            220,
            "tv_sec"
          ],
          [
            229,
            "ulong"
          ],
          [
            240,
            "tv_usec"
          ],
          [
            250,
            "ulong"
          ],
          [
            357,
            "gettimeofday"
          ],
          [
            373,
            "pointer"
          ],
          [
            383,
            "pointer"
          ],
          [
            394,
            "int"
          ],
          [
            431,
            "#attach_function"
          ],
          [
            432,
            "#attach_function"
          ],
          [
            460,
            "correctly returns a value for gettimeofday"
          ],
          [
            461,
            "correctly returns a value for gettimeofday"
          ],
          [
            635,
            "correctly populates a struct for gettimeofday"
          ],
          [
            636,
            "correctly populates a struct for gettimeofday"
          ],
          [
            763,
            "tv_sec"
          ],
          [
            811,
            "tv_usec"
          ]
        ],
        "sz": 863,
        "ts": [
          {
            "c": 0.8999999761581421,
            "d": "File has 30 or more lines",
            "e": [
              "text.total_lines = 34.00"
            ],
            "i": "metadata/package/metrics::file-has-30-plus-lines",
            "l": 1
          },
          {
            "a": "T1059",
            "c": 0.800000011920929,
            "d": "Self-reference via __FILE__",
            "e": [
              "__FILE__"
            ],
            "i": "micro-behaviors/fs/read/self::self-file-reference",
            "l": 3
          },
          {
            "c": 0.949999988079071,
            "d": "imports File.expand_path(File.join(File.dirname(__FILE__), \"spec_helper\"))",
            "e": [
              "File.expand_path(File.join(File.dirname(__FILE__), \"spec_helper\"))"
            ],
            "i": "metadata/import/ruby::file/expand_path-file/join-file/dirname-__file__-spec_helper",
            "l": 2
          }
        ],
        "sha": "97ef3f015dbdb22aa471c78e2d67ae34fdb1b94fefd07cf1545bbdbab19f7684",
        "path": "attach_function_spec.rb",
        "type": "ruby"
      }
    ],
    "tv": "f6eaa"
  }
}