private static async Task <ISet <MethodDescriptor> > RunAnalysisFromSourceAsync(int machines, string source)
        {
            var analyzer       = SolutionAnalyzer.CreateFromSource(GrainClient.Instance, source);
            var analysisClient = new AnalysisClient(analyzer, machines);
            var callgraph      = await analysisClient.Analyze();

            var reachableMethods = callgraph.GetReachableMethods();

            return(await Task.FromResult(reachableMethods));
        }
Exemplo n.º 2
0
        public static void AnalyzeExample(string source, RunChecks checker, AnalysisStrategyKind strategy = AnalysisStrategyKind.NONE)
        {
            Environment.SetEnvironmentVariable("MyIPAddr", "127.0.0.1");
            //var solution = ReachingTypeAnalysis.Utils.CreateSolution(source);
            //var solAnalyzer = new SolutionAnalyzer(solution);
            var solAnalyzer = SolutionAnalyzer.CreateFromSource(GrainClient, source, AnalysisRootKind.MainMethods);
            var callgraph   = solAnalyzer.Analyze(strategy);

            if (strategy == AnalysisStrategyKind.ONDEMAND_ORLEANS)
            {
                var myStatsGrain = StatsHelper.GetStatGrain(GrainClient);
                myStatsGrain.ResetStats().Wait();
            }

            checker(solAnalyzer, callgraph);
        }