Skip to content

Assignment 2

Yulei Sui edited this page Mar 2, 2021 · 33 revisions

Assignment-2 folder layout

$tree Assignment-2
├── Assignment-2.cpp
├── Assignment-2.h
├── CMakeLists.txt
├── Test2.h
└── testcase
    ├── bc
    │   ├── test1.ll
    │   └── test2.ll
    ├── dot
    │   ├── icfg_test1.dot
    │   └── icfg_test2.dot
    └── src
        ├── test1.c
        └── test2.c

1. Get the latest assignment-2 code template

* Before coding, please type cd $HOME/SVF-Teaching and git pull in your terminal to make sure you always have the latest version of the code template before each assignment.

2. Assignment 2 task

  1. Implement DFS methods of class ICFGTraversal in Assignment-2.cpp
  2. Pass the test without any assertion by Test2.h

3. Debug and visualize ICFG

3.1 VSCode Graphviz Interactive Preview extensions

3.2 Open the dot file and graph visualization

  • Open the dot file in /Assignment-2/testcase/dot/icfg_test1.dot which is the ICFG of the program and call out the command palette

  • Enter Graphviz and select `Interactive Preview (beside)

  • You will see the ICFG on the right hand side

Clone this wiki locally