public void SuspicionLevelsTest(double mean, double sigma,
                                 double faintSuspicionCoefficient, double strongSuspicionCoefficient,
                                 double faintSuspicionExpected, double strongSuspicionExpected)
 {
     var(faintSuspicion, strongSuspicion)
         = StatisticsParametersFinder.GetSuspicionLevels(mean, sigma, faintSuspicionCoefficient, strongSuspicionCoefficient);
     Assert.AreEqual(faintSuspicionExpected, faintSuspicion, 1e-4);
     Assert.AreEqual(strongSuspicionExpected, strongSuspicion, 1e-4);
 }
Esempio n. 2
0
        private (double automaticFaintSuspicion, double automaticStrongSuspicion) GetAutomaticSuspicionLevels(TaskStatisticsParameters taskStatisticsParameters)
        {
            var faintSuspicionCoefficient  = configuration.AntiPlagiarism.StatisticsAnalyzing.FaintSuspicionCoefficient;
            var strongSuspicionCoefficient = configuration.AntiPlagiarism.StatisticsAnalyzing.StrongSuspicionCoefficient;
            var minFaintSuspicionLevel     = configuration.AntiPlagiarism.StatisticsAnalyzing.MinFaintSuspicionLevel;
            var minStrongSuspicionLevel    = configuration.AntiPlagiarism.StatisticsAnalyzing.MinStrongSuspicionLevel;
            var maxFaintSuspicionLevel     = configuration.AntiPlagiarism.StatisticsAnalyzing.MaxFaintSuspicionLevel;
            var maxStrongSuspicionLevel    = configuration.AntiPlagiarism.StatisticsAnalyzing.MaxStrongSuspicionLevel;

            var(faintSuspicion, strongSuspicion)
                = StatisticsParametersFinder.GetSuspicionLevels(taskStatisticsParameters.Mean, taskStatisticsParameters.Deviation, faintSuspicionCoefficient, strongSuspicionCoefficient);

            var automaticFaintSuspicion  = GetSuspicionLevelWithThreshold(faintSuspicion, minFaintSuspicionLevel, maxFaintSuspicionLevel);
            var automaticStrongSuspicion = GetSuspicionLevelWithThreshold(strongSuspicion, minStrongSuspicionLevel, maxStrongSuspicionLevel);

            return(automaticFaintSuspicion, automaticStrongSuspicion);
        }
Esempio n. 3
0
 public ApiController(
     ISubmissionsRepo submissionsRepo, ISnippetsRepo snippetsRepo, ITasksRepo tasksRepo,
     StatisticsParametersFinder statisticsParametersFinder,
     PlagiarismDetector plagiarismDetector,
     CodeUnitsExtractor codeUnitsExtractor,
     ILogger logger,
     IOptions <AntiPlagiarismConfiguration> configuration)
     : base(logger)
 {
     this.submissionsRepo            = submissionsRepo;
     this.snippetsRepo               = snippetsRepo;
     this.tasksRepo                  = tasksRepo;
     this.statisticsParametersFinder = statisticsParametersFinder;
     this.plagiarismDetector         = plagiarismDetector;
     this.codeUnitsExtractor         = codeUnitsExtractor;
     this.configuration              = configuration.Value;
 }
Esempio n. 4
0
 public ApiController(
     AntiPlagiarismDb db,
     ISubmissionsRepo submissionsRepo, ISnippetsRepo snippetsRepo, ITasksRepo tasksRepo, IClientsRepo clientsRepo,
     StatisticsParametersFinder statisticsParametersFinder,
     PlagiarismDetector plagiarismDetector,
     CodeUnitsExtractor codeUnitsExtractor,
     SubmissionSnippetsExtractor submissionSnippetsExtractor,
     ILogger logger,
     IServiceScopeFactory serviceScopeFactory,
     IOptions <AntiPlagiarismConfiguration> configuration)
     : base(logger, clientsRepo, db)
 {
     this.submissionsRepo             = submissionsRepo;
     this.snippetsRepo                = snippetsRepo;
     this.tasksRepo                   = tasksRepo;
     this.statisticsParametersFinder  = statisticsParametersFinder;
     this.plagiarismDetector          = plagiarismDetector;
     this.codeUnitsExtractor          = codeUnitsExtractor;
     this.submissionSnippetsExtractor = submissionSnippetsExtractor;
     this.serviceScopeFactory         = serviceScopeFactory;
     this.configuration               = configuration.Value;
 }
Esempio n. 5
0
 public void TestGetTauCoefficient()
 {
     Assert.AreEqual(1.7984, StatisticsParametersFinder.GetTauCoefficient(10), 1e-6);
     Assert.AreEqual(1.928, StatisticsParametersFinder.GetTauCoefficient(45), 1e-3);
     Assert.AreEqual(1.9459, StatisticsParametersFinder.GetTauCoefficient(100), 1e-6);
 }