首页 > 最新文献

2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)最新文献

英文 中文
An Empirical Study of the Performance Impacts of Android Code Smells Android代码气味对性能影响的实证研究
Geoffrey Hecht, Naouel Moha, Romain Rouvoy
Android code smells are bad implementation practices within Android 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 improve the quality of their mobile apps.
Android代码异味是Android应用程序(或应用程序)中的不良实现实践,可能导致较差的软件质量,特别是在性能方面。然而,性能是移动应用开发中一个主要的软件质量问题。因此,纠正Android代码异味是一项重要的活动,可以提高移动应用程序的性能,并为移动终端用户提供最佳体验,同时考虑到移动设备的有限限制(例如,CPU,内存,电池)。然而,没有实证研究评估了纠正移动代码气味对性能的积极影响。因此,在本文中,我们对两个开源Android应用程序上的三种Android性能代码气味(即内部Getter/Setter,成员忽略方法和HashMap使用)的单独和组合性能影响进行了实证研究。为了进行这项研究,我们使用Paprika工具包在分析的应用程序中检测这三种代码气味,并通过独立纠正每种检测到的气味来获得四个版本的应用程序,以及所有这些应用程序。然后,我们在普通用户场景测试中评估每个版本的性能。特别是,我们使用以下指标来评估UI和内存性能:帧时间、延迟帧数、内存使用和垃圾收集调用数。我们的结果表明,纠正这些Android代码气味可以有效地改善UI和内存性能。特别是,我们观察到在纠正成员忽略方法时UI指标的改善高达12.4%,在纠正三种Android代码气味时内存相关指标的改善高达3.6%。我们相信开发人员可以从这些结果中受益,以指导他们的重构,从而提高他们的移动应用的质量。
{"title":"An Empirical Study of the Performance Impacts of Android Code Smells","authors":"Geoffrey Hecht, Naouel Moha, Romain Rouvoy","doi":"10.1145/2897073.2897100","DOIUrl":"https://doi.org/10.1145/2897073.2897100","url":null,"abstract":"Android code smells are bad implementation practices within Android 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 improve the quality of their mobile apps.","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":"132455630","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}
引用次数: 85
Profiling the Responsiveness of Android Applications via Automated Resource Amplification 通过自动资源放大分析Android应用程序的响应性
Yan Wang, A. Rountev
The responsiveness of the GUI in an Android application is an important component of the user experience. Android guidelines recommend that potentially-expensive operations should not be performed in the GUI thread, but rather in separate threads. The responsiveness of existing code can be improved by introducing such asynchronous processing, either manually or automatically. One simple view is that all potentially-expensive operations should be removed from the GUI thread. We demonstrate that this view is too simplistic, because run-time cost under reasonable conditions may often be below the threshold for poor responsiveness. We propose a profiling approach to characterize response times as a function of the size of a potentially-expensive resource (e.g., shared preferences store, bitmap, or Silt database). By manipulating and "amplifying" such resources automatically, we can obtain a responsiveness profile for each GUI-related callback. The profiling is based on a static analysis to generate tests that trigger expensive operations, followed by a dynamic analysis of amplified test execution. Based on our evaluation, we conclude that many operations can be safely left in the GUI thread. These results highlight the importance of choosing carefully - based on profiling information - the operations that should be removed from the GUI thread, in order to avoid unnecessary code complexity.
Android应用程序中GUI的响应性是用户体验的重要组成部分。Android指南建议,可能代价高昂的操作不应该在GUI线程中执行,而应该在单独的线程中执行。通过引入这种异步处理(手动或自动),可以提高现有代码的响应性。一个简单的观点是,应该从GUI线程中删除所有可能代价高昂的操作。我们证明这种观点过于简单,因为在合理条件下的运行时成本可能经常低于低响应性的阈值。我们提出了一种分析方法,将响应时间描述为潜在昂贵资源(例如,共享偏好存储、位图或淤泥数据库)大小的函数。通过自动操作和“放大”这些资源,我们可以获得每个gui相关回调的响应性概要文件。分析是基于静态分析来生成触发昂贵操作的测试,然后是扩展测试执行的动态分析。根据我们的评估,我们得出结论,许多操作可以安全地留在GUI线程中。这些结果强调了仔细选择(基于分析信息)应该从GUI线程中删除的操作的重要性,以避免不必要的代码复杂性。
{"title":"Profiling the Responsiveness of Android Applications via Automated Resource Amplification","authors":"Yan Wang, A. Rountev","doi":"10.1145/2897073.2897097","DOIUrl":"https://doi.org/10.1145/2897073.2897097","url":null,"abstract":"The responsiveness of the GUI in an Android application is an important component of the user experience. Android guidelines recommend that potentially-expensive operations should not be performed in the GUI thread, but rather in separate threads. The responsiveness of existing code can be improved by introducing such asynchronous processing, either manually or automatically. One simple view is that all potentially-expensive operations should be removed from the GUI thread. We demonstrate that this view is too simplistic, because run-time cost under reasonable conditions may often be below the threshold for poor responsiveness. We propose a profiling approach to characterize response times as a function of the size of a potentially-expensive resource (e.g., shared preferences store, bitmap, or Silt database). By manipulating and \"amplifying\" such resources automatically, we can obtain a responsiveness profile for each GUI-related callback. The profiling is based on a static analysis to generate tests that trigger expensive operations, followed by a dynamic analysis of amplified test execution. Based on our evaluation, we conclude that many operations can be safely left in the GUI thread. These results highlight the importance of choosing carefully - based on profiling information - the operations that should be removed from the GUI thread, in order to avoid unnecessary code complexity.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"43 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":"131664602","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}
引用次数: 29
Mobile User Identification through Authentication Using Keystroke Dynamics and Accelerometer Biometrics 使用击键动力学和加速度计生物识别技术的移动用户身份验证
Kyle R. Corpus, Ralph Joseph DL. Gonzales, Alvin Scott Morada, L. Vea
Biometrics is everything that can be measured in a human being. It has two types; behavioral and physiological. This paper discusses the use of keystroke dynamics, a form of behavioral biometrics that deals with the measure of how a person types, and the utilization of accelerometer biometrics as a form of behavioral biometric that measures how a person holds his mobile device. We collected biometric data from 30 volunteer participants by asking them to enter their 8-16-character password specimens 8 times using a customized tool in a mobile phone. The first 6 collection from each participant was set aside for the training set while the other 2 is for the test set. The data were then processed and extracted keystroke dynamic and accelerometer biometrics using a customized tool written in Java. Several well-known classifiers were trained using keystroke dynamic features alone, accelerometer biometrics alone, and the combination of both. Results show that Neural Network classifier using the combined features gave the most acceptable model. The model performance was further improved by removing some low ranking features defined by the Chi Square attribute evaluator and by removing some features that are highly correlated to other features.
生物识别技术是指人类身上所有可以测量的东西。它有两种类型;行为和生理。本文讨论了击键动力学的使用,这是一种行为生物识别技术,用于测量一个人如何打字,以及加速计生物识别技术的使用,作为一种行为生物识别技术,用于测量一个人如何持有他的移动设备。我们收集了30名志愿者的生物特征数据,要求他们使用手机中的定制工具输入8-16个字符的密码样本8次。来自每个参与者的前6个收集被留作训练集,而其他2个用于测试集。然后使用Java编写的定制工具对数据进行处理并提取击键动态和加速度计生物特征。几个著名的分类器是单独使用击键动态特征、单独使用加速度计生物特征以及两者的组合来训练的。结果表明,神经网络分类器使用组合特征给出了最可接受的模型。通过去除一些由x平方分布属性评估器定义的低排名特征和去除一些与其他特征高度相关的特征,进一步提高了模型的性能。
{"title":"Mobile User Identification through Authentication Using Keystroke Dynamics and Accelerometer Biometrics","authors":"Kyle R. Corpus, Ralph Joseph DL. Gonzales, Alvin Scott Morada, L. Vea","doi":"10.1145/2897073.2897111","DOIUrl":"https://doi.org/10.1145/2897073.2897111","url":null,"abstract":"Biometrics is everything that can be measured in a human being. It has two types; behavioral and physiological. This paper discusses the use of keystroke dynamics, a form of behavioral biometrics that deals with the measure of how a person types, and the utilization of accelerometer biometrics as a form of behavioral biometric that measures how a person holds his mobile device. We collected biometric data from 30 volunteer participants by asking them to enter their 8-16-character password specimens 8 times using a customized tool in a mobile phone. The first 6 collection from each participant was set aside for the training set while the other 2 is for the test set. The data were then processed and extracted keystroke dynamic and accelerometer biometrics using a customized tool written in Java. Several well-known classifiers were trained using keystroke dynamic features alone, accelerometer biometrics alone, and the combination of both. Results show that Neural Network classifier using the combined features gave the most acceptable model. The model performance was further improved by removing some low ranking features defined by the Chi Square attribute evaluator and by removing some features that are highly correlated to other features.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"39 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":"122983161","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}
引用次数: 27
Blending Mobile Programming and Liberal Education in a Social-Economic High School 一所社会经济高中融合移动编程与通识教育
Ilenia Fronza, Nabil El Ioini, Luis Corral
Mobile programming is one of the fastest growing approaches in many fields, such as marketing or e-commerce. From the educational perspective, this means that students should understand that they can build mobile applications (apps) without being professionals, and at the same time recognize their own potential to use technology in any professional path they choose. This goal is not trivial, even if students are in general curious and open to learn about the creation of apps. Indeed, especially in liberal education, students get discouraged upfront as they perceive programming as a difficult task. This paper describes a course that was cre- ated to fit the educational needs of a social-economic high school. Students take part of an interdisciplinary project in which the Software Engineering process is used to promote CT skills. The course was repeated twice and involved 29 students (8th and 9th grade).
移动编程是许多领域中发展最快的方法之一,例如市场营销或电子商务。从教育的角度来看,这意味着学生应该明白,他们可以在没有专业人士的情况下构建移动应用程序(app),同时认识到自己在选择的任何专业道路上使用技术的潜力。这个目标不是微不足道的,即使学生们一般都很好奇并愿意学习应用程序的创建。事实上,尤其是在文科教育中,学生们一开始就感到气馁,因为他们认为编程是一项艰巨的任务。本文介绍了一门适应社会经济型高中教育需要的课程。学生参加一个跨学科的项目,在这个项目中,软件工程的过程被用来提高CT技能。该课程重复了两次,涉及29名学生(8年级和9年级)。
{"title":"Blending Mobile Programming and Liberal Education in a Social-Economic High School","authors":"Ilenia Fronza, Nabil El Ioini, Luis Corral","doi":"10.1145/2897073.2897096","DOIUrl":"https://doi.org/10.1145/2897073.2897096","url":null,"abstract":"Mobile programming is one of the fastest growing approaches in many fields, such as marketing or e-commerce. From the educational perspective, this means that students should understand that they can build mobile applications (apps) without being professionals, and at the same time recognize their own potential to use technology in any professional path they choose. This goal is not trivial, even if students are in general curious and open to learn about the creation of apps. Indeed, especially in liberal education, students get discouraged upfront as they perceive programming as a difficult task. This paper describes a course that was cre- ated to fit the educational needs of a social-economic high school. Students take part of an interdisciplinary project in which the Software Engineering process is used to promote CT skills. The course was repeated twice and involved 29 students (8th and 9th grade).","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"4 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":"133873460","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}
引用次数: 12
Comparing Performance Parameters of Mobile App Development Strategies 比较手机应用开发策略的性能参数
M. Willocx, Jan Vossaert, Vincent Naessens
Mobile cross-platform tools (CPTs) provide an interesting alternative to native development. Cross-platform tools aim at sharing a significant portion of the application codebase between the implementations for the different platforms. This can drastically decrease the development costs of mobile applications. There is, however, some reluctance of mobile application developers to adopt these tools. One of the reasons is that the landscape of CPTs is so diverse that it is hard to select the most suitable CPT to implement a specific application. The contribution of this paper is twofold. First, it presents a performance analysis of a fully functional mobile application implemented with ten cross-platform tools and native for Android, iOS and Windows Phone. The performance tests are executed on a high- and low-end Android and iOS device, and a Windows Phone device. Second, based on the performance analysis, general conclusions of which application developers should be aware when selecting a specific (type of) cross-platform tool are drawn.
移动跨平台工具(cpt)为本地开发提供了一个有趣的选择。跨平台工具的目标是在不同平台的实现之间共享应用程序代码库的重要部分。这可以大大降低移动应用程序的开发成本。然而,移动应用程序开发人员不太愿意采用这些工具。其中一个原因是CPT的前景是如此多样化,以至于很难选择最合适的CPT来实现特定的应用程序。本文的贡献是双重的。首先,它呈现了一个功能齐全的移动应用程序的性能分析,该应用程序使用10个跨平台工具,并在Android、iOS和Windows Phone上运行。性能测试分别在高端和低端Android和iOS设备以及Windows Phone设备上执行。其次,根据性能分析,得出应用程序开发人员在选择特定(类型)跨平台工具时应该注意的一般结论。
{"title":"Comparing Performance Parameters of Mobile App Development Strategies","authors":"M. Willocx, Jan Vossaert, Vincent Naessens","doi":"10.1145/2897073.2897092","DOIUrl":"https://doi.org/10.1145/2897073.2897092","url":null,"abstract":"Mobile cross-platform tools (CPTs) provide an interesting alternative to native development. Cross-platform tools aim at sharing a significant portion of the application codebase between the implementations for the different platforms. This can drastically decrease the development costs of mobile applications. There is, however, some reluctance of mobile application developers to adopt these tools. One of the reasons is that the landscape of CPTs is so diverse that it is hard to select the most suitable CPT to implement a specific application. The contribution of this paper is twofold. First, it presents a performance analysis of a fully functional mobile application implemented with ten cross-platform tools and native for Android, iOS and Windows Phone. The performance tests are executed on a high- and low-end Android and iOS device, and a Windows Phone device. Second, based on the performance analysis, general conclusions of which application developers should be aware when selecting a specific (type of) cross-platform tool are drawn.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"230 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":"114693247","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}
引用次数: 46
Inter-App Communication between Android Apps Developed in App-Inventor and Android Studio 在App-Inventor和Android Studio中开发的Android应用程序之间的应用间通信
L. A. Allison, M. M. Fuad
Communications between mobile apps are an important aspect of mobile platforms. Android is specifically designed with inter-app communication in mind and depends on this to provide different platform specific functionalities. Android Apps can either be designed with the help of Android SDK and using IDEs such as Android Studio or by using a browser based platform called App Inventor. These two development platforms provide their own technique for inter-app communication in the same platform, however lack an established method of inter-app communication when apps are developed using the two seperate development platforms. This paper provides the missing information required for the app communications and presents the method for sending and receiving arguments between apps developed in these two platforms. The paper also outlines the significance of the result, and examines their limitations.
移动应用程序之间的通信是移动平台的一个重要方面。Android是专门为应用间通信而设计的,并依赖于此来提供不同平台的特定功能。Android应用可以借助Android SDK和ide(如Android Studio)来设计,也可以使用基于浏览器的App Inventor平台来设计。这两个开发平台在同一平台上提供了各自的应用间通信技术,但当使用两个独立的开发平台开发应用时,却缺乏既定的应用间通信方法。本文提供了应用程序通信所需的缺失信息,并提出了在这两个平台上开发的应用程序之间发送和接收参数的方法。本文还概述了结果的意义,并检查了它们的局限性。
{"title":"Inter-App Communication between Android Apps Developed in App-Inventor and Android Studio","authors":"L. A. Allison, M. M. Fuad","doi":"10.1145/2897073.2897117","DOIUrl":"https://doi.org/10.1145/2897073.2897117","url":null,"abstract":"Communications between mobile apps are an important aspect of mobile platforms. Android is specifically designed with inter-app communication in mind and depends on this to provide different platform specific functionalities. Android Apps can either be designed with the help of Android SDK and using IDEs such as Android Studio or by using a browser based platform called App Inventor. These two development platforms provide their own technique for inter-app communication in the same platform, however lack an established method of inter-app communication when apps are developed using the two seperate development platforms. This paper provides the missing information required for the app communications and presents the method for sending and receiving arguments between apps developed in these two platforms. The paper also outlines the significance of the result, and examines their limitations.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"18 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":"126664559","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}
引用次数: 6
App Security with JSFlow 应用安全与JSFlow
Daniel Hedin
In the presence of attacker controlled code, popular protection mechanisms such as access control and taint tracking fail. We argue for the necessity of full information-flow control and present JSFlow, an information-flow aware interpreter for full ECMA-262(v.5). Previous work has shown that (hybrid) dynamic information-flow enforcement is a fruitful approach to enforcing secure information flow in the setting of web application. Those results naturally extend to hybrid mobile apps, with JSFlow deployed as a library.
在攻击者控制代码的情况下,访问控制和污染跟踪等流行的保护机制将失效。我们论证了完整信息流控制的必要性,并提出了JSFlow,一个完整ECMA-262(v.5)的信息流感知解释器。以前的工作表明,(混合)动态信息流强制是一种在web应用程序设置中强制安全信息流的有效方法。这些结果自然扩展到混合移动应用程序,JSFlow作为库部署。
{"title":"App Security with JSFlow","authors":"Daniel Hedin","doi":"10.1145/2897073.2897714","DOIUrl":"https://doi.org/10.1145/2897073.2897714","url":null,"abstract":"In the presence of attacker controlled code, popular protection mechanisms such as access control and taint tracking fail. We argue for the necessity of full information-flow control and present JSFlow, an information-flow aware interpreter for full ECMA-262(v.5). Previous work has shown that (hybrid) dynamic information-flow enforcement is a fruitful approach to enforcing secure information flow in the setting of web application. Those results naturally extend to hybrid mobile apps, with JSFlow deployed as a library.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"6 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":"130729273","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}
引用次数: 0
Migrating User Interfaces in Native Mobile Applications: Android to iOS 原生移动应用程序的用户界面迁移:Android到iOS
Xiaochao Fan, Kenny Wong
Mobile application migration is the process of porting an application's source code from one mobile platform to another. This process is difficult due to many differences between the platforms, such as languages, libraries, tools, design principles, and special hardware features. We consider migrating native mobile applications, which are not typically designed to be portable. While language translators exist to convert some of the source code, there is a lack of techniques to migrate the user interface. In this paper, we propose a technique to semi-automatically migrate the user interface of a native mobile application from Android to iOS.
移动应用程序迁移是将应用程序源代码从一个移动平台移植到另一个移动平台的过程。由于平台之间存在许多差异,例如语言、库、工具、设计原则和特殊的硬件特性,这个过程很困难。我们考虑迁移原生移动应用程序,它们通常不是为可移植而设计的。虽然存在语言翻译器来转换一些源代码,但缺乏迁移用户界面的技术。在本文中,我们提出了一种将原生移动应用程序的用户界面从Android半自动迁移到iOS的技术。
{"title":"Migrating User Interfaces in Native Mobile Applications: Android to iOS","authors":"Xiaochao Fan, Kenny Wong","doi":"10.1145/2897073.2897101","DOIUrl":"https://doi.org/10.1145/2897073.2897101","url":null,"abstract":"Mobile application migration is the process of porting an application's source code from one mobile platform to another. This process is difficult due to many differences between the platforms, such as languages, libraries, tools, design principles, and special hardware features. We consider migrating native mobile applications, which are not typically designed to be portable. While language translators exist to convert some of the source code, there is a lack of techniques to migrate the user interface. In this paper, we propose a technique to semi-automatically migrate the user interface of a native mobile application from Android to iOS.","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":"134279478","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}
引用次数: 10
PVDetector: A Detector of Privacy-Policy Violations for Android Apps PVDetector: Android应用程序违反隐私政策的检测器
Rocky Slavin, Xiaoyin Wang, M. Hosseini, James Hester, R. Krishnan, Jaspreet Bhatia, T. Breaux, Jianwei Niu
Many Android apps heavily depend on collecting and sharing sensitive privacy information, such as device ID, location, and postal address, to provide service and value. To protect user privacy, apps are typically required by market places to provide privacy policies informing users about how their private information will be processed. In this paper, we present PVDetector, an automatic tool that analyzes Android apps to detect privacy-policy violations, i.e., inconsistencies between an app’s data collection code and the corresponding description in its privacy policy.
许多Android应用严重依赖于收集和共享敏感的隐私信息,如设备ID、位置和邮政地址,以提供服务和价值。为了保护用户隐私,市场通常要求应用程序提供隐私政策,告知用户他们的私人信息将如何处理。在本文中,我们介绍了PVDetector,这是一种自动工具,可以分析Android应用程序来检测违反隐私政策的行为,即应用程序的数据收集代码与其隐私政策中的相应描述之间的不一致。
{"title":"PVDetector: A Detector of Privacy-Policy Violations for Android Apps","authors":"Rocky Slavin, Xiaoyin Wang, M. Hosseini, James Hester, R. Krishnan, Jaspreet Bhatia, T. Breaux, Jianwei Niu","doi":"10.1145/2897073.2897720","DOIUrl":"https://doi.org/10.1145/2897073.2897720","url":null,"abstract":"Many Android apps heavily depend on collecting and sharing sensitive privacy information, such as device ID, location, and postal address, to provide service and value. To protect user privacy, apps are typically required by market places to provide privacy policies informing users about how their private information will be processed. In this paper, we present PVDetector, an automatic tool that analyzes Android apps to detect privacy-policy violations, i.e., inconsistencies between an app’s data collection code and the corresponding description in its privacy policy.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"49 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":"117112940","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}
引用次数: 9
Identifying Android Inter-app Communication Vulnerabilities Using Static and Dynamic Analysis 使用静态和动态分析识别Android应用间通信漏洞
Biniam Fisseha Demissie, Davide Ghio, M. Ceccato, Andrea Avancini
The Android platform is designed to facilitate inter-app integration and communication, so that apps can reuse functionalities implemented by other apps by resorting to delegation. Though this feature is usually mentioned to be the main reason for the popularity of the platform, it also poses security risks to the end user. Malicious unprivileged apps can exploit the delegation model to access privileged tasks that are exposed by vulnerable apps. In this paper, we present a particularly dangerous case of delegation, that we call the Android Wicked Delegation (AWiDe). Moreover, we compare two distinct approaches to automatically detect inadequate message validation, respectively based on static analysis and on dynamic analysis. We empirically validate our approaches on more than three hundred popular apps. Vulnerabilities detected by us lead to the implementation of successful proof-of-concept attacks, and the app developers have confirmed one of them.
Android平台旨在促进应用程序间的集成和通信,以便应用程序可以通过委托来重用其他应用程序实现的功能。虽然这一特性通常被认为是该平台受欢迎的主要原因,但它也给最终用户带来了安全风险。恶意的非特权应用程序可以利用委托模型访问易受攻击应用程序暴露的特权任务。在本文中,我们将呈现一个特别危险的委托案例,我们将其称为Android Wicked delegate (AWiDe)。此外,我们比较了两种不同的方法来自动检测不充分的消息验证,分别基于静态分析和动态分析。我们在300多款流行应用上验证了我们的方法。我们检测到的漏洞导致了成功的概念验证攻击的实施,应用程序开发人员已经确认了其中一个。
{"title":"Identifying Android Inter-app Communication Vulnerabilities Using Static and Dynamic Analysis","authors":"Biniam Fisseha Demissie, Davide Ghio, M. Ceccato, Andrea Avancini","doi":"10.1145/2897073.2897082","DOIUrl":"https://doi.org/10.1145/2897073.2897082","url":null,"abstract":"The Android platform is designed to facilitate inter-app integration and communication, so that apps can reuse functionalities implemented by other apps by resorting to delegation. Though this feature is usually mentioned to be the main reason for the popularity of the platform, it also poses security risks to the end user. Malicious unprivileged apps can exploit the delegation model to access privileged tasks that are exposed by vulnerable apps. In this paper, we present a particularly dangerous case of delegation, that we call the Android Wicked Delegation (AWiDe). Moreover, we compare two distinct approaches to automatically detect inadequate message validation, respectively based on static analysis and on dynamic analysis. We empirically validate our approaches on more than three hundred popular apps. Vulnerabilities detected by us lead to the implementation of successful proof-of-concept attacks, and the app developers have confirmed one of them.","PeriodicalId":296509,"journal":{"name":"2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)","volume":"2 3 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":"131882887","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}
引用次数: 16
期刊
2016 IEEE/ACM International Conference on Mobile Software Engineering and Systems (MOBILESoft)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1