作者
Miguel Velez Cevallos
发表日期
2021/10
机构
Carnegie Mellon University
简介
Most of today’s software systems are configurable. The flexibility to customize these systems, however, comes with the cost of increased complexity. Understanding how configuration options and their interactions affect performance, in terms of execution time, and often directly correlated energy consumption and operational costs, is challenging, due to the large configuration spaces of these systems. For this reason, developers often struggle to debug and maintain their systems when surprising performance behaviors occur.
While there are numerous performance and program debugging techniques that developers could use to debug their systems, there is limited empirical evidence of how useful the techniques are to help developers debug the performance of configurable software systems; the techniques typically solve a specific technical challenge that is usually evaluated in terms of accuracy, not usability. Hence, we could only, at best, speculate which techniques might support developers’ needs to debug unexpected performance behaviors in configurable software systems. In this dissertation, we take a human-centered approach to identify solutions to support developers’ actual needs in the process of debugging the performance of configurable software systems. Specifically, we identify white-box analyses and techniques that can be tailored to provide relevant performance-behavior information for developers to understand how configuration options and their interactions cause performance issues.