Expand description
Advanced memory analysis functionality Memory analysis functionality
This module provides advanced analysis capabilities:
- Enhanced memory analysis
- Circular reference detection
- Unsafe FFI tracking
- Unknown memory region analysis
- Type classification
- Performance metrics
- Quality assurance
- Size estimation
- Dedicated detectors (LeakDetector, UafDetector, etc.)
Re-exports§
pub use circular_reference::CircularReference;pub use circular_reference::CircularReferenceAnalysis;pub use circular_reference::CircularReferenceNode;pub use unsafe_ffi_tracker::UnsafeFFITracker;pub use variable_relationships::build_variable_relationship_graph;pub use variable_relationships::GraphStatistics;pub use variable_relationships::RelationshipType as VarRelationshipType;pub use variable_relationships::SmartPointerInfo as VarSmartPointerInfo;pub use variable_relationships::VariableCategory;pub use variable_relationships::VariableCluster;pub use variable_relationships::VariableNode;pub use variable_relationships::VariableRelationship;pub use variable_relationships::VariableRelationshipGraph;pub use node_id::is_virtual_pointer;pub use node_id::NodeId;pub use node_id::VIRTUAL_PTR_BASE;pub use relationship_cycle_detector::detect_cycles_in_relationships;pub use relationship_cycle_detector::CycleDetectionResult;pub use ownership_graph::Edge;pub use ownership_graph::EdgeKind;pub use ownership_graph::Node;pub use ownership_graph::OwnershipGraph;pub use ownership_graph::OwnershipOp;pub use detectors::Detector;pub use detectors::LeakDetector;pub use detectors::LeakDetectorConfig;pub use detectors::LifecycleDetector;pub use detectors::LifecycleDetectorConfig;pub use detectors::OverflowDetector;pub use detectors::OverflowDetectorConfig;pub use detectors::SafetyDetector;pub use detectors::SafetyDetectorConfig;pub use detectors::UafDetector;pub use detectors::UafDetectorConfig;pub use async_analysis::get_global_async_analyzer;pub use async_analysis::AsyncAnalyzer;pub use async_analysis::AsyncPatternAnalysis;pub use async_analysis::AsyncStatistics;pub use borrow_analysis::get_global_borrow_analyzer;pub use borrow_analysis::BorrowAnalyzer;pub use borrow_analysis::BorrowPatternAnalysis;pub use closure::get_global_closure_analyzer;pub use closure::ClosureAnalysisReport;pub use closure::ClosureAnalyzer;pub use ffi_function_resolver::get_global_ffi_resolver;pub use ffi_function_resolver::initialize_global_ffi_resolver;pub use ffi_function_resolver::FfiFunctionCategory;pub use ffi_function_resolver::FfiFunctionResolver;pub use ffi_function_resolver::FfiRiskLevel;pub use ffi_function_resolver::ResolutionStats;pub use ffi_function_resolver::ResolvedFfiFunction;pub use ffi_function_resolver::ResolverConfig;pub use generic::get_global_generic_analyzer;pub use generic::GenericAnalyzer;pub use generic::GenericStatistics;pub use lifecycle::lifecycle_summary::AllocationLifecycleSummary;pub use lifecycle::lifecycle_summary::ExportMetadata;pub use lifecycle::lifecycle_summary::LifecycleEvent;pub use lifecycle::lifecycle_summary::LifecycleEventSummary;pub use lifecycle::lifecycle_summary::LifecycleExportData;pub use lifecycle::lifecycle_summary::LifecyclePattern;pub use lifecycle::lifecycle_summary::LifecycleSummaryGenerator;pub use lifecycle::lifecycle_summary::SummaryConfig;pub use lifecycle::lifecycle_summary::VariableGroup;pub use lifecycle::ownership_history::BorrowInfo;pub use lifecycle::ownership_history::CloneInfo;pub use lifecycle::ownership_history::OwnershipEvent;pub use lifecycle::ownership_history::OwnershipEventType;pub use lifecycle::ownership_history::OwnershipHistoryRecorder;pub use lifecycle::ownership_history::OwnershipStatistics;pub use lifecycle::ownership_history::OwnershipSummary;pub use lifecycle::ownership_history::RefCountInfo;pub use lifecycle_analysis::get_global_lifecycle_analyzer;pub use lifecycle_analysis::LifecycleAnalysisReport;pub use lifecycle_analysis::LifecycleAnalyzer;pub use memory_passport_tracker::get_global_passport_tracker;pub use memory_passport_tracker::initialize_global_passport_tracker;pub use memory_passport_tracker::LeakDetail;pub use memory_passport_tracker::LeakDetectionResult;pub use memory_passport_tracker::MemoryPassport;pub use memory_passport_tracker::MemoryPassportTracker;pub use memory_passport_tracker::PassportEvent;pub use memory_passport_tracker::PassportEventType;pub use memory_passport_tracker::PassportStatus;pub use memory_passport_tracker::PassportTrackerConfig;pub use memory_passport_tracker::PassportTrackerStats;pub use safety::DynamicViolation;pub use safety::RiskAssessment;pub use safety::RiskFactor;pub use safety::RiskFactorType;pub use safety::SafetyAnalysisConfig;pub use safety::SafetyAnalysisStats;pub use safety::SafetyAnalyzer;pub use safety::UnsafeReport;pub use safety::UnsafeSource;pub use unsafe_ffi_tracker::ComprehensiveSafetyReport;pub use unsafe_inference::count_valid_pointers;pub use unsafe_inference::get_valid_regions;pub use unsafe_inference::is_valid_ptr;pub use unsafe_inference::is_valid_ptr_static;pub use unsafe_inference::InferenceMethod;pub use unsafe_inference::InferenceRecord;pub use unsafe_inference::MemoryRegion;pub use unsafe_inference::MemoryView;pub use unsafe_inference::TypeGuess;pub use unsafe_inference::TypeKind;pub use unsafe_inference::UnsafeInferenceEngine;pub use unsafe_inference::ValidRegions;pub use heap_scanner::HeapScanner;pub use heap_scanner::ScanResult;pub use relation_inference::detect_clones;pub use relation_inference::detect_owner;pub use relation_inference::detect_slice;pub use relation_inference::CloneConfig;pub use relation_inference::GraphBuilderConfig;pub use relation_inference::RangeMap;pub use relation_inference::Relation;pub use relation_inference::RelationEdge;pub use relation_inference::RelationGraph;pub use relation_inference::RelationGraphBuilder;pub use classification::pattern_matcher::PatternMatcher;pub use classification::rule_engine::Rule as ClassificationRule;pub use classification::rule_engine::RuleEngine;pub use classification::type_classifier::TypeCategory;pub use classification::type_classifier::TypeClassifier;pub use estimation::size_estimator::SizeEstimator;pub use estimation::type_classifier::TypeClassifier as EstimationTypeClassifier;pub use metrics::analyzer::Benchmark;pub use metrics::analyzer::PerformanceAnalyzer;pub use metrics::analyzer::PerformanceReport;pub use metrics::collector::Metric;pub use metrics::collector::MetricType;pub use metrics::collector::MetricValue;pub use metrics::collector::MetricsCollector;pub use metrics::reporter::AlertThreshold;pub use metrics::reporter::MetricsReporter;pub use metrics::reporter::ReportFormat;pub use quality::analyzer::AnalysisReport;pub use quality::analyzer::CodeAnalyzer;pub use quality::analyzer::QualityMetric;pub use quality::checker::MemoryLeakChecker;pub use quality::checker::PerformanceChecker;pub use quality::checker::SafetyChecker;pub use quality::validator::QualityValidator;pub use quality::validator::ValidationResult;pub use quality::validator::ValidationRule;
Modules§
- async_
analysis - Async type tracking and analysis
- borrow_
analysis - Borrow checker integration and analysis
- circular_
reference - Circular reference detection for smart pointers
- classification
- closure
- detectors
- Memory Analysis Detectors Module
- estimation
- Intelligent size estimation module
- ffi_
function_ resolver - FFI Function Name Resolution System
- generic
- heap_
scanner - Heap Scanner - Safe heap memory reading for offline analysis.
- lifecycle
- Lifecycle analysis modules
- lifecycle_
analysis - Advanced lifecycle analysis for Rust types
- memory_
passport_ tracker - Memory Passport Tracking System for FFI Boundary Memory Management
- metrics
- Performance monitoring and metrics collection system
- node_id
- Node ID Module
- ownership_
graph - Ownership Graph Engine
- quality
- Code quality assurance and validation system
- relation_
inference - Relation Inference - Memory relationship graph construction.
- relationship_
cycle_ detector - safety
- security
- unknown
- unsafe_
ffi_ tracker - Enhanced memory tracking for unsafe Rust and FFI operations
- unsafe_
inference - Unsafe Type Inference Module v2
- variable_
relationships - Variable Relationship Analysis
Structs§
- Analysis
Manager - Main analysis interface - consolidates all analysis functionality
- Comprehensive
Analysis Report - Comprehensive analysis report
Functions§
- analyze_
concurrency_ safety - Analyze concurrency safety - backward compatibility function
- analyze_
fragmentation - Analyze memory fragmentation - backward compatibility function
- analyze_
system_ libraries - Analyze system library usage - backward compatibility function
- get_
global_ unsafe_ ffi_ tracker - Get global unsafe/FFI tracker - backward compatibility function
- get_
unsafe_ ffi_ stats - Get unsafe/FFI statistics - convenience function
- perform_
comprehensive_ analysis - Perform comprehensive analysis - convenience function