Document Type : Original Article
Authors
University of Guilan
Abstract
Performance issues in mobile applications significantly degrade user experience and increase abandonment rates. This study investigates poor development practices in iOS apps through analysis of 193 performance reports from four applications and 56 Stack Overflow discussions, identifying four critical anti-patterns: (1) ignoring memory warnings, (2) main-thread database operations, (3) table updates within loops, and (4) UI access from background threads. Analysis of 427 iOS projects revealed 52% contained at least one such issue, with memory warning neglect being most prevalent (63%), followed by main-thread database calls (34%), while loop-based table updates and improper UI thread access each appeared in 2% of cases. To automate detection, we developed a static analysis tool for Swift codebases. The tool achieved 96% accuracy for memory warnings, 87% for main-thread database operations, and 100% for loop-internal table updates. Detection of background thread UI access proved more challenging (50% accuracy). These results demonstrate both the widespread nature of performance-hindering practices in iOS development and the effectiveness of automated detection for most anti-patterns. The findings provide developers with actionable insights to improve app performance during development, while highlighting areas needing more sophisticated detection approaches. Our work contributes to better understanding and mitigation of performance issues in mobile applications.
Keywords