This repository contains a distributed Call-Graph analysis for C# built on top of The .NET Compiler Platform ("Roslyn") and Orleans - Distributed Virtual Actor Model. The analysis is designed to scale with the size of the input and can be deployed on Microsoft Azure: Cloud Computing Platform & Services. The reliance on a cloud cluster provides a degree of elasticity for CPU, memory, and storage resources.
For more detailed information take a look to the following documents:
- Toward Full Elasticity in Distributed Static Analysis: The Case of Callgraph Analysis [Paper] [PDF]
- Technical Report [PDF].
The synthetic benchmarks are located inside SyntheticBenchmarks folder. It contains automatically generated projects with 100 - 1,000 - 10,000 - 100,000 and 1,000,000 methods.
We have evaluated our analysis with the following projects taken directly from GitHub.
-
Repository: https://github.com/ShareX/ShareX.git
Branch: master
Commit: 0697738ec89363f092a49b1c6021dc8d6324ee1d -
Repository: https://github.com/icsharpcode/ILSpy.git
Branch: master
Commit: 2726336b3a56d343457b453d9be76b793ea2ebc0 -
Repository: https://github.com/Azure/azure-powershell.git
Branch: dev
Commit: 4485b9b42df290edc19351d134b92e75abb04329
Open Solution.sln and build with Visual Studio. Using Visual Studio 2017 or above is recommended.
Install Visual Studio 2017 with the following workloads:
- ASP.NET and web development
- Azure development