1#![warn(missing_docs)]
15#![warn(clippy::all)]
16#![deny(unsafe_code)]
17
18pub mod ab_testing;
19pub mod active_learning;
20pub mod array_slice;
21pub mod borrow_gen;
22pub mod classifier;
23pub mod classifier_integration;
24pub mod dataflow;
25pub mod error_tracking;
26pub mod hybrid_classifier;
27pub mod inference;
28pub mod lifetime;
29pub mod lifetime_gen;
30pub mod ml_features;
31pub mod model_versioning;
32pub mod retraining_pipeline;
33pub mod struct_lifetime;
34pub mod threshold_tuning;
35pub mod training_data;
36
37pub use ml_features::{
39 default_pattern_library, AllocationKind, ErrorPattern, ErrorSeverity, FeatureExtractor,
40 InferredOwnership, OwnershipDefect, OwnershipErrorKind, OwnershipFeatures,
41 OwnershipFeaturesBuilder, OwnershipPrediction, PatternLibrary, Severity, SuggestedFix,
42};
43
44pub use hybrid_classifier::{
46 ClassificationMethod, HybridClassifier, HybridMetrics, HybridResult, NullModel, OwnershipModel,
47 DEFAULT_CONFIDENCE_THRESHOLD,
48};
49
50pub use ab_testing::{
52 ABExperiment, ABTestRunner, AssignmentStrategy, TestObservation, TestVariant, VariantMetrics,
53};
54
55pub use threshold_tuning::{
57 find_optimal_threshold, SelectionCriteria, ThresholdMetrics, ThresholdTuner, TuningResult,
58 ValidationSample,
59};
60
61pub use model_versioning::{
63 ModelEntry, ModelQualityMetrics, ModelVersion, ModelVersionManager, QualityThresholds,
64 RollbackResult,
65};
66
67pub use active_learning::{
69 ActiveLearner, QueueStats, SampleQueue, SelectionStrategy, UncertainSample,
70 UncertaintyCalculator,
71};
72
73pub use error_tracking::{
75 ErrorTracker, FeatureSuspiciousness, ImprovementSuggestion, InferenceError, PatternStats,
76 SuggestionCategory, SuggestionPriority,
77};
78
79pub use retraining_pipeline::{
81 DataSplit, ModelTrainer, NullTrainer, PipelineExecution, RetrainingConfig, RetrainingPipeline,
82 RetrainingResult, RetrainingSchedule, TrainingMetrics, TrainingSample,
83};
84
85pub use training_data::{
87 CollectionResult, DataSource, DatasetStats, LabeledSample, SyntheticConfig,
88 SyntheticDataGenerator, TrainingDataCollector, TrainingDataset,
89};
90
91pub use classifier::{
93 ClassifierEvaluator, ClassifierPrediction, ClassifierTrainer, EnsembleClassifier,
94 EvaluationMetrics, OwnershipClassifier, RuleBasedClassifier, RuleWeights, TrainingConfig,
95 TrainingResult,
96};
97
98pub use inference::{OwnershipInference, OwnershipKind};
100
101pub use classifier_integration::{
103 classify_function_variables, classify_with_rules, extract_features_for_variable,
104};
105
106#[cfg(test)]
107mod classifier_coverage_tests;
108#[cfg(test)]
109mod lifetime_gen_coverage_tests;
110#[cfg(test)]
111mod ml_features_tests;
112#[cfg(test)]
113mod model_versioning_coverage_tests;
114#[cfg(test)]
115mod ownership_coverage_tests;
116#[cfg(test)]
117#[path = "pattern_library_tests.rs"]
118mod pattern_library_tests;
119#[cfg(test)]
120mod ab_testing_coverage_tests;
121#[cfg(test)]
122mod ml_stmt_coverage_tests;
123#[cfg(test)]
124mod model_versioning_deep_tests;
125#[cfg(test)]
126mod deep_coverage_tests;
127#[cfg(test)]
128mod pipeline_inference_tests;
129#[cfg(test)]
130mod inference_coverage_tests;
131#[cfg(test)]
132mod training_data_coverage_tests;
133#[cfg(test)]
134mod struct_lifetime_coverage_tests;
135#[cfg(test)]
136mod deep_coverage_tests2;