我们使用以下6个分类标准对本文的研究选题进行分析:
1. 调试方法:
- 绝对 vs. 关系:
- 绝对: 传统技术根据绝对阈值(例如,执行时间超过限制)来识别异常。这难以解决相对性能变化和工作负载特定问题。
- 关系: 新颖的“关系调试”专注于细粒度运行时事件之间的关系。这可以捕捉更细微的性能变化并识别因果关系。
- 静态 vs. 动态:
- 静态: 在不实际运行程序的情况下分析代码。用于识别潜在问题或预测性能特征,但可能无法准确捕捉运行时行为。
- 动态: 在程序执行期间分析程序。提供更真实的性能视图,但计算资源成本可能很高。
- 侵入式 vs. 非侵入式:
- 侵入式: 修改程序以进行检测或收集数据,可能会影响性能或引入偏差。允许进行更深入的分析,但会引发对代码兼容性和开销的担忧。
- 非侵入式: 在不修改程序的情况下分析程序。破坏性较小,但收集的数据或控制级别可能有限。
2. 问题类型: