90 likes | 169 Vues
Understand build processes using a visual presentation to extract and analyze build time facts more effectively. The BTV Toolkit offers components like a build time fact extractor and GUI front-end. Compare BTVs for different systems to enhance software architecture. Learn more about this innovative approach from Michael Godfrey and Xinyi Dong of the Software Architecture Group at the University of Waterloo.
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