GPS (Global Positioning System) is used to determinethe position of an outdoor user with a high degree of accuracy,but it works poorly or not at all in indoor locations.Many different techniques have been proposed for indoorpositioning, including reference points, such as NFC tags orBluetooth beacons, radio signal triangulation, and patternor image recognition [3, 6]. Any of these techniques canbe combined with each other or with a dead-reckoning approach,adding user movement data from sensors, in orderto arrive at a more precise position estimate [3]. Indoor navigationuser interfaces are essentially the same as those usedoutdoors: maps, turn-by-turn directions, and augmented reality.
{"title":"A Novel Approach to Mobile Indoor Navigation Systems","authors":"Madi Zhanbyrtayev, Bekzhan Kassenov","doi":"10.1145/2897073.2897131","DOIUrl":"https://doi.org/10.1145/2897073.2897131","url":null,"abstract":"GPS (Global Positioning System) is used to determinethe position of an outdoor user with a high degree of accuracy,but it works poorly or not at all in indoor locations.Many different techniques have been proposed for indoorpositioning, including reference points, such as NFC tags orBluetooth beacons, radio signal triangulation, and patternor image recognition [3, 6]. Any of these techniques canbe combined with each other or with a dead-reckoning approach,adding user movement data from sensors, in orderto arrive at a more precise position estimate [3]. Indoor navigationuser interfaces are essentially the same as those usedoutdoors: maps, turn-by-turn directions, and augmented reality.","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":"132626376","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}
A computer program, at its most basic level is a series of low level processor instructions which are executed sequentially. These instructions take time to execute, thus longer programs have longer execution times. One way to decrease the execution time for a program is to decrease the required time for each instruction. This is called frequency scaling. The disadvantage of frequency scaling is that running a processor at higher speeds causes it to generate more heat and consume more power. The physical properties of transistors also impose limits on how fast a microprocessor can be built. The solution to the problem of frequency scaling is to, instead of decreasing the time to execute an instruction, increase the number of instructions that can be run in a given amount of time, by running these instructions in parallel. This is known as parallel computing, and in this paper we present a solution for using many off-the-shelf computers to build a computing cluster which will accelerate computing performance by running tasks in parallel. To this end, we introduce a middleware for writing distributed applications on physical computing devices, such as the Raspberry Pi computer.
{"title":"Middleware for Writing Distributed Applications on Physical Computing Devices","authors":"Michael Lescisin, Q. Mahmoud","doi":"10.1145/2897073.2897123","DOIUrl":"https://doi.org/10.1145/2897073.2897123","url":null,"abstract":"A computer program, at its most basic level is a series of low level processor instructions which are executed sequentially. These instructions take time to execute, thus longer programs have longer execution times. One way to decrease the execution time for a program is to decrease the required time for each instruction. This is called frequency scaling. The disadvantage of frequency scaling is that running a processor at higher speeds causes it to generate more heat and consume more power. The physical properties of transistors also impose limits on how fast a microprocessor can be built. The solution to the problem of frequency scaling is to, instead of decreasing the time to execute an instruction, increase the number of instructions that can be run in a given amount of time, by running these instructions in parallel. This is known as parallel computing, and in this paper we present a solution for using many off-the-shelf computers to build a computing cluster which will accelerate computing performance by running tasks in parallel. To this end, we introduce a middleware for writing distributed applications on physical computing devices, such as the Raspberry Pi computer.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"7 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":"126951393","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}
Smartphones nowadays are customized to help users with their daily tasks such as storing important data or making transactions through the internet. With the sensitivity of the data involved, authentication mechanism such as fixed-text password, PIN, or unlock patterns are used to safeguard these data against intruders. However, these mechanisms have the risk from security threats such as cracking or shoulder surfing. To enhance mobile and/or information security, this study aimed to develop a free-form handwriting gesture user authentication for smartphones. It also tried to discover the static and dynamic handwriting features that significantly influence the recognition of a legitimate user. The experiment was then conducted by asking thirty (30) individuals to draw or swipe using their fingertip their desired free-form security pattern ten (10) times. These patterns were then cleaned and processed, and extracted seven (7) static and eleven (11) dynamic handwriting features. By means of Neural Network classifier of the RapidMiner data mining tool, these features were used to develop, validate, and test a model for user authentication. The model showed a very promising recognition rate of 96.67%. The model is further tested through a prototype, and it still gave a very satisfactory result.
{"title":"Modeling Free-Form Handwriting Gesture User Authentication for Android Smartphones","authors":"Floren Alexis T. Espinosa, G. Guerrero, L. Vea","doi":"10.1145/2897073.2897095","DOIUrl":"https://doi.org/10.1145/2897073.2897095","url":null,"abstract":"Smartphones nowadays are customized to help users with their daily tasks such as storing important data or making transactions through the internet. With the sensitivity of the data involved, authentication mechanism such as fixed-text password, PIN, or unlock patterns are used to safeguard these data against intruders. However, these mechanisms have the risk from security threats such as cracking or shoulder surfing. To enhance mobile and/or information security, this study aimed to develop a free-form handwriting gesture user authentication for smartphones. It also tried to discover the static and dynamic handwriting features that significantly influence the recognition of a legitimate user. The experiment was then conducted by asking thirty (30) individuals to draw or swipe using their fingertip their desired free-form security pattern ten (10) times. These patterns were then cleaned and processed, and extracted seven (7) static and eleven (11) dynamic handwriting features. By means of Neural Network classifier of the RapidMiner data mining tool, these features were used to develop, validate, and test a model for user authentication. The model showed a very promising recognition rate of 96.67%. The model is further tested through a prototype, and it still gave a very satisfactory result.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"29 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":"126976103","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}
Q. Do, Guowei Yang, Meiru Che, Darren Hui, J. Ridgeway
Mobile platform pervades human life, and much research in recent years has focused on improving the reliability of mobile applications on this platform, for example by applying automatic testing. However, researchers have primarily considered testing of single version of mobile applications. Although regression testing has been extensively studied for desktop applications, the approaches for desktop applications cannot be directly applied to mobile applications. Our approach leverages the combination of static impact analysis and dynamic code coverage information, and identifies a subset of test cases for re-execution on the modified app version. We implement our approach for Android apps, and illustrate its usefulness based on an Android application.
{"title":"Regression Test Selection for Android Applications","authors":"Q. Do, Guowei Yang, Meiru Che, Darren Hui, J. Ridgeway","doi":"10.1145/2897073.2897127","DOIUrl":"https://doi.org/10.1145/2897073.2897127","url":null,"abstract":"Mobile platform pervades human life, and much research in recent years has focused on improving the reliability of mobile applications on this platform, for example by applying automatic testing. However, researchers have primarily considered testing of single version of mobile applications. Although regression testing has been extensively studied for desktop applications, the approaches for desktop applications cannot be directly applied to mobile applications. Our approach leverages the combination of static impact analysis and dynamic code coverage information, and identifies a subset of test cases for re-execution on the modified app version. We implement our approach for Android apps, and illustrate its usefulness based on an Android application.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"68 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":"115623578","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}
Omer Tripp, Marco Pistoia, Pietro Ferrara, J. Rubin
Mobile malware has recently become an acute problem. Existing solutions either base static reasoning on syntactic properties, such as exception handlers or configuration fields, or compute data-flow reachability over the program, which leads to scalability challenges. We explore a new and complementary category of features, which strikes a middleground between the above two categories. This new category focuses on security-relevant operations (communcation, lifecycle, etc) --- and in particular, their multiplicity and happens-before order --- as a means to distinguish between malicious and benign applications. Computing these features requires semantic, yet lightweight, modeling of the program's behavior. We have created a malware detection system for Android, MassDroid, that collects traces of security-relevant operations from the call graph via a scalable form of data-flow analysis. These are reduced to happens-before and multiplicity features, then fed into a supervised learning engine to obtain a malicious/benign classification. MassDroid also embodies a novel reporting interface, containing pointers into the code that serve as evidence supporting the determination. We have applied MassDroid to 35,000 Android apps from the wild. The results are highly encouraging with an F-score of 95% in standard testing, and >90% when applied to previously unseen malware signatures. MassDroid is also efficient, requiring about two minutes per app. MassDroid is publicly available as a cloud service for malware detection.
{"title":"Pinpointing Mobile Malware Using Code Analysis","authors":"Omer Tripp, Marco Pistoia, Pietro Ferrara, J. Rubin","doi":"10.1145/2897073.2897707","DOIUrl":"https://doi.org/10.1145/2897073.2897707","url":null,"abstract":"Mobile malware has recently become an acute problem. Existing solutions either base static reasoning on syntactic properties, such as exception handlers or configuration fields, or compute data-flow reachability over the program, which leads to scalability challenges. We explore a new and complementary category of features, which strikes a middleground between the above two categories. This new category focuses on security-relevant operations (communcation, lifecycle, etc) --- and in particular, their multiplicity and happens-before order --- as a means to distinguish between malicious and benign applications. Computing these features requires semantic, yet lightweight, modeling of the program's behavior. We have created a malware detection system for Android, MassDroid, that collects traces of security-relevant operations from the call graph via a scalable form of data-flow analysis. These are reduced to happens-before and multiplicity features, then fed into a supervised learning engine to obtain a malicious/benign classification. MassDroid also embodies a novel reporting interface, containing pointers into the code that serve as evidence supporting the determination. We have applied MassDroid to 35,000 Android apps from the wild. The results are highly encouraging with an F-score of 95% in standard testing, and >90% when applied to previously unseen malware signatures. MassDroid is also efficient, requiring about two minutes per app. MassDroid is publicly available as a cloud service for malware detection.","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":"130408857","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 devices, such as smartphones and tablets, are energy constrained by nature. Therefore, apps targeted for such platforms must be energy-efficient. However, due to the use of energy oblivious design practices often this is not the case. In this paper, we present a light-weight re-factoring technique that can assist in energy-aware app development. Our technique relies on a set of energy-efficiency guidelines that encodes the optimal usage of energy-intensive (hardware) resources in an app. Given a prototype for an app, our technique begins by generating a design-expression for it. A design-expression can be described as a regular-expression representing the ordering of energy-intensive resource usages and invocation of key functionalities (event-handlers) within the app. It also generates a set of defect-expressions that are design-expressions representing the negation of energy-efficiency guidelines. A non-empty intersection between an app’s design-expression and a defect expression indicates violation of a guideline (and therefore, potential for re-factoring). To evaluate the efficacy of our re-factoring technique we analyzed a suite of open-source Android apps using our technique. The resultant re-factoring when applied reduced the energy-consumption of these apps between 3 % to 29 %. We also present a case study for one of our subject apps, that captures its design evolution over a period of two-years and more than 200 commits. Our framework found re-factoring opportunities in a number of these commits, that could have been implemented earlier on in the development stages had the developer used an energy-aware re-factoring technique such as the one presented in this work.
{"title":"Automated Re-factoring of Android Apps to Enhance Energy-Efficiency","authors":"Abhijeet Banerjee, Abhik Roychoudhury","doi":"10.1145/2897073.2897086","DOIUrl":"https://doi.org/10.1145/2897073.2897086","url":null,"abstract":"Mobile devices, such as smartphones and tablets, are energy constrained by nature. Therefore, apps targeted for such platforms must be energy-efficient. However, due to the use of energy oblivious design practices often this is not the case. In this paper, we present a light-weight re-factoring technique that can assist in energy-aware app development. Our technique relies on a set of energy-efficiency guidelines that encodes the optimal usage of energy-intensive (hardware) resources in an app. Given a prototype for an app, our technique begins by generating a design-expression for it. A design-expression can be described as a regular-expression representing the ordering of energy-intensive resource usages and invocation of key functionalities (event-handlers) within the app. It also generates a set of defect-expressions that are design-expressions representing the negation of energy-efficiency guidelines. A non-empty intersection between an app’s design-expression and a defect expression indicates violation of a guideline (and therefore, potential for re-factoring). To evaluate the efficacy of our re-factoring technique we analyzed a suite of open-source Android apps using our technique. The resultant re-factoring when applied reduced the energy-consumption of these apps between 3 % to 29 %. We also present a case study for one of our subject apps, that captures its design evolution over a period of two-years and more than 200 commits. Our framework found re-factoring opportunities in a number of these commits, that could have been implemented earlier on in the development stages had the developer used an energy-aware re-factoring technique such as the one presented in this work.","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":"126112063","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}
David Kaguma, Samuel Karumba, Aisha Walcott-Bryant, Komminist Weldemariam
Mobile devices often operate in resource constrained envi- ronments with intermittent connectivity, bandwidth, bat- tery power, etc. On these devices, existing cooperative con- tent sharing protocols and models (e.g. Peer to Peer and client-server) present major drawbacks. Presently, a user has to maintain the connection between the peers when down- loading content. For instance, when a large multimedia file is to be downloaded and the user has limited resources the corresponding content acquisition is constrained. This can easily lead to poor user experience. In this paper, we present the design of a resource-aware cooperative content down- loading system for low-cost mobile devices. We propose a novel combination of computed resource level, reliability in- dex, and segment determination to cooperatively download, aggregate and distribute downloaded chunks. The ability to improve resource utilization for low-end devices while coop- eratively scheduling to download content is also discussed. Finally, we end this paper by reporting experimental results illustrating the merits of the system.
{"title":"Towards Cooperative Content Downloading for Resource-Constrained Mobile Devices","authors":"David Kaguma, Samuel Karumba, Aisha Walcott-Bryant, Komminist Weldemariam","doi":"10.1145/2897073.2897083","DOIUrl":"https://doi.org/10.1145/2897073.2897083","url":null,"abstract":"Mobile devices often operate in resource constrained envi- ronments with intermittent connectivity, bandwidth, bat- tery power, etc. On these devices, existing cooperative con- tent sharing protocols and models (e.g. Peer to Peer and client-server) present major drawbacks. Presently, a user has to maintain the connection between the peers when down- loading content. For instance, when a large multimedia file is to be downloaded and the user has limited resources the corresponding content acquisition is constrained. This can easily lead to poor user experience. In this paper, we present the design of a resource-aware cooperative content down- loading system for low-cost mobile devices. We propose a novel combination of computed resource level, reliability in- dex, and segment determination to cooperatively download, aggregate and distribute downloaded chunks. The ability to improve resource utilization for low-end devices while coop- eratively scheduling to download content is also discussed. Finally, we end this paper by reporting experimental results illustrating the merits of the system.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"132 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":"124046052","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}
In this demonstration, we showcase the XD middleware, a framework for expressive multiplexing of application communication streams onto underlying device-to-device communication links. XD allows applications to remain agnostic about which low-level networking stack is actually delivering messages and instead focus on the application-level content and delivery parameters. The IoT space has been flooded with new communication technologies (e.g., BLE, ZigBee, 6LoWPAN) to add to those already available on modern mobile devices (e.g., BLE, WiFi-Direct), substantially increasing the barrier to entry for developing innovative IoT applications. XD presents application developers with a simple publish-subscribe API for sending and receiving data streams, unburdening them from the task of selecting and coordinating communication channels. Our demonstration shows two Android applications, Disseminate and Prophet, running using our XD middleware for communication. We implemented BLE, WiFi Direct with TCP, and WiFi Direct with UDP communication stacks underneath XD.
{"title":"XD (Exchange-Deliver): A Middleware for Developing Device-to-Device Mobile Applications","authors":"T. Kalbarczyk, C. Julien","doi":"10.1145/2897073.2897706","DOIUrl":"https://doi.org/10.1145/2897073.2897706","url":null,"abstract":"In this demonstration, we showcase the XD middleware, a framework for expressive multiplexing of application communication streams onto underlying device-to-device communication links. XD allows applications to remain agnostic about which low-level networking stack is actually delivering messages and instead focus on the application-level content and delivery parameters. The IoT space has been flooded with new communication technologies (e.g., BLE, ZigBee, 6LoWPAN) to add to those already available on modern mobile devices (e.g., BLE, WiFi-Direct), substantially increasing the barrier to entry for developing innovative IoT applications. XD presents application developers with a simple publish-subscribe API for sending and receiving data streams, unburdening them from the task of selecting and coordinating communication channels. Our demonstration shows two Android applications, Disseminate and Prophet, running using our XD middleware for communication. We implemented BLE, WiFi Direct with TCP, and WiFi Direct with UDP communication stacks underneath XD.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"151 3-4","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120913586","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}
Umme Ayda Mannan, Iftekhar Ahmed, Rana Abdullah M. Almurshed, Danny Dig, Carlos Jensen
Code smells are associated with poor coding practices that cause long-term maintainability problems and mask bugs. Despite mobile being a fast growing software sector, code smells in mobile applications have been understudied. We do not know how code smells in mobile applications compare to those in desktop applications, and how code smells are affecting the design of mobile applications. Without such knowledge, application developers, tool builders, and researchers cannot improve the practice and state of the art of mobile development.We first reviewed the literature on code smells in Android applications and found that there is a significant gap between the most studied code smells in literature and most frequently occurring code smells in real world applications. Inspired by this finding, we conducted a large scale empirical study to compare the type, density, and distribution of code smells in mobile vs. desktop applications. We analyze an open-source corpus of 500 Android applications (total of 6.7M LOC) and 750 desktop Java applications (total of 16M LOC), and compare 14,553 instances of code smells in Android applications to 117,557 instances of code smells in desktop applications. We find that, despite mobile applications having different structure and workflow than desktop applications, the variety and density of code smells is similar. However, the distribution of code smells is different – some code smells occur more frequently in mobile applications. We also found that different categories of Android applications have different code smell distributions. We highlight several implications of our study for application developers, tool builders, and researchers.
{"title":"Understanding Code Smells in Android Applications","authors":"Umme Ayda Mannan, Iftekhar Ahmed, Rana Abdullah M. Almurshed, Danny Dig, Carlos Jensen","doi":"10.1145/2897073.2897094","DOIUrl":"https://doi.org/10.1145/2897073.2897094","url":null,"abstract":"Code smells are associated with poor coding practices that cause long-term maintainability problems and mask bugs. Despite mobile being a fast growing software sector, code smells in mobile applications have been understudied. We do not know how code smells in mobile applications compare to those in desktop applications, and how code smells are affecting the design of mobile applications. Without such knowledge, application developers, tool builders, and researchers cannot improve the practice and state of the art of mobile development.We first reviewed the literature on code smells in Android applications and found that there is a significant gap between the most studied code smells in literature and most frequently occurring code smells in real world applications. Inspired by this finding, we conducted a large scale empirical study to compare the type, density, and distribution of code smells in mobile vs. desktop applications. We analyze an open-source corpus of 500 Android applications (total of 6.7M LOC) and 750 desktop Java applications (total of 16M LOC), and compare 14,553 instances of code smells in Android applications to 117,557 instances of code smells in desktop applications. We find that, despite mobile applications having different structure and workflow than desktop applications, the variety and density of code smells is similar. However, the distribution of code smells is different – some code smells occur more frequently in mobile applications. We also found that different categories of Android applications have different code smell distributions. We highlight several implications of our study for application developers, tool builders, and researchers.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"112 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":"124588182","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}
Smartphones and mobile apps are increasingly used to manage and store sensitive data by both corporations and individuals. In this paper, common iOS mobile application flaws are reviewed as seen in real-world applications. For each type of flaw, defenses are recommended and it is shown how the author's tool 'idb' can be used to efficiently test for a range of these application flaws. The idb tool is open source and available to the public.
{"title":"idb: A Tool for Blackbox iOS Security Assessments","authors":"D. Mayer","doi":"10.1145/2897073.2897710","DOIUrl":"https://doi.org/10.1145/2897073.2897710","url":null,"abstract":"Smartphones and mobile apps are increasingly used to manage and store sensitive data by both corporations and individuals. In this paper, common iOS mobile application flaws are reviewed as seen in real-world applications. For each type of flaw, defenses are recommended and it is shown how the author's tool 'idb' can be used to efficiently test for a range of these application flaws. The idb tool is open source and available to the public.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"31 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":"116262098","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}