![]() ![]() Our findings aim to help researchers and apps developers in building performance-bugs detection tools and focusing their verification and validation activities on the most frequent types of performance bugs. #FROZEN BUBBLE LEVEL 739 ANDROID#In particular, we (i) define a taxonomy of the types of performance bugs affecting Android and iOS apps and (ii) study the survivability of performance bugs (i.e., the number of days between the bug introduction and its fixing). In this paper, we present the largest study at date investigating performance bugs in mobile apps. This latter is particularly important considering the limited hardware resources (e.g., memory) mobile apps can exploit. With “quality” here we do not simply refer to the features offered by the app, but also to its non-functional characteristics, such as security, reliability, and performance. This means that the mobile user experience, while tied to many factors (e.g., hardware device, connection speed, etc.), strongly depends on the quality of the apps being used. #FROZEN BUBBLE LEVEL 739 MANUAL#Moreover, we provide a classifier which can drastically reduce manual effort to analyse NFP improving commits.Ī recent research showed that mobile apps represent nowadays 75% of the whole usage of mobile devices. We find that automated software improvement techniques for mobile domain can benefit from addition of SQL query improvement, caching and asset manipulation. Code deletion is the most frequently utilised strategy except for frame rate, where increase in concurrency is the dominant strategy. Memory consumption is sacrificed most often when improving execution time or bandwidth usage, although similar types of changes can improve multiple non-functional properties at once. We found altogether 560 NFP commits out of a total of 74,408 commits analysed. Our results show that although NFP improving commits related to performance are rare, such improvements appear throughout the development lifecycle. We categorised non-functional property (NFP) improving commits related to performance to see how existing automated software improvement techniques can be improved. With that in mind, we mined overall 100 Android repositories to find out how developers improve execution time, memory consumption, bandwidth usage and frame rate of mobile apps. Moreover, it is yet unknown if the same software changes would be as effective. Although automated software improvement techniques exist for traditional software, these are not as prevalent in the mobile domain. An app that is too slow or uses much bandwidth will decrease user satisfaction, and thus can lead to users simply abandoning the app. Nowadays there is an increased pressure on mobile app developers to take non-functional properties into account. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |