1 / 9

Build Time View Extraction and Visualization

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.

tad-higgins
Download Presentation

Build Time View Extraction and Visualization

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Build Time ViewExtraction and Visualization Michael Godfrey, Xinyi Dong Software Architecture Group University of Waterloo

  2. 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.

  3. directory goals Targets/files depend on call sub-make Why Build Time View (Cont.) 153 makefiles 77 make processes

  4. BTV Toolkit • Goal • Use visual presentation for understanding of build process • Components • Build time fact extractor • GUI front-end • Analyzer

  5. Build-time fact extractor Products Dependencies Environment Commands … GUI Front-end CFM / BM Analyzer BTV Database BTV Toolkit Architecture

  6. (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:

  7. Comparison between BTVs • Many systems have different variants. • (e.g. for different OS and HW platform) • System evolves, so does the build process.

  8. Sample 2 – Comparing BTVs sunos linux both

  9. Future work • Enhancement of toolkit • More case studies

More Related