Pub Date : 2017-05-20DOI: 10.1109/MOBILESoft.2017.34
Yixue Zhao
Network latency in mobile apps is the first and foremost concern since the majority of apps frequently fetch data from the Internet and mobile devices rely on wireless networks. To minimize network latency, we propose a novel prefetching technique which has the potential of reducing latency to "zero". Our approach aims to prefetch latency-hogging HTTP requests in mobile applications, which enables immediate responses of the on-demand user requests. We identify the request candidates for prefetching by static analysis, rewrite the app to interact with a proxy instead of the original server, and prefetch HTTP requests based on runtime QoS constraints. A prototype is implemented for an Android app and the optimized app showed a significant latency reduction.
{"title":"Toward Client-Centric Approaches for Latency Minimization in Mobile Applications","authors":"Yixue Zhao","doi":"10.1109/MOBILESoft.2017.34","DOIUrl":"https://doi.org/10.1109/MOBILESoft.2017.34","url":null,"abstract":"Network latency in mobile apps is the first and foremost concern since the majority of apps frequently fetch data from the Internet and mobile devices rely on wireless networks. To minimize network latency, we propose a novel prefetching technique which has the potential of reducing latency to \"zero\". Our approach aims to prefetch latency-hogging HTTP requests in mobile applications, which enables immediate responses of the on-demand user requests. We identify the request candidates for prefetching by static analysis, rewrite the app to interact with a proxy instead of the original server, and prefetch HTTP requests based on runtime QoS constraints. A prototype is implemented for an Android app and the optimized app showed a significant latency reduction.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133632249","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Wearable apps are becoming increasingly popular in recent years. However, to date, very few studies examined the issues that wearable apps face. Prior studies showed that user reviews contain a plethora of insights that can be used to understand quality issues and help developers build better quality mobile apps. Therefore, in this paper, we mine user reviews in order to understand the user complaints of wearable apps. We manually sample and categorize 589 reviews from 6 Android wearable apps. Our findings indicate that the most frequent complaints are related to functional errors, lack of functionality, and cost. Our results are useful to the wearable developer community since they highlight the issues that users face and care most about.
{"title":"Examining User Complaints of Wearable Apps: A Case Study on Android Wear","authors":"Suhaib Mujahid, Giancarlo Sierra, Rabe Abdalkareem, Emad Shihab, Weiyi Shang","doi":"10.1109/MOBILESoft.2017.25","DOIUrl":"https://doi.org/10.1109/MOBILESoft.2017.25","url":null,"abstract":"Wearable apps are becoming increasingly popular in recent years. However, to date, very few studies examined the issues that wearable apps face. Prior studies showed that user reviews contain a plethora of insights that can be used to understand quality issues and help developers build better quality mobile apps. Therefore, in this paper, we mine user reviews in order to understand the user complaints of wearable apps. We manually sample and categorize 589 reviews from 6 Android wearable apps. Our findings indicate that the most frequent complaints are related to functional errors, lack of functionality, and cost. Our results are useful to the wearable developer community since they highlight the issues that users face and care most about.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133899379","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2017-05-20DOI: 10.1109/MOBILESoft.2017.19
L. Cruz, Rui Abreu
Mobile and wearable devices are nowadays the de facto personal computers, while desktop computers are becoming less popular. Therefore, it is important for companies to deliver efficient mobile applications. As an example, Google has published a set of best practices to optimize the performance of Android applications. However, these guidelines fall short to address energy consumption. As mobile software applications operate in resource-constrained environments, guidelines to build energy efficient applications are of utmost importance. In this paper, we studied whether or not a set of best performance-based practices have an impact on the energy consumed by Android applications. In an experimental study with six popular mobile applications, we observed that the battery of the mobile device can last up to approximately an extra hour if the applications are developed with energy-aware practices. This work paves the way for a set of guidelines for energy-aware automatic refactoring techniques.
{"title":"Performance-Based Guidelines for Energy Efficient Mobile Applications","authors":"L. Cruz, Rui Abreu","doi":"10.1109/MOBILESoft.2017.19","DOIUrl":"https://doi.org/10.1109/MOBILESoft.2017.19","url":null,"abstract":"Mobile and wearable devices are nowadays the de facto personal computers, while desktop computers are becoming less popular. Therefore, it is important for companies to deliver efficient mobile applications. As an example, Google has published a set of best practices to optimize the performance of Android applications. However, these guidelines fall short to address energy consumption. As mobile software applications operate in resource-constrained environments, guidelines to build energy efficient applications are of utmost importance. In this paper, we studied whether or not a set of best performance-based practices have an impact on the energy consumed by Android applications. In an experimental study with six popular mobile applications, we observed that the battery of the mobile device can last up to approximately an extra hour if the applications are developed with energy-aware practices. This work paves the way for a set of guidelines for energy-aware automatic refactoring techniques.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126639292","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2017-05-20DOI: 10.1109/MOBILESoft.2017.20
J. I. Benedetto, H. A. Neyem, Jaime C. Navón, Guillermo Valenzuela
Mobile code offloading is a relatively well known proposal for enhancing the capabilities of mobile platforms by migrating resource intensive tasks to resource rich surrogates hosted in the cloud. Yet, most of the research in the area has been focused on theoretical gains achieved through custom OS versions in ideal scenarios. This paper presents MobiCOP, a new code offloading platform that seeks to address the reproducibility issues of other offloading solutions by encapsulating all offloading logic in a library and offering compatibility with major IaaS providers. MobiCOP achieves comparable performance and battery improvements with gains of up to a factor of 11 in both areas. Moreover, MobiCOP has also been tested in scenarios with unreliable connectivity, as is usually the case in actual mobile networks, where it has shown that it still manages to outperform local task executions by a fair margin.
{"title":"Rethinking the Mobile Code Offloading Paradigm: From Concept to Practice","authors":"J. I. Benedetto, H. A. Neyem, Jaime C. Navón, Guillermo Valenzuela","doi":"10.1109/MOBILESoft.2017.20","DOIUrl":"https://doi.org/10.1109/MOBILESoft.2017.20","url":null,"abstract":"Mobile code offloading is a relatively well known proposal for enhancing the capabilities of mobile platforms by migrating resource intensive tasks to resource rich surrogates hosted in the cloud. Yet, most of the research in the area has been focused on theoretical gains achieved through custom OS versions in ideal scenarios. This paper presents MobiCOP, a new code offloading platform that seeks to address the reproducibility issues of other offloading solutions by encapsulating all offloading logic in a library and offering compatibility with major IaaS providers. MobiCOP achieves comparable performance and battery improvements with gains of up to a factor of 11 in both areas. Moreover, MobiCOP has also been tested in scenarios with unreliable connectivity, as is usually the case in actual mobile networks, where it has shown that it still manages to outperform local task executions by a fair margin.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129897379","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2017-05-20DOI: 10.1109/MOBILESoft.2017.31
Gemma Catolino, P. Salza, C. Gravino, F. Ferrucci
In this work, we report a study carried out to identify a set of metrics to early estimate the development effort of mobile apps. The applied methodology was inspired by the work of Mendes et al. who addressed a similar problem in the field of web apps. In particular, we extracted an initial set of metrics by analyzing the online quotes forms that companies made available on their websites. Afterward, a Delphi approach with four project managers was employed to identify the proposed set of 41 relevant factors.
{"title":"A Set of Metrics for the Effort Estimation of Mobile Apps","authors":"Gemma Catolino, P. Salza, C. Gravino, F. Ferrucci","doi":"10.1109/MOBILESoft.2017.31","DOIUrl":"https://doi.org/10.1109/MOBILESoft.2017.31","url":null,"abstract":"In this work, we report a study carried out to identify a set of metrics to early estimate the development effort of mobile apps. The applied methodology was inspired by the work of Mendes et al. who addressed a similar problem in the field of web apps. In particular, we extracted an initial set of metrics by analyzing the online quotes forms that companies made available on their websites. Afterward, a Delphi approach with four project managers was employed to identify the proposed set of 41 relevant factors.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115904958","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2017-05-20DOI: 10.1109/MOBILESoft.2017.23
P. Chester, Chris Jones, Mohamed Wiem Mkaouer, Daniel E. Krutz
Android apps operate under a permissions-based system where access to specific APIs are restricted through the use of permissions. Unfortunately, there is no built-in verification system to ensure that apps do not request too many or too few permissions, which could lead to serious quality and/or privacy concerns. Apps requesting too many permissions create unnecessary vulnerabilities, leaving the potential for abuse by SDKs within the app or other malicious apps installed on the device. In order to assist with the discovery of misused permissions, we created a new detection tool, M-Perm, which combines static and dynamic analysis in a computationally efficient manner compared to existing tools. M-Perm also identifies permission usage in apps including requested normal, dangerous, and 3rd party permissions. The tool, complete usage instructions, and screencast are available online: http://www.m-perm.com.
{"title":"M-Perm: A Lightweight Detector for Android Permission Gaps","authors":"P. Chester, Chris Jones, Mohamed Wiem Mkaouer, Daniel E. Krutz","doi":"10.1109/MOBILESoft.2017.23","DOIUrl":"https://doi.org/10.1109/MOBILESoft.2017.23","url":null,"abstract":"Android apps operate under a permissions-based system where access to specific APIs are restricted through the use of permissions. Unfortunately, there is no built-in verification system to ensure that apps do not request too many or too few permissions, which could lead to serious quality and/or privacy concerns. Apps requesting too many permissions create unnecessary vulnerabilities, leaving the potential for abuse by SDKs within the app or other malicious apps installed on the device. In order to assist with the discovery of misused permissions, we created a new detection tool, M-Perm, which combines static and dynamic analysis in a computationally efficient manner compared to existing tools. M-Perm also identifies permission usage in apps including requested normal, dangerous, and 3rd party permissions. The tool, complete usage instructions, and screencast are available online: http://www.m-perm.com.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"85 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122564725","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2017-05-20DOI: 10.1109/MOBILESoft.2017.22
Majda Moussa, M. D. Penta, G. Antoniol, G. Beltrame
System permissions play a crucial role in the Android security architecture. They are used to restrict app operations only to resources (e.g., file system, network) that the user has agreed to share. In this paper, we present ACCUSE (Android Confidentiality Concern User Support Environment),an approach aimed at helping Android users and developers to compare and contrast the risk level of a set of Android apps. First, ACCUSE assigns to each app risk factors based on the Android classification of permissions. Then, such factors are combined with the app rating and downloading information to produce a new, overall risk factor. ACCUSE has been evaluated on a realworld dataset of 11,576 android apps as well as on a baseline of around 1000 known malware apps. Our results show that ACCUSE always assigns high risk to known malware apps, and outperforms the state-of-the-art.
系统权限在Android安全架构中起着至关重要的作用。它们用于将应用程序操作限制在用户同意共享的资源(例如,文件系统,网络)上。在本文中,我们提出了一种名为ACCUSE (Android confidential Concern User Support Environment)的方法,旨在帮助Android用户和开发者比较和对比一组Android应用程序的风险水平。首先,根据Android的权限分类,对每个应用程序分配风险因素。然后,将这些因素与应用评级和下载信息相结合,产生一个新的、整体的风险因素。在11,576个android应用程序的真实数据集以及大约1000个已知恶意软件应用程序的基线上,对ACCUSE进行了评估。我们的研究结果表明,控诉总是将高风险分配给已知的恶意软件应用程序,并且优于最先进的技术。
{"title":"ACCUSE: Helping Users to Minimize Android App Privacy Concerns","authors":"Majda Moussa, M. D. Penta, G. Antoniol, G. Beltrame","doi":"10.1109/MOBILESoft.2017.22","DOIUrl":"https://doi.org/10.1109/MOBILESoft.2017.22","url":null,"abstract":"System permissions play a crucial role in the Android security architecture. They are used to restrict app operations only to resources (e.g., file system, network) that the user has agreed to share. In this paper, we present ACCUSE (Android Confidentiality Concern User Support Environment),an approach aimed at helping Android users and developers to compare and contrast the risk level of a set of Android apps. First, ACCUSE assigns to each app risk factors based on the Android classification of permissions. Then, such factors are combined with the app rating and downloading information to produce a new, overall risk factor. ACCUSE has been evaluated on a realworld dataset of 11,576 android apps as well as on a baseline of around 1000 known malware apps. Our results show that ACCUSE always assigns high risk to known malware apps, and outperforms the state-of-the-art.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"79 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127256356","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2017-05-20DOI: 10.1109/MOBILESoft.2017.1
Abhijeet Banerjee, Abhik Roychoudhury
The need for performance and energy efficiency in mobile devices is apparent with the obvious shifting of more intensive computation to mobile platforms. In this paper, we first make a clear distinction between performance and energy issues. Apart from showing that performance efficiency is neither co-related with energy-efficiency nor inefficiency, we focus on programming methodologies and software validation approaches for producing energy efficient mobile software. These include reviewing recent works on energy-aware programming and nonfunctional testing to expose energy and performance issues in mobile software. As mobile platforms continue to evolve, new scenarios and use-cases involving mobile devices are on the rise. We speculate on scenarios involving energy hungry mobile software in near future, and how existing software engineering techniques can evolve to combat energy inefficiency in such scenarios. These include the need to effectively manage the energy-consumption of software-controlled personal drones which are likely to become main-stream in near future. We suggest integration of concepts from price theory in Economics to build a distributed energy management framework for software-controlled personal drones.
{"title":"Future of Mobile Software for Smartphones and Drones: Energy and Performance","authors":"Abhijeet Banerjee, Abhik Roychoudhury","doi":"10.1109/MOBILESoft.2017.1","DOIUrl":"https://doi.org/10.1109/MOBILESoft.2017.1","url":null,"abstract":"The need for performance and energy efficiency in mobile devices is apparent with the obvious shifting of more intensive computation to mobile platforms. In this paper, we first make a clear distinction between performance and energy issues. Apart from showing that performance efficiency is neither co-related with energy-efficiency nor inefficiency, we focus on programming methodologies and software validation approaches for producing energy efficient mobile software. These include reviewing recent works on energy-aware programming and nonfunctional testing to expose energy and performance issues in mobile software. As mobile platforms continue to evolve, new scenarios and use-cases involving mobile devices are on the rise. We speculate on scenarios involving energy hungry mobile software in near future, and how existing software engineering techniques can evolve to combat energy inefficiency in such scenarios. These include the need to effectively manage the energy-consumption of software-controlled personal drones which are likely to become main-stream in near future. We suggest integration of concepts from price theory in Economics to build a distributed energy management framework for software-controlled personal drones.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128000248","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2017-05-20DOI: 10.1109/MOBILESoft.2017.33
R. Francese, C. Gravino, M. Risi, G. Scanniello, G. Tortora
We conducted a qualitative study to investigate the main aspects related to the development and management of applications (or apps) for smart and mobile devices. Is investigation is composed of two main steps and its context is the so ware industry. In the rst step, we interviewed so ware managers with experience in the context of app development and management. Is part of our study can be intended as explorative because we used its outcomes to plan and execute the second step of our study, namely a survey with so ware professionals. From this survey, we obtained a number of ndings that we can summarize as follows: (i) app development is mostly done by junior developers, (ii) agile methodologies and cross-platform development frameworks are largely adopted even if there are no approaches and frameworks considered the best, (iii) support for testing is considered inadequate, (iv) fragmentation of so ware and hardware is perceived an important concern, and (v) app development is considered di erent from the development of web/desktop applications. Based on our ndings, we highlight areas that require more a ention from the research and the industry.
{"title":"Mobile App Development and Management: Results from a Qualitative Investigation","authors":"R. Francese, C. Gravino, M. Risi, G. Scanniello, G. Tortora","doi":"10.1109/MOBILESoft.2017.33","DOIUrl":"https://doi.org/10.1109/MOBILESoft.2017.33","url":null,"abstract":"We conducted a qualitative study to investigate the main aspects related to the development and management of applications (or apps) for smart and mobile devices. Is investigation is composed of two main steps and its context is the so ware industry. In the rst step, we interviewed so ware managers with experience in the context of app development and management. Is part of our study can be intended as explorative because we used its outcomes to plan and execute the second step of our study, namely a survey with so ware professionals. From this survey, we obtained a number of ndings that we can summarize as follows: (i) app development is mostly done by junior developers, (ii) agile methodologies and cross-platform development frameworks are largely adopted even if there are no approaches and frameworks considered the best, (iii) support for testing is considered inadequate, (iv) fragmentation of so ware and hardware is perceived an important concern, and (v) app development is considered di erent from the development of web/desktop applications. Based on our ndings, we highlight areas that require more a ention from the research and the industry.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"120 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128025702","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
With billions of app downloads, the Apple App Store and Google Play Store succeeded to conquer mobile devices. However, this success also challenges app developers to publish high-quality apps to keep attracting and satisfying end-users. In particular, taming the ever-growing complexity of mobile apps to cope with maintenance and evolution tasks under such a pressure may lead to bad development choices. While these bad choices, a.k.a. code smells, are widely studied in object-oriented software, their study in the context of mobile apps, and in particular iOS apps, remains in its infancy. Therefore, in this paper, we consider the presence of object-oriented and iOS-specific code smells by analyzing 279 open-source iOS apps. As part of this empirical study, we extended the Paprika toolkit, which was previously designed to analyze Android apps, in order to support the analysis of iOS apps developed in Objective-C or Swift. We report on the results of this analysis as well as a comparison between iOS and Android apps. We comment our findings related to the quality of apps in these two ecosystems. Interestingly, we observed that iOS apps tend to contain the same proportions of code smells regardless of the development language, but they seem to be less prone to code smells compared to Android apps.
{"title":"Code Smells in iOS Apps: How Do They Compare to Android?","authors":"Sarra Habchi, Geoffrey Hecht, Romain Rouvoy, Naouel Moha","doi":"10.1109/mobilesoft.2017.11","DOIUrl":"https://doi.org/10.1109/mobilesoft.2017.11","url":null,"abstract":"With billions of app downloads, the Apple App Store and Google Play Store succeeded to conquer mobile devices. However, this success also challenges app developers to publish high-quality apps to keep attracting and satisfying end-users. In particular, taming the ever-growing complexity of mobile apps to cope with maintenance and evolution tasks under such a pressure may lead to bad development choices. While these bad choices, a.k.a. code smells, are widely studied in object-oriented software, their study in the context of mobile apps, and in particular iOS apps, remains in its infancy. Therefore, in this paper, we consider the presence of object-oriented and iOS-specific code smells by analyzing 279 open-source iOS apps. As part of this empirical study, we extended the Paprika toolkit, which was previously designed to analyze Android apps, in order to support the analysis of iOS apps developed in Objective-C or Swift. We report on the results of this analysis as well as a comparison between iOS and Android apps. We comment our findings related to the quality of apps in these two ecosystems. Interestingly, we observed that iOS apps tend to contain the same proportions of code smells regardless of the development language, but they seem to be less prone to code smells compared to Android apps.","PeriodicalId":281934,"journal":{"name":"2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-05-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131437904","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}