Configuration Management

소스코드 시각화 (Call graph)

알로그 2018. 7. 1. 10:50
반응형

소스코드 시각화

1. Why?

 - 소스코드 Call-graph와 복잡도 분석 및 시각화 도모

 - 소스코드 변경시 HLD/SRS 문서 업데이트

 

 

 

 

 

 

2. Call graph

 2.1 Install Tools

  Egypt (Egypt is a very lightweight approach that only requires one to build to software with the -fdump-rtl-expand GCC option set.

  $ perl Makefile.PL
  $ make
  $ make install

 

 Graphviz (Graphviz is open source graph visualization software)

 $ sudo apt-get install graphviz

 

 

 

 2.2 Rebuild the code with flag

  $ make clean
  $ make CFLAGS=-fdump-ftl-expand

 

 : each .c in project will generate a corresponding .expand

 : Egypt use these .expand files to generate .dot file

 : Graphbiz use .dot file to generate call graph

 

 - Generate SVG files

for file in `find . -name *.expand`; do
    egypt $file --include-external | dot -Grankdir=LR -Tsvg -o $(file/%.c*).svg
done

 

반응형

'Configuration Management' 카테고리의 다른 글

새로 생성한 파일까지 git diff로 patch 생성  (0) 2020.11.07
Git (브랜치, 태그)  (0) 2020.11.07
Git (설치, 기본 명령어)  (0) 2020.11.07
Git (이론)  (0) 2020.11.07
코드 품질 분석기  (0) 2018.07.01