R. Francese, C. Gravino, M. Risi, G. Tortora, G. Scanniello
In this paper, we focus on the definition of estimators to predict method calls in Android apps. Estimation models are based on information from requirements specification documents (e.g., number of actors, number of use cases, and number of classes in the conceptual model). We have used a dataset containing information on 23 Android apps. After performing data-cleaning, we applied linear regression to build estimation models on 21 data points. Results suggest that measures gathered from requirements specification documents can be considered good predictors to estimate the number of internal calls (i.e., methods invoking other methods present in the app) and external calls (i.e., invocations to API) as well as their sum.
{"title":"Estimate Method Calls in Android Apps","authors":"R. Francese, C. Gravino, M. Risi, G. Tortora, G. Scanniello","doi":"10.1145/2897073.2897113","DOIUrl":"https://doi.org/10.1145/2897073.2897113","url":null,"abstract":"In this paper, we focus on the definition of estimators to predict method calls in Android apps. Estimation models are based on information from requirements specification documents (e.g., number of actors, number of use cases, and number of classes in the conceptual model). We have used a dataset containing information on 23 Android apps. After performing data-cleaning, we applied linear regression to build estimation models on 21 data points. Results suggest that measures gathered from requirements specification documents can be considered good predictors to estimate the number of internal calls (i.e., methods invoking other methods present in the app) and external calls (i.e., invocations to API) as well as their sum.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130089058","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}
Exergames combine exercising with game play by requiring the users to perform some kind of physical activity (and exercise) in order to score points in the game. In this paper, we present mobile exergames that are affordable, fun, ubiquitous, and most importantly portable allowing the players to carry exergames with them wherever they go. Our mobile exergames need two pieces of portable equipment - a smartphone (with an in-built camera, accelerometer and gyroscope) and an ExerPad (custom designed Exercising Pad consisting of various shapes and colors). While playing the proposed exergame on smartphone, the user is required to physically move on ExerPad in order to score points in the game. The experimental results show that the proposed mobile exergames help users to move and burn calories while having fun at the same time.
{"title":"Mobile Exergaming: Exergames on the Go","authors":"P. Buddharaju, Yokeshwaran Lokanathan","doi":"10.1145/2897073.2897125","DOIUrl":"https://doi.org/10.1145/2897073.2897125","url":null,"abstract":"Exergames combine exercising with game play by requiring the users to perform some kind of physical activity (and exercise) in order to score points in the game. In this paper, we present mobile exergames that are affordable, fun, ubiquitous, and most importantly portable allowing the players to carry exergames with them wherever they go. Our mobile exergames need two pieces of portable equipment - a smartphone (with an in-built camera, accelerometer and gyroscope) and an ExerPad (custom designed Exercising Pad consisting of various shapes and colors). While playing the proposed exergame on smartphone, the user is required to physically move on ExerPad in order to score points in the game. The experimental results show that the proposed mobile exergames help users to move and burn calories while having fun at the same time.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114869707","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}
Anat Berkman-Chardon, D. Harel, Yaarit Goel, R. Marelly, Smadar Szekely, Guy Weiss
We introduce a novel method for creating mobile applica-tions, integrating the Android SDK into PlayGo, a scenario-based behavioral programming framework. The method al-lows creating mobile applications simply by using a visualGUI editor, and then incrementally “playing in” scenariosthat construct the application’s behavior. This allows thedeveloper to focus on the behavior and interface rather thanon the syntax and code.
{"title":"Scenario-Based Programming for Mobile Applications","authors":"Anat Berkman-Chardon, D. Harel, Yaarit Goel, R. Marelly, Smadar Szekely, Guy Weiss","doi":"10.1145/2897073.2897080","DOIUrl":"https://doi.org/10.1145/2897073.2897080","url":null,"abstract":"We introduce a novel method for creating mobile applica-tions, integrating the Android SDK into PlayGo, a scenario-based behavioral programming framework. The method al-lows creating mobile applications simply by using a visualGUI editor, and then incrementally “playing in” scenariosthat construct the application’s behavior. This allows thedeveloper to focus on the behavior and interface rather thanon the syntax and code.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127837923","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}
Mobile applications claim to operate reliably during spatial movement, however, developers have to deal with the effects of changing environmental contexts. One of the most important contexts is the connectivity of mobile devices. Since mobile applications are increasingly used as front-ends of transaction systems, they have to be designed for being able to deal with intentional or accidental loss of connection. In fact, we find a lot of mobile applications being not more than portable because they cannot operate without connections. In order to support higher mobility - in the sense that operations may execute across the boundaries of changing network states - we discuss the problem and requirements for context-aware architectures of mobile applications. We present a generic architecture supporting users to effectively use applications on-line as well as off-line. This approach enables the concurrent execution of off-line transactions as well as their durability after synchronization. Starting from example applications, we analyze the design of existing context-aware architectures and corresponding mobile transaction models and present our approach to a generic architecture. Furthermore, we frame various conditions for advantageously using mobile transaction models.
{"title":"A Generic Architecture Supporting Context-Aware Data and Transaction Management for Mobile Applications","authors":"S. Vaupel, Damian Wlochowitz, G. Taentzer","doi":"10.1145/2897073.2897091","DOIUrl":"https://doi.org/10.1145/2897073.2897091","url":null,"abstract":"Mobile applications claim to operate reliably during spatial movement, however, developers have to deal with the effects of changing environmental contexts. One of the most important contexts is the connectivity of mobile devices. Since mobile applications are increasingly used as front-ends of transaction systems, they have to be designed for being able to deal with intentional or accidental loss of connection. In fact, we find a lot of mobile applications being not more than portable because they cannot operate without connections. In order to support higher mobility - in the sense that operations may execute across the boundaries of changing network states - we discuss the problem and requirements for context-aware architectures of mobile applications. We present a generic architecture supporting users to effectively use applications on-line as well as off-line. This approach enables the concurrent execution of off-line transactions as well as their durability after synchronization. Starting from example applications, we analyze the design of existing context-aware architectures and corresponding mobile transaction models and present our approach to a generic architecture. Furthermore, we frame various conditions for advantageously using mobile transaction models.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116994263","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}
M. Harman, A. Al-Subaihin, Yue Jia, William J. Martin, Federica Sarro, Yuanyuan Zhang
This talk presents results on analysis and testing of mobile apps and app stores, reviewing the work of the UCL App Analysis Group (UCLappA) on App Store Mining and Analysis. The talk also covers the work of the UCL CREST centre on Genetic Improvement, applicable to app improvement and optimisation.
{"title":"Mobile App and App Store Analysis, Testing, and Optimisation","authors":"M. Harman, A. Al-Subaihin, Yue Jia, William J. Martin, Federica Sarro, Yuanyuan Zhang","doi":"10.1145/2897073.2897076","DOIUrl":"https://doi.org/10.1145/2897073.2897076","url":null,"abstract":"This talk presents results on analysis and testing of mobile apps and app stores, reviewing the work of the UCL App Analysis Group (UCLappA) on App Store Mining and Analysis. The talk also covers the work of the UCL CREST centre on Genetic Improvement, applicable to app improvement and optimisation.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121696587","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}
We live in the era of mobile computing. Mobile devices havemore sensors and more capabilities than desktop computers. Forany computing device that contains sensitive information andaccesses the Internet, security is a major concern for bothenterprises and end-users. Of the mobile devices commonly inuse, iOS and Android are the prevalent platforms; each platformhas a unique architecture and security policy relating to howthey handle these sensitive permissions; due to these differencesone platform is likely more secure than the other. A deep staticand dynamic analysis of the applications available for eachplatform was conducted in order to determine on whichoverprivileged applications were more prevalent.
{"title":"Cross-Platform Access-Rights Analysis of Mobile Applications","authors":"Walter Squires, Paolina Centonze","doi":"10.1145/2897073.2897717","DOIUrl":"https://doi.org/10.1145/2897073.2897717","url":null,"abstract":"We live in the era of mobile computing. Mobile devices havemore sensors and more capabilities than desktop computers. Forany computing device that contains sensitive information andaccesses the Internet, security is a major concern for bothenterprises and end-users. Of the mobile devices commonly inuse, iOS and Android are the prevalent platforms; each platformhas a unique architecture and security policy relating to howthey handle these sensitive permissions; due to these differencesone platform is likely more secure than the other. A deep staticand dynamic analysis of the applications available for eachplatform was conducted in order to determine on whichoverprivileged applications were more prevalent.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127425957","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}
María Gómez, Romain Rouvoy, Bram Adams, L. Seinturier
While the number of mobile apps published by app stores keeps on increasing, the quality of these apps varies widely. Unfortunately, for many apps, end-users continue experiencing bugs and crashes once installed on their mobile device. Crashes are annoying for end-users, but they denitely are for app developers who need to reproduce the crashes as fast as possible beforefinding the root cause of the reported issues. Given the heterogeneity in hardware, mobile platform releases, and types of users, the reproduction step currently is one of the major challenges for app developers. This paper introduces MoTiF, a crowdsourced approach to support app developers in automatically reproducing context-sensitive crashes faced by end-users in the wild. In particular, by analyzing recurrent patterns in crash data, the shortest sequence of events reproducing a crash is derived, and turned into a test suite. We evaluate MoTiF on concrete crashes that were crowdsourced or randomly generated on 5 Android apps, showing that MoTiF can reproduce existing crashes effectively.
{"title":"Reproducing Context-Sensitive Crashes of Mobile Apps Using Crowdsourced Monitoring","authors":"María Gómez, Romain Rouvoy, Bram Adams, L. Seinturier","doi":"10.1145/2897073.2897088","DOIUrl":"https://doi.org/10.1145/2897073.2897088","url":null,"abstract":"While the number of mobile apps published by app stores keeps on increasing, the quality of these apps varies widely. Unfortunately, for many apps, end-users continue experiencing bugs and crashes once installed on their mobile device. Crashes are annoying for end-users, but they denitely are for app developers who need to reproduce the crashes as fast as possible beforefinding the root cause of the reported issues. Given the heterogeneity in hardware, mobile platform releases, and types of users, the reproduction step currently is one of the major challenges for app developers. This paper introduces MoTiF, a crowdsourced approach to support app developers in automatically reproducing context-sensitive crashes faced by end-users in the wild. In particular, by analyzing recurrent patterns in crash data, the shortest sequence of events reproducing a crash is derived, and turned into a test suite. We evaluate MoTiF on concrete crashes that were crowdsourced or randomly generated on 5 Android apps, showing that MoTiF can reproduce existing crashes effectively.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134023033","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}
This work is dedicated to study the IO characteristics of SQLite transaction in Android platform. We collect the block level IO trace from for six months. We develop an elaborate pattern matching algorithm. It allows us to identify the individual SQLite transactions from the raw IO trace, which is essentially an interleaved mixture of IO requests from concurrently running smartphone applications. Among the various observations obtained from the study, we can summarize the key findings as follows. We carefully believe that these deserve special attention. First, SQLite transaction is under extreme inefficiency. In an SQLite transaction, the IO’s for SQLite journaling and EXT4 filesystem journaling account for over 75% of the entire IO volume in a transaction. Second, the suspend and the wakeup feature of the smartphone can leave the SQLite transaction to an extreme delay, a few minutes. Third, in fair number of occasions, the SQLite transactions are being used in inconsiderate manner. We find that a single SQLite transaction inserts 17.5 MByte of data to the database. It turns out to be the operation of initializing the map database. We hope that the findings obtained in this study are bifurcated to various efforts to makes the SQLite related IO more efficient and effective.
{"title":"On the IO Characteristics of the SQLite Transactions","authors":"D. Tuan, Seungyong Cheon, Y. Won","doi":"10.1145/2897073.2897093","DOIUrl":"https://doi.org/10.1145/2897073.2897093","url":null,"abstract":"This work is dedicated to study the IO characteristics of SQLite transaction in Android platform. We collect the block level IO trace from for six months. We develop an elaborate pattern matching algorithm. It allows us to identify the individual SQLite transactions from the raw IO trace, which is essentially an interleaved mixture of IO requests from concurrently running smartphone applications. Among the various observations obtained from the study, we can summarize the key findings as follows. We carefully believe that these deserve special attention. First, SQLite transaction is under extreme inefficiency. In an SQLite transaction, the IO’s for SQLite journaling and EXT4 filesystem journaling account for over 75% of the entire IO volume in a transaction. Second, the suspend and the wakeup feature of the smartphone can leave the SQLite transaction to an extreme delay, a few minutes. Third, in fair number of occasions, the SQLite transactions are being used in inconsiderate manner. We find that a single SQLite transaction inserts 17.5 MByte of data to the database. It turns out to be the operation of initializing the map database. We hope that the findings obtained in this study are bifurcated to various efforts to makes the SQLite related IO more efficient and effective.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"10 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130997472","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}
Mobile Developers commonly spend a significant amount of time and effort on conducting code reviews on newly introduced and domain-specific practices, such as platform-specific feature addition, quality of service anti-pattern refactorings, and battery-related bug fixes. To address these problems, we conducted a large empirical study over the software change history of 318 open source projects and investigated platform-dependent code changes from open source projects. Our analysis focuses on what types of changes mobile application developers typically make and how they perceive, recall, and communicate changed and affected code. Our study required the development of an automated strategy to examine open source repositories and categorize platform-related refactoring edits, bug repairs, and API updates, mining 1,961,990 commit changes. Our findings call for the need to develop a new recommendation system aimed at efficiently identifying required changes such as bug fixes and refactorings during mobile application code reviews.
{"title":"Helping Mobile Software Code Reviewers: A Study of Bug Repair and Refactoring Patterns","authors":"Zhiyuan Chen","doi":"10.1145/2897073.2897130","DOIUrl":"https://doi.org/10.1145/2897073.2897130","url":null,"abstract":"Mobile Developers commonly spend a significant amount of time and effort on conducting code reviews on newly introduced and domain-specific practices, such as platform-specific feature addition, quality of service anti-pattern refactorings, and battery-related bug fixes. To address these problems, we conducted a large empirical study over the software change history of 318 open source projects and investigated platform-dependent code changes from open source projects. Our analysis focuses on what types of changes mobile application developers typically make and how they perceive, recall, and communicate changed and affected code. Our study required the development of an automated strategy to examine open source repositories and categorize platform-related refactoring edits, bug repairs, and API updates, mining 1,961,990 commit changes. Our findings call for the need to develop a new recommendation system aimed at efficiently identifying required changes such as bug fixes and refactorings during mobile application code reviews.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117244768","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 the ubiquitous usage of mobile devices, most communications are now impacted by the users' mobility. Therefore, applications and services must be designed to cope with network dynamics produced by those mobility patterns. Software research and development would benefit from taking device mobility into account. However, implementing and testing software on real devices is costly and cumbersome to perform. Virtualization is a widely used technique for avoiding these issues. In this paper, we propose three tools for creating and managing networks with mobile devices. Both network devices and user devices are emulated, the latter by using the QEMU system emulator. We implemented a virtual network device that can emulate access points and wireless interfaces, a real-time mobility engine that controls the dynamics of the connections and a control and management tool. Our toolset, called NEmu, can create both infrastructure and adhoc virtual networks for testing and evaluating applications with a fine-grained control over the network topology and link parameters. Results show that NEmu gives similar results as container-based virtualization and discrete event-based simulation.
{"title":"Virtualization Toolset for Emulating Mobile Devices and Networks","authors":"Vincent Autefage, D. Magoni, John Murphy","doi":"10.1145/2897073.2897087","DOIUrl":"https://doi.org/10.1145/2897073.2897087","url":null,"abstract":"With the ubiquitous usage of mobile devices, most communications are now impacted by the users' mobility. Therefore, applications and services must be designed to cope with network dynamics produced by those mobility patterns. Software research and development would benefit from taking device mobility into account. However, implementing and testing software on real devices is costly and cumbersome to perform. Virtualization is a widely used technique for avoiding these issues. In this paper, we propose three tools for creating and managing networks with mobile devices. Both network devices and user devices are emulated, the latter by using the QEMU system emulator. We implemented a virtual network device that can emulate access points and wireless interfaces, a real-time mobility engine that controls the dynamics of the connections and a control and management tool. Our toolset, called NEmu, can create both infrastructure and adhoc virtual networks for testing and evaluating applications with a fine-grained control over the network topology and link parameters. Results show that NEmu gives similar results as container-based virtualization and discrete event-based simulation.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133125529","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}