debugging the performance of con fi gurable systems? RQ2: What is the process that developers follow and the activities that they perform to obtain this information?
debugging the performance of con fi gurable systems? RQ2: What is the process that developers follow and the activities that they perform to obtain this information? Exploratory User Study
20’ 25’ 15’ 40’ 50’ Influencing Options Option Hotspots Cause-Effect Chain Control - Did not use GLIMPS Treatment - Used GLIMPS System: Density Converter
15’ 40’ 50’ Influencing Options Option Hotspots Cause-Effect Chain Control - Did not use GLIMPS Treatment - Used GLIMPS “Within-subject” study System: Density Converter
15’ 40’ 50’ Influencing Options Option Hotspots Cause-Effect Chain Control - Did not use GLIMPS Treatment - Used GLIMPS “Within-subject” study System: Density Converter
15’ 40’ 50’ Influencing Options Option Hotspots Cause-Effect Chain Control - Did not use GLIMPS Treatment - Used GLIMPS “Within-subject” study System: Density Converter
15’ 40’ 50’ Influencing Options Option Hotspots Cause-Effect Chain Control - Did not use GLIMPS Treatment - Used GLIMPS SCALE +86.3 AConverter.compress(…) +67.4 “Within-subject” study System: Density Converter
15’ 40’ 50’ Influencing Options Option Hotspots Cause-Effect Chain Control - Did not use GLIMPS Treatment - Used GLIMPS SCALE +86.3 AConverter.compress(…) +67.4 “Within-subject” study System: Density Converter Information providers support information needs
Influencing Options Option Hotspots Cause-Effect Chain Confirmatory User Study 55’ 60’ Treatment - Used GLIMPS Control - Did not use GLIMPS System: Berkeley DB Between-subject study
Influencing Options Option Hotspots Cause-Effect Chain Confirmatory User Study 55’ 60’ Treatment - Used GLIMPS Control - Did not use GLIMPS System: Berkeley DB Between-subject study
Influencing Options Option Hotspots Cause-Effect Chain Confirmatory User Study 55’ 60’ Treatment - Used GLIMPS Control - Did not use GLIMPS System: Berkeley DB Between-subject study
Influencing Options Option Hotspots Cause-Effect Chain Confirmatory User Study 55’ 60’ Treatment - Used GLIMPS Control - Did not use GLIMPS System: Berkeley DB Between-subject study
Influencing Options Option Hotspots Cause-Effect Chain Confirmatory User Study 55’ 60’ Treatment - Used GLIMPS Control - Did not use GLIMPS System: Berkeley DB Between-subject study
Influencing Options Option Hotspots Cause-Effect Chain Confirmatory User Study 55’ 60’ Treatment - Used GLIMPS Control - Did not use GLIMPS System: Berkeley DB Between-subject study Information providers help developers debug the performance of complex con fi gurable systems
models built independently for smaller regions of code System Performance-In fl uence Model Local Performance-In fl uence Model Region Local Performance-In fl uence Model Local Performance-In fl uence Model Local Performance-In fl uence Model Region Region Region Measure System Decompose Measure Regions Compose 98
Local Performance-In fl uence Model Local Performance-In fl uence Model Local Performance-In fl uence Model Region Region Region Measure System Decompose Measure Regions Compose System 99 Compositionality Performance-in fl uence models can be built by composing models built independently for smaller regions of code
Local Performance-In fl uence Model Local Performance-In fl uence Model Local Performance-In fl uence Model Region Region Region Measure System Decompose Measure Regions Compose System 100 Compositionality Performance-in fl uence models can be built by composing models built independently for smaller regions of code
Local Performance-In fl uence Model Local Performance-In fl uence Model Local Performance-In fl uence Model Region Region Region Measure System Decompose Measure Regions Compose System 101 Compositionality Performance-in fl uence models can be built by composing models built independently for smaller regions of code
Local Performance-In fl uence Model Local Performance-In fl uence Model Local Performance-In fl uence Model Region Region Region Measure System Decompose Measure Regions Compose System 102 Compositionality Performance-in fl uence models can be built by composing models built independently for smaller regions of code
Analysis Regions: Methods 132 Both prototypes ef fi ciently build accurate and interpretable models Dynamic taint analysis scales to larger systems Method-level granularity does not sacri fi ces compression potential
20 Comprex x 200 random con fi gurations & Random Forest 5 10 200 random con fi gurations & Stepwise linear regression 200 400 100 300 x x 60 Con fi gCrusher x 135
Error (MAPE) 0 40 20 Comprex 200 random con fi gurations & Random Forest 5 10 200 random con fi gurations & Stepwise linear regression 200 400 100 300 60 Con fi gCrusher + Interpretable x Not interpretable 136
Error (MAPE) 0 40 20 Comprex 200 random con fi gurations & Random Forest 5 10 200 random con fi gurations & Stepwise linear regression 200 400 100 300 60 Con fi gCrusher + Interpretable x Not interpretable 137 Ef fi ciently build accurate performance- in fl uence models Models are interpretable for debugging purposes
how con fi guration options in fl uence the performance of code-level structures in con fi gurable software systems helps developers to (1) ef fi ciently build accurate and interpretable global and local performance-in fl uence models (2) more easily inspect, trace, understand, and debug con fi guration-related performance issues. 139