An Empirical Study of the Performance ...
Document type :
Communication dans un congrès avec actes
Title :
An Empirical Study of the Performance Impacts of Android Code Smells
Author(s) :
Hecht, Geoffrey [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Laboratory for Research on Technology for ECommerce [LATECE Laboratory - UQAM Montreal]
Département d'informatique [Montréal]
Moha, Naouel [Auteur]
Laboratory for Research on Technology for ECommerce [LATECE Laboratory - UQAM Montreal]
Département d'informatique [Montréal]
Rouvoy, Romain [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Laboratory for Research on Technology for ECommerce [LATECE Laboratory - UQAM Montreal]
Département d'informatique [Montréal]
Moha, Naouel [Auteur]
Laboratory for Research on Technology for ECommerce [LATECE Laboratory - UQAM Montreal]
Département d'informatique [Montréal]
Rouvoy, Romain [Auteur]
Self-adaptation for distributed services and large software systems [SPIRALS]
Université de Lille, Sciences et Technologies
Scientific editor(s) :
Lori Flynn
Paola Inverardi
Paola Inverardi
Conference title :
IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft'16)
City :
Austin, Texas
Country :
Etats-Unis d'Amérique
Start date of the conference :
2016-05-16
Journal title :
Proceedings of the 3rd IEEE/ACM International Conference on Mobile Software Engineering and Systems
Publisher :
IEEE
Publication date :
2016-05-16
English keyword(s) :
Android
Code smells
Metrics Mobile computing Performance
Code smells
Metrics Mobile computing Performance
HAL domain(s) :
Informatique [cs]/Génie logiciel [cs.SE]
Informatique [cs]/Informatique ubiquitaire
Informatique [cs]/Informatique mobile
Informatique [cs]/Informatique ubiquitaire
Informatique [cs]/Informatique mobile
English abstract : [en]
Android code smells are bad implementation practices withinAndroid applications (or apps) that may lead to poor software quality, in particular in terms of performance. Yet, performance is a main software quality concern ...
Show more >Android code smells are bad implementation practices withinAndroid applications (or apps) that may lead to poor software quality, in particular in terms of performance. Yet, performance is a main software quality concern in the development of mobile apps. Correcting Android code smells is thus an important activity to increase the performance of mobile apps and to provide the best experience to mobile end-users while considering the limited constraints of mobile devices (e.g., CPU, memory, battery). However, no empirical study has assessed the positive performance impacts of correcting mobile code smells. In this paper, we therefore conduct an empirical study focusing on the individual and combined performance impacts of three Android performance code smells (namely, Internal Getter/Setter, Member Ignoring Method, and HashMap Usage) on two open source Android apps. To perform this study, we use the Paprika toolkit to detect these three code smells in the analyzed apps, and we derive four versions of the apps by correcting each detected smell independently, and all of them. Then, we evaluate the performance of each version on a common user scenario test. In particular, we evaluate the UI and memory performance using the following metrics: frame time, number of delayed frames, memory usage, and number of garbage collection calls. Our results show that correcting these Android code smells effectively improve the UI and memory performance. In particular, we observe an improvement up to 12.4% on UI metrics when correcting Member Ignoring Method and up to 3.6% on memory-related metrics when correcting the three Android code smells. We believe that developers can benefit from these results to guide their refactoring, and thus improvethe quality of their mobile apps.Show less >
Show more >Android code smells are bad implementation practices withinAndroid applications (or apps) that may lead to poor software quality, in particular in terms of performance. Yet, performance is a main software quality concern in the development of mobile apps. Correcting Android code smells is thus an important activity to increase the performance of mobile apps and to provide the best experience to mobile end-users while considering the limited constraints of mobile devices (e.g., CPU, memory, battery). However, no empirical study has assessed the positive performance impacts of correcting mobile code smells. In this paper, we therefore conduct an empirical study focusing on the individual and combined performance impacts of three Android performance code smells (namely, Internal Getter/Setter, Member Ignoring Method, and HashMap Usage) on two open source Android apps. To perform this study, we use the Paprika toolkit to detect these three code smells in the analyzed apps, and we derive four versions of the apps by correcting each detected smell independently, and all of them. Then, we evaluate the performance of each version on a common user scenario test. In particular, we evaluate the UI and memory performance using the following metrics: frame time, number of delayed frames, memory usage, and number of garbage collection calls. Our results show that correcting these Android code smells effectively improve the UI and memory performance. In particular, we observe an improvement up to 12.4% on UI metrics when correcting Member Ignoring Method and up to 3.6% on memory-related metrics when correcting the three Android code smells. We believe that developers can benefit from these results to guide their refactoring, and thus improvethe quality of their mobile apps.Show less >
Language :
Anglais
Peer reviewed article :
Oui
Audience :
Internationale
Popular science :
Non
Collections :
Source :
Files
- https://hal.inria.fr/hal-01276904/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01276904/document
- Open access
- Access the document
- https://hal.inria.fr/hal-01276904/document
- Open access
- Access the document
- document
- Open access
- Access the document
- hecht-mobilesoft16-preprint.pdf
- Open access
- Access the document
- document
- Open access
- Access the document
- hecht-mobilesoft16-preprint.pdf
- Open access
- Access the document