Skip to main content

Module analysis

Module analysis 

Source
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§

AnalysisManager
Main analysis interface - consolidates all analysis functionality
ComprehensiveAnalysisReport
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