1 / 14

Applications of Build Time View

Applications of Build Time View. Xinyi Dong, Michael Godfrey Software Architecture Group University of Waterloo. BTV and BTV Toolkit. BTV Build-time architecture view, which captures the structural and behavioral properties that are apparent only at system build time. BTV Toolkit

olesia
Download Presentation

Applications of Build Time View

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. Applications of Build Time View Xinyi Dong, Michael Godfrey Software Architecture Group University of Waterloo

  2. BTV and BTV Toolkit • BTV • Build-time architecture view, which captures the structural and behavioral properties that are apparent only at system build time. • BTV Toolkit • A toolkit to extract and visualize BTV.

  3. An Example of BTV goal target depend-on invoke directory

  4. Applications of BTV • Detecting build-time variation points • Studying system changes

  5. Detecting Build-time Variation Points • Background • Software variants • Variation points • A variation point is the location in a software asset where the variation will occur.

  6. Detecting Build-time Variation Points • Knowledge of variation points can help us understand and maintain software system. • Variation points are not represented explicitly. • Open-source systems have many build-time variation points.

  7. Detecting Build-time Variation Points • Our approach • Compare BTVs of different instantiations of variants • Case study • Linux file system

  8. Detecting Build-time Variation Points sub_dirs: dummy $(subdir-list)

  9. Detecting Build-time Variation Points modules: $(ALL_MOBJS) dummy \ $(patsubst %,_modsubdir_%,$(MOD_DIRS))

  10. Studying Software Changes • Most BTV targets represent files. • Most BTV changes are caused by changes of software systems. • Our approach • Compare the BTVs of adjacent versions • Case study • PostgreSQL

  11. NA targets NB targets Version A Version B N targets N Similarity(A, B) = (NA + NB) / 2 Studying Software Changes

  12. Studying Software Changes Similarity version

  13. Studying Software Changes # of make processes # of Changed make processes # of Added/Rmd make processes version Changes in user’s frontend # of make processes # of Changed make processes # of Added/Rmd make processes version Changes in backend server

  14. Conclusion • BTV is a file-level architecture view. • Our approach of using BTV in both applications is • Lightweight • Flexible • At coarse level

More Related