Skip to content

CodeMap is a web application that lets you visualise your C or C++ GitHub project through an interactive graph.

Notifications You must be signed in to change notification settings

gurparteeksingh/WebCodeMap

Repository files navigation

What is CodeMap?

CodeMap is a web application that lets you visualise your C or C++ GitHub project through an interactive graph. You only need to paste the url for your project and CodeMap does everything else for you!

Video Demonstration: Click on the image CodeMap Demonstartion

Example Code Map

Example 1:

Example 2:

Guides

Install Guide User Guide
Install Guide User Guide

Install-Guide

Step 1: SVF

i. Install SVF Tool

Follow instructions on https://github.com/SVF-tools/SVF/wiki/Setup-Guide-(CMake)

Once SVF has been installed, complete the following steps.

Step 2: WLLVM

i. Clone WLLVM GitHub Repository

git clone https://github.com/travitch/whole-program-llvm

ii. Install python and pip

apt-get update
apt-get install -y python
apt-get install -y python-pip
pip install --upgrade pip

iii. Install CMake 3.10

wget http://www.cmake.org/files/v3.10/cmake-3.10.1.tar.gz 
tar -xvzf cmake-3.10.1.tar.gz 
cd cmake-3.10.1/ 
./configure 
make

For more detalis to install install CMake 3.10 Please refer to: https://www.claudiokuenzler.com/blog/755/install-upgrade-cmake-3.10.1-ubuntu-14.04-trusty-alternatives#.XDgtJs8zbox

iv. Install WLLVM

cd whole-program-llvm/
pip install -e .

Refer to https://github.com/travitch/whole-program-llvm for more information.

Step 3: 3D Force Graph

i. Clone 3D Force Graph GitHub Repository

git clone https://github.com/vasturiano/3d-force-graph
More Instructions Required.

Refer to https://github.com/vasturiano/3d-force-graph for more information.

Step 4: CodeMap Files

i. Clone CodeMap GitHub Repository

git clone https://github.com/gpteek/webcodemap

Step 5: Change Paths

i. Make the following changes in the file main.py

a. Edit the following paths to the respective locations on your computer

CodeMapRepoLoaction = [Change to location where you cloned this repository]
  i.e. "/Users/gs/Documents/WebCodeMap"
LLVMfolder = [Change to location where you installed LLVM]
  i.e. "/Users/gs/Documents/Capstone/SVF"
SVFfolderlocation = [Change to location where you installed SVF]
  i.e. "/Users/gs/Documents/Capstone/SVF/SVF"

ii. Make the following changes in the file mapGen.py

CodeMapRepoLoaction = [Change to location where you cloned this repository]
  i.e. "/Users/gs/Documents/WebCodeMap"
SVFfolderlocation = [Change to location where you installed SVF]
  i.e. "/Users/gs/Documents/Capstone/SVF/SVF"

User-Guide

i. Complete all the installation steps using Installation Guide

ii. Use terminal to change directory to this repository folder and run main.py using python

python3 main.py

iii. Paste a C or C++ Github Repository Project Link on the webserver

iv. Click "Get Graph" to view your generated graph

Contributors

Gurparteek Singh, Vishal Uniyal and Yulei Sui (Project Supervisor)

About

CodeMap is a web application that lets you visualise your C or C++ GitHub project through an interactive graph.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •