{"title":"Responsiveness analysis tool for Android application","authors":"Thanaporn Ongkosit, Shingo Takada","doi":"10.1145/2661694.2661695","DOIUrl":"https://doi.org/10.1145/2661694.2661695","url":null,"abstract":"Responsiveness is an important type of quality factor in Android application because it directly affects user experience. When the user interface thread performs lengthy operations, the user may feel that the application has become sluggish or frozen. This may lead to a negative user experience, poor review, and loss in market success. This paper proposes a static responsiveness analysis tool for Android applications to find potentially poor responsiveness defects which are difficult to detect by conventional testing methods as they are sensitive to the user environment. This tool finds responsiveness defects by discovering operations invoked in the user interface thread that may block the execution of other operations. We collect these operations according to Android developer guideline and previous related work. The proposed tool successfully found 45 potential responsiveness defects in seven open source Android applications.","PeriodicalId":318577,"journal":{"name":"Proceedings of the 2nd International Workshop on Software Development Lifecycle for Mobile","volume":"130 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116601388","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}
{"title":"Attack surfaces for mobile devices","authors":"M. Sherman","doi":"10.1145/2661694.2661696","DOIUrl":"https://doi.org/10.1145/2661694.2661696","url":null,"abstract":"Mobile platforms represent an increasing valuable target for adversaries. This paper discusses attack surfaces – points of attack – that mobile devices present. Several important mobile device capabilities in communication, computation and sensors enable attack surfaces not usually seen in desktop or server systems. These attack surfaces are not generally considered in recommendations from current secure software development lifecycles. Mitigation of the threats or reduction of the attack surfaces is needed when constructing secure mobile software.","PeriodicalId":318577,"journal":{"name":"Proceedings of the 2nd International Workshop on Software Development Lifecycle for Mobile","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127461739","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}
{"title":"Improving responsiveness in mobile apps via refactoring for asynchrony (invited talk)","authors":"Danny Dig","doi":"10.1145/2661694.2661700","DOIUrl":"https://doi.org/10.1145/2661694.2661700","url":null,"abstract":"One contemporary development task is refactoring long-running, blocking synchronous code (e.g., accessing the web, database, or file system) into non-blocking asynchronous code. Asynchronous programming is in demand today because responsiveness is especially important on mobile devices. While major programming languages make asynchronous programming possible, they do not make it easy. In this invited talk we present our growing refactoring toolset that enables Android and Windows Phone developers to retrofit asynchrony. There are several challenges that our toolset addresses: reasoning about a programming model which inverts the flow of control, determining non-interference of asynchronous operations with the main thread of execution, converting from legacy callback-based idioms to the newer style, etc. Our empirical evaluation shows that our toolset is (i) highly applicable, (ii) accurate, (iii) safer than manual refactoring, (iv) it saves development effort, (v) its results have been accepted by the open-source developers, thus it is useful.","PeriodicalId":318577,"journal":{"name":"Proceedings of the 2nd International Workshop on Software Development Lifecycle for Mobile","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132023014","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}
{"title":"Automated detection and mitigation of inter-application security vulnerabilities in Android (invited talk)","authors":"S. Malek, H. Bagheri, Alireza Sadeghi","doi":"10.1145/2661694.2661699","DOIUrl":"https://doi.org/10.1145/2661694.2661699","url":null,"abstract":"Android is the most popular platform for mobile devices. It facilitates sharing data and services between applications by providing a rich inter-application communication system. While such sharing can be controlled by the Android permission system, enforcing permissions is not sufficient to prevent security violations, since permissions may be mismanaged, intentionally or unintentionally, which can compromise user privacy. In this paper, we provide an overview of a novel approach for compositional analysis of Android inter-application vulnerabilities, entitled COVERT. Our analysis is modular to enable incremental analysis of applications as they are installed on an Android device. It extracts security specifications from application packages, captures them in an analyzable formal specification language, and checks whether it is safe for a combination of applications - holding certain permissions and potentially interacting with each other - to install simultaneously. To our knowledge, our work is the first formally-precise analysis tool for automated compositional analysis of Android applications.","PeriodicalId":318577,"journal":{"name":"Proceedings of the 2nd International Workshop on Software Development Lifecycle for Mobile","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121373530","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}
{"title":"Energy-aware design patterns for mobile application development (invited talk)","authors":"Abhijeet Banerjee, Abhik Roychoudhury","doi":"10.1145/2661694.2661698","DOIUrl":"https://doi.org/10.1145/2661694.2661698","url":null,"abstract":"Developing energy-efficient application is crucial for mobile platforms such as smartphone and tablets, since such devices operate on a limited amount of battery power. However, until recently most of the smartphone applications have been developed in an energy-oblivious fashion. This is increasingly becoming a concern due to the fact that smartphone applications are progressively becoming complex and energy-intensive, whereas the battery technology is unable to keep up. Existing studies have proposed a number of testing and re-factoring techniques that can be used to increase the energy-efficiency of such applications, after the development has been completed. However, we feel that maximum level of energy-efficiency can be achieved only if energy-efficient design practices are used in the software development process. In this study, we propose a set of energy-aware design patterns, specifically targeted at smartphone applications. These design patterns can be applied to huge number of real-life scenarios for energy-efficient information gathering and processing, within the smartphone application. We also present some examples of design patterns for application development for the Android platform.","PeriodicalId":318577,"journal":{"name":"Proceedings of the 2nd International Workshop on Software Development Lifecycle for Mobile","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117162860","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}
{"title":"Perspectives on task ownership in mobile operating system development (invited talk)","authors":"Subhajit Datta","doi":"10.1145/2661694.2661702","DOIUrl":"https://doi.org/10.1145/2661694.2661702","url":null,"abstract":"There can be little contention about Stroustrup's epigrammatic remark: our civilization runs on software. However a caveat is increasingly due, much of the software that runs our civilization, runs on mobile devices today. Mobile operating systems have come to play a preeminent role in the ubiquity and utility of such devices. The development ecosystem of Android - one of the most popular mobile operating systems - presents an interesting context for studying whether and how collaboration dynamics in mobile development differ from conventional software development. In this paper, we examine factors that influence task ownership in Android development. Our results can inform project governance decisions at the individual and organizational levels.","PeriodicalId":318577,"journal":{"name":"Proceedings of the 2nd International Workshop on Software Development Lifecycle for Mobile","volume":"54 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116267064","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}
{"title":"Apposcopy: automated detection of Android malware (invited talk)","authors":"Yu Feng, Işıl Dillig, Saswat Anand, A. Aiken","doi":"10.1145/2661694.2661697","DOIUrl":"https://doi.org/10.1145/2661694.2661697","url":null,"abstract":"We present Apposcopy, a new semantics-based approach for detecting Android malware that steal private information. Apposcopy incorporates (i) a high-level language for specifying malware signatures and (ii) a static analysis for deciding if a given application matches a given signature. We have evaluated Apposcopy on a corpus of real-world Android applications and show that it can effectively pinpoint malicious applications that belong to certain malware families.","PeriodicalId":318577,"journal":{"name":"Proceedings of the 2nd International Workshop on Software Development Lifecycle for Mobile","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132924999","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}
{"title":"Proceedings of the 2nd International Workshop on Software Development Lifecycle for Mobile","authors":"","doi":"10.1145/2661694","DOIUrl":"https://doi.org/10.1145/2661694","url":null,"abstract":"","PeriodicalId":318577,"journal":{"name":"Proceedings of the 2nd International Workshop on Software Development Lifecycle for Mobile","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129722178","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}