Expand description
Advanced Analysis Module
This module provides advanced analysis capabilities including:
- Rust-specific call graph analysis with trait dispatch and function pointers
- Design pattern recognition (Observer, Factory, Callback)
- Cross-module dependency tracking
- Multi-pass complexity analysis with attribution
- Diagnostic reporting and insights generation
- I/O and side effect detection for responsibility classification
- Call graph metrics and pattern detection for responsibility analysis
- Purity analysis for function classification and refactoring guidance
- Multi-signal aggregation for high-accuracy responsibility classification
- Type signature-based classification for improved responsibility detection
- Effect-based analysis patterns for testability and composability (Spec 207)
- Data flow analysis for state transition and mutation tracking (Spec 201)
- Analysis workflow state machine with checkpoint/resume support (Spec 202)
Re-exports§
pub use call_graph::AnalysisConfig;pub use call_graph::CrossModuleTracker;pub use call_graph::DeadCodeAnalysis;pub use call_graph::FrameworkPatternDetector;pub use call_graph::FunctionPointerTracker;pub use call_graph::RustCallGraph;pub use call_graph::RustCallGraphBuilder;pub use call_graph::TraitRegistry;pub use context_detection::ContextAnalysis;pub use context_detection::ContextDetector;pub use context_detection::FunctionContext;pub use data_flow::ControlFlowGraph;pub use data_flow::DataFlowAnalysis;pub use data_flow::VarId;pub use file_context::FileContext;pub use file_context::FileContextDetector;pub use file_context::TestFileConfidence;pub use framework_patterns::CustomPattern;pub use framework_patterns::FrameworkPattern as NewFrameworkPattern;pub use framework_patterns::FrameworkPatternRegistry;pub use framework_patterns::FrameworkType;pub use framework_patterns_multi::FrameworkDetector as MultiLangFrameworkDetector;pub use framework_patterns_multi::FrameworkMatch;pub use framework_patterns_multi::Language as FrameworkLanguage;pub use framework_patterns_multi::PatternMatcher as MultiLangPatternMatcher;pub use functional_composition::analyze_composition;pub use functional_composition::analyze_purity;pub use functional_composition::detect_pipelines;pub use functional_composition::score_composition;pub use functional_composition::CompositionMetrics;pub use functional_composition::FunctionalAnalysisConfig;pub use functional_composition::Pipeline;pub use functional_composition::PipelineStage;pub use functional_composition::PurityMetrics;pub use functional_composition::SideEffectKind;pub use functional_composition::TerminalOp;pub use graph_metrics::compute_betweenness_centrality;pub use graph_metrics::compute_clustering_coefficient;pub use graph_metrics::compute_depth_from_entry_points;pub use graph_metrics::CallGraphPattern;pub use graph_metrics::GraphMetrics;pub use graph_metrics::PatternDetector as CallGraphPatternDetector;pub use graph_metrics::ResponsibilityClassification;pub use io_detection::CollectionOp as IoCollectionOp;pub use io_detection::IoDetector;pub use io_detection::IoOperation;pub use io_detection::IoPatternSet;pub use io_detection::IoProfile;pub use io_detection::Language;pub use io_detection::OutputStream;pub use io_detection::QueryType;pub use io_detection::Responsibility;pub use io_detection::SideEffect;pub use module_structure::ComponentCouplingAnalysis;pub use module_structure::ComponentDependencyGraph;pub use module_structure::Difficulty;pub use module_structure::FunctionCounts;pub use module_structure::FunctionGroup;pub use module_structure::ModuleComponent;pub use module_structure::ModuleFacadeInfo;pub use module_structure::ModuleStructure;pub use module_structure::ModuleStructureAnalyzer;pub use module_structure::OrganizationQuality;pub use module_structure::PathDeclaration;pub use module_structure::SplitRecommendation;pub use multi_signal_aggregation::AggregatedClassification;pub use multi_signal_aggregation::AggregationConfig;pub use multi_signal_aggregation::ConflictResolutionStrategy;pub use multi_signal_aggregation::ResponsibilityAggregator;pub use multi_signal_aggregation::ResponsibilityCategory;pub use multi_signal_aggregation::SignalEvidence;pub use multi_signal_aggregation::SignalSet;pub use multi_signal_aggregation::SignalType;pub use multi_signal_aggregation::SignalWeights;pub use patterns::callback::CallbackPatternRecognizer;pub use patterns::factory::FactoryPatternRecognizer;pub use patterns::observer::ObserverPatternRecognizer;pub use patterns::Implementation;pub use patterns::PatternDetector;pub use patterns::PatternInstance;pub use patterns::PatternRecognizer;pub use patterns::PatternType;pub use patterns::UsageSite;pub use purity_analysis::EffortLevel;pub use purity_analysis::PurityAnalysis;pub use purity_analysis::PurityAnalyzer;pub use purity_analysis::PurityLevel;pub use purity_analysis::PurityRefactoringOpportunity;pub use purity_analysis::PurityViolation;pub use purity_analysis::RefactoringType;pub use purity_propagation::PurityCache;pub use purity_propagation::PurityCallGraphAdapter;pub use purity_propagation::PurityPropagator;pub use purity_propagation::PurityReason;pub use purity_propagation::PurityResult;pub use rust_patterns::ImplContext;pub use rust_patterns::RustFunctionContext;pub use rust_patterns::RustPattern;pub use rust_patterns::RustPatternDetector;pub use rust_patterns::RustPatternResult;pub use rust_patterns::RustSpecificClassification;pub use type_flow_tracker::CollectionOp;pub use type_flow_tracker::Location;pub use type_flow_tracker::TypeFlowTracker;pub use type_flow_tracker::TypeId;pub use type_flow_tracker::TypeInfo;pub use type_signatures::extract_rust_signature;pub use type_signatures::CanonicalType;pub use type_signatures::GenericBound;pub use type_signatures::Parameter;pub use type_signatures::TypeBasedClassification;pub use type_signatures::TypeMatcher;pub use type_signatures::TypeNormalizer;pub use type_signatures::TypePattern;pub use type_signatures::TypePatternLibrary;pub use type_signatures::TypeSignature;pub use type_signatures::TypeSignatureAnalyzer;pub use workflow::load_checkpoint;pub use workflow::run_analysis;pub use workflow::save_checkpoint;pub use workflow::AnalysisConfig as WorkflowConfig;pub use workflow::AnalysisEnv;pub use workflow::AnalysisPhase;pub use workflow::AnalysisResults as WorkflowResults;pub use workflow::AnalysisState;pub use workflow::FileSystem;pub use workflow::ProgressReporter;pub use workflow::RealAnalysisEnv;pub use workflow::WorkflowRunner;
Modules§
- attribution
- Complexity attribution analysis for source-level insights.
- call_
graph - Rust call graph analysis with trait dispatch and function pointer tracking.
- context_
detection - Context detection for function and method analysis.
- data_
flow - Data flow analysis for Rust code.
- diagnostics
- Diagnostic reporting for complexity analysis.
- effects
- Effect utilities for analysis modules.
- file_
context - File-level context detection for analysis.
- framework_
patterns - Framework pattern detection for Rust applications.
- framework_
patterns_ multi - Multi-language framework pattern detection.
- function_
visitor - Function body visitor for statement analysis.
- functional_
composition - Functional composition analysis.
- graph_
metrics - Call graph metrics and pattern detection.
- io_
detection - I/O and side effect detection.
- module_
structure - Module structure analysis.
- multi_
pass - Multi-pass complexity analysis engine.
- multi_
pass_ effects - Effect-based multi-pass analysis.
- multi_
signal_ aggregation - Multi-signal responsibility aggregation.
- patterns
- Design pattern recognition.
- purity_
analysis - Purity analysis for function classification.
- purity_
propagation - Cross-function purity propagation.
- rust_
patterns - Rust-specific pattern detection.
- type_
flow_ tracker - Type flow tracking for analysis.
- type_
signatures - Type signature-based classification.
- workflow
- Analysis workflow state machine.