Technical debt describes situations where developers write less-than-optimal code to meet project milestones. However, this debt accumulation often results in future developer effort to live with or fix these quality issues. To better manage this debt, developers may document their sub-optimal code as comments in the code (i.e., self-admitted technical debt or SATD). While prior research has investigated the occurrence and characteristics of SATD, this research has primarily focused on non-mobile systems. With millions of mobile applications (apps) in multiple genres available for end-users, there is a lack of research on sub-optimal code developers intentionally implement in mobile apps. In this study, we examine the occurrence and characteristics of SATD in 15,614 open-source Android apps. Our findings show that even though such apps contain occurrences of SATD, the volume per app (a median of 4) is lower than in non-mobile systems, with most debt categorized as Code Debt. Additionally, we identify typical elements in an app that are prone to intentional sub-optimal implementations. We envision our findings supporting researchers and tool vendors with building tools and techniques to support app developers with app maintenance.
翻译:技术债务描述的是开发商为达到项目里程碑而写出低于最佳代码的情况。然而,这种债务积累往往导致未来开发商努力应对或解决这些质量问题。为了更好地管理这一债务,开发商可以将亚最佳代码记录为代码中的评论(即自我承认的技术债务或SATD )。虽然先前的研究已经调查了SATD的发生和特点,但这项研究主要侧重于非移动系统。由于为终端用户提供的数以百万计的多种类型移动应用程序(应用程序),因此缺乏关于亚最佳代码开发商有意在移动应用程序中实施的研究。在这项研究中,我们研究了SATD在15,614个开源和机器人应用程序中的发生情况和特点。我们的研究结果表明,即使这种应用程序包含SATD的发生和特性,但每个应用程序(4的中位数)的容量也低于非移动系统,大多数债务归类为代码债务。此外,我们确定了一个易于有意实施亚最佳应用程序的典型要素。我们设想了支持研究人员和工具销售商的研究结果,以建立工具和技术开发商为应用程序提供支持。</s>