Module: Necropsy

Defined in:
lib/necropsy.rb,
lib/necropsy/cli.rb,
lib/necropsy/clock.rb,
lib/necropsy/models.rb,
lib/necropsy/report.rb,
lib/necropsy/runner.rb,
lib/necropsy/project.rb,
lib/necropsy/version.rb,
lib/necropsy/analyzer.rb,
lib/necropsy/reporter.rb,
lib/necropsy/load_graph.rb,
lib/necropsy/type_facts.rb,
lib/necropsy/ast_scanner.rb,
lib/necropsy/diagnostics.rb,
lib/necropsy/world_policy.rb,
lib/necropsy/configuration.rb,
lib/necropsy/embedded_ruby.rb,
lib/necropsy/guardrail/diff.rb,
lib/necropsy/bench/evaluator.rb,
lib/necropsy/bench/claim_gate.rb,
lib/necropsy/cache/scan_cache.rb,
lib/necropsy/convention_rules.rb,
lib/necropsy/flow_interpreter.rb,
lib/necropsy/graph/call_graph.rb,
lib/necropsy/graph_self_check.rb,
lib/necropsy/runtime_feedback.rb,
lib/necropsy/semantics_matrix.rb,
lib/necropsy/why_not_renderer.rb,
lib/necropsy/bench/seed_runner.rb,
lib/necropsy/confidence/scorer.rb,
lib/necropsy/entry_points/test.rb,
lib/necropsy/reference_barrier.rb,
lib/necropsy/bench/review_queue.rb,
lib/necropsy/call_site_identity.rb,
lib/necropsy/entry_points/plain.rb,
lib/necropsy/entry_points/rails.rb,
lib/necropsy/guardrail/baseline.rb,
lib/necropsy/bench/finding_facts.rb,
lib/necropsy/bench/release_audit.rb,
lib/necropsy/definition_identity.rb,
lib/necropsy/reachability/engine.rb,
lib/necropsy/why_not_explanation.rb,
lib/necropsy/analyzers/static/cha.rb,
lib/necropsy/analyzers/static/rta.rb,
lib/necropsy/bench/precision_gate.rb,
lib/necropsy/graph/evidence_store.rb,
lib/necropsy/guardrail/quarantine.rb,
lib/necropsy/performance_profiler.rb,
lib/necropsy/ast_scanner/traversal.rb,
lib/necropsy/bench/candidate_union.rb,
lib/necropsy/bounded_canonicalizer.rb,
lib/necropsy/ast_scanner/dsl_macros.rb,
lib/necropsy/ast_scanner/references.rb,
lib/necropsy/graph/blocker_matching.rb,
lib/necropsy/graph/definition_index.rb,
lib/necropsy/graph/resolution_store.rb,
lib/necropsy/bench/report_normalizer.rb,
lib/necropsy/ast_scanner/call_recording.rb,
lib/necropsy/ast_scanner/ruby_semantics.rb,
lib/necropsy/ast_scanner/value_definitions.rb,
lib/necropsy/bench/safety_mutation_harness.rb,
lib/necropsy/ast_scanner/call_site_creation.rb,
lib/necropsy/ast_scanner/method_definitions.rb,
lib/necropsy/analyzers/legacy_result_adapter.rb,
lib/necropsy/ast_scanner/definition_creation.rb,
lib/necropsy/graph/dynamic_evidence_tracking.rb,
lib/necropsy/analyzers/static/name_resolution.rb,
lib/necropsy/bench/release_audit/git_snapshot.rb,
lib/necropsy/analyzers/dynamic/redis_transport.rb,
lib/necropsy/bench/release_audit/run_provenance.rb,
lib/necropsy/analyzers/dynamic/coverage_importer.rb,
lib/necropsy/analyzers/dynamic/runtime_reference.rb,
lib/necropsy/bench/release_audit/artifact_writer.rb,
lib/necropsy/analyzers/dynamic/coverage_collector.rb,
lib/necropsy/analyzers/dynamic/coverband_importer.rb,
lib/necropsy/analyzers/dynamic/observation_policy.rb,
lib/necropsy/analyzers/dynamic/redis_input_limits.rb,
lib/necropsy/bench/release_audit/config_validator.rb,
lib/necropsy/bench/release_audit/performance_gate.rb,
lib/necropsy/definition_identity/canonical_digest.rb,
lib/necropsy/analyzers/dynamic/redis_nonblocking_io.rb,
lib/necropsy/analyzers/dynamic/redis_payload_loader.rb,
lib/necropsy/analyzers/dynamic/trace_point_importer.rb,
lib/necropsy/bench/release_audit/adversarial_runner.rb,
lib/necropsy/analyzers/dynamic/coverband_payload_set.rb,
lib/necropsy/analyzers/dynamic/trace_point_collector.rb

Defined Under Namespace

Modules: Analyzers, Bench, BlockerMatching, Cache, CallSiteIdentity, Confidence, DefinitionIdentity, DynamicEvidenceTracking, EmbeddedRuby, EntryPoints, EvidenceStore, Guardrail, Reachability, ResolutionStore, TypeProvider Classes: AliveEvidence, AnalysisHealth, Analyzer, AnalyzerProfile, AnalyzerResult, AstScanner, Blocker, BoundedCanonicalizer, CLI, CallGraph, CallSite, ClassInfo, Clock, Configuration, ConventionRules, DefinitionIndex, Diagnostics, Edge, EdgeEvidence, EdgeRelation, Error, Evidence, Finding, FlowInterpreter, FlowResult, GraphSelfCheck, LoadGraph, MethodLookup, Node, PerformanceProfiler, Project, ReferenceBarrier, RejectedTarget, Report, Reporter, Resolution, ResolutionRecord, Root, Runner, RuntimeFeedback, ScanResult, ScoreComponent, SemanticsMatrix, SourceError, TypeFact, UnknownScope, ValueFact, WhyNotExplanation, WhyNotRenderer, WorldPolicy

Constant Summary collapse

CONFIDENCE_LEVELS =
{
  low: 0,
  medium: 1,
  high: 2,
  certain: 3
}.freeze
EntryPoint =
Root
VALUE_FACT_KINDS =
%i[
  class_object instance_types symbol_set string_set callable_set container nil boolean unknown
].freeze
VERSION =
'0.3.0'
TYPE_FACT_TRUST_LEVELS =
%i[authoritative hint conflicting].freeze

Class Method Summary collapse

Class Method Details

.analyze(root: '.', config_path: nil, analyzers: nil, ignored_reference_paths: [], profile: false, as_of: nil) ⇒ Object



66
67
68
69
70
71
72
73
74
# File 'lib/necropsy.rb', line 66

def self.analyze(root: '.', config_path: nil, analyzers: nil, ignored_reference_paths: [], profile: false, as_of: nil)
  Runner.new(
    root: root,
    config_path: config_path,
    analyzers: analyzers,
    ignored_reference_paths: ignored_reference_paths,
    as_of: as_of
  ).analyze(profile: profile)
end

.default_analyzersObject



76
77
78
79
80
81
82
# File 'lib/necropsy.rb', line 76

def self.default_analyzers
  [
    Analyzers::Static::NameResolution.new,
    Analyzers::Static::CHA.new,
    Analyzers::Static::RTA.new
  ]
end