90 likes | 167 Views
Build Time View Extraction and Visualization. Michael Godfrey, Xinyi Dong Software Architecture Group University of Waterloo. Why Build Time View. Current way to understand build process Read system description files ( e.g. makefiles) They only have static information.
E N D
Build Time ViewExtraction and Visualization Michael Godfrey, Xinyi Dong Software Architecture Group University of Waterloo
Why Build Time View • Current way to understand build process • Read system description files (e.g. makefiles) • They only have static information. • Each file contains only a subset of the build. • Command scripts are hard to understand. • Read bill-of-materials (BOMs) • All BOMs are in text format.
directory goals Targets/files depend on call sub-make Why Build Time View (Cont.) 153 makefiles 77 make processes
BTV Toolkit • Goal • Use visual presentation for understanding of build process • Components • Build time fact extractor • GUI front-end • Analyzer
Build-time fact extractor Products Dependencies Environment Commands … GUI Front-end CFM / BM Analyzer BTV Database BTV Toolkit Architecture
(CC, “stage2/xgcc –Bstage2/ …”) (STAGE_PREFIX, “stage2/”) (LANGUAGES, “c gcoy c++ f77 java objc”) … (CC, “stage1/xgcc –Bstage1/…”) (STAGE_PREFIX, “stage1/”) (LANGUAGES, “c gcoy c++ f77 java objc”) … (CC, “gcc”) (LANGUAGES, “c”) … Sample 1:
Comparison between BTVs • Many systems have different variants. • (e.g. for different OS and HW platform) • System evolves, so does the build process.
Sample 2 – Comparing BTVs sunos linux both
Future work • Enhancement of toolkit • More case studies