On this page you can experience the DistViewer - Distributed Systems Code Viewer.
You can provide programs that communicate over the network in the boxes below and get control flow graphs and dependency graphs of the system as a whole.
DistViewer uses DSA - a Framework for the Static Analysis of Distributed Systems .
DSA's key insight is to look at a distributed system as a single body, and not as separate programs that exchange messages. By doing so, it can crosscheck information inferred from different network programs.
Another static analysis tool that uses DSA is SIoT - Securing the Internet of Things through Distributed System Analysis .
The goal of SIoT is protect Internet of Things (IoT) systems against buffer overflow attacks.
For more information on what SIoT is and what it can do, see our IPSN 2015 paper.
DSA was implemented on top of LLVM, you can access the source code of DSA and SIoT here.