An Exploratory Study on the Occurrence of Self-Admitted Technical Debt in Android Apps

03/03/2023
by   Gregory Wilder II, et al.
0

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.

READ FULL TEXT
research
03/10/2022

Refactoring Debt: Myth or Reality? An Exploratory Study on the Relationship Between Technical Debt and Refactoring

To meet project timelines or budget constraints, developers intentionall...
research
02/13/2018

Automated Reporting of GUI Design Violations for Mobile Apps

The inception of a mobile app often takes form of a mock-up of the Graph...
research
04/14/2022

Recommending Code Improvements Based on Stack Overflow Answer Edits

Background: Sub-optimal code is prevalent in software systems. Developer...
research
10/14/2020

Android Code Smells: From Introduction to Refactoring

Object-oriented code smells are well-known concepts in software engineer...
research
10/20/2018

Empirically Assessing Opportunities for Prefetching and Caching in Mobile Apps

Network latency in mobile software has a large impact on user experience...
research
02/07/2019

To the Attention of Mobile Software Developers: Guess What, Test your App!

Software testing is an important phase in the software development life-...
research
03/01/2020

Unblind Your Apps: Predicting Natural-Language Labels for Mobile GUI Components by Deep Learning

According to the World Health Organization(WHO), it is estimated that ap...

Please sign up or login with your details

Forgot password? Click here to reset