Aspects of frameworks, such as inversion of control and the structure of framework applications, require developers to adjust their debugging strategies as compared to debugging sequential programs. However, the benefits and challenges of framework debugging are not fully understood, and gaining this knowledge could provide guidance in debugging strategies and framework tool design. To gain insight into the process developers use to fix problems in framework applications, we performed two human studies investigating how developers fix applications that use a framework API incorrectly. These studies focused on the Android Fragment class and the ROS framework. We analyzed the results of the studies using a mixed-methods approach, consisting of techniques from grounded theory, qualitative content analysis, and case studies. From our analysis, we produced a theory of the benefits and challenges of framework debugging. This theory states that developers find inversion of control challenging when debugging but find the structure of framework applications helpful. This theory could be used to guide strategies for debugging framework applications and framework tool designs.
翻译:框架的方方面面,如控制倒转和框架应用程序的结构,要求开发者调整其调试战略,而不是调试顺序程序。然而,框架调试的好处和挑战并没有得到完全理解,而获得这种知识可以为调试战略和框架工具设计提供指导。为了深入了解程序开发者用来解决框架应用程序中的问题,我们进行了两项人类研究,调查开发者如何用框架API错误地修补应用程序。这些研究侧重于Android分解等级和ROS框架。我们利用混合方法方法方法分析了研究结果,包括基于理论、定性内容分析和案例研究的技术。我们从分析中得出了框架调试的好处和挑战理论。这一理论指出,开发者在调试时发现对控制有挑战,但发现框架应用程序的结构有帮助。这一理论可用于指导调试框架应用程序和框架工具设计的战略。