Compatibility Issue Detection for Android Apps Based on Path-Sensitive Semantic Analysis
Android API-related compatibility issues have become a severe problem and significant challenge for app developers due to the well-known Android fragmentation issues. To address this problem, many effective approaches such as app-based and API lifecycle-based methods have been proposed to identify incompatible API usages. However, due to the various implementations of API usages and different API invoking paths, there is still a significant weakness of existing approaches, i.e., introducing a massive number of false positives (FP) and false negatives (FN).
To this end, in this paper, we propose PSDroid, an automated compatibility detection approach for Android apps, which aims to reduce FPs and FNs by overcoming several technical bottlenecks. Firstly, we make substantial efforts to carry out a preliminary study to summarize a set of novel API usages with diverse checking implementations. Secondly, we construct a refined API lifecycle database by leveraging a semantic resolving analysis on all existing Android SDK frameworks. Based on the above two key phases, we design and implement a novel path-sensitive semantic approach to effectively and automatically detect incompatibility issues. To demonstrate the performance of PSDroid, we compared PSDroid with five existing approaches (i.e., FicFinder, ACRYL, CIDER, IctAPIFinder, and CiD) and the results show that PSDroid outperforms existing tools. We also conducted an in-depth root cause analysis to comprehensively explain the ability of PSDroid in reducing FPs and FNs. Finally, 16/30 reported issues have been confirmed and further fixed by app developers.
Wed 17 MayDisplayed time zone: Hobart change
11:00 - 12:30 | APIs and librariesTechnical Track / Journal-First Papers / SEIP - Software Engineering in Practice at Meeting Room 105 Chair(s): Sarah Nadi University of Alberta | ||
11:00 15mTalk | UpCy: Safely Updating Outdated Dependencies Technical Track Andreas Dann Paderborn University, Ben Hermann TU Dortmund, Eric Bodden Heinz Nixdorf Institut, Paderborn University and Fraunhofer IEM Pre-print | ||
11:15 15mTalk | APICAD: Augmenting API Misuse Detection Through Specifications From Code And Documents Technical Track DOI Pre-print | ||
11:30 15mTalk | Compatibility Issue Detection for Android Apps Based on Path-Sensitive Semantic Analysis Technical Track Sen Yang Army Engineering University of PLA, Sen Chen Tianjin University, Lingling Fan Nankai University, Sihan Xu Nankai University, China, Zhanwei Hui Academy of Military Science, Song Huang Army Engineering University of PLA | ||
11:45 15mTalk | OSSFP: Precise and Scalable C/C++ Third-Party Library Detection using Fingerprinting Functions Technical Track Wu Jiahui Nanyang Technological University, Zhengzi Xu Nanyang Technological University, Wei Tang Tsinghua University, Lyuye Zhang Nanyang Technological University, Yueming Wu Nanyang Technological University, Chengyue Liu Scantist, Kairan Sun Singapore University of Technology and Design, Lida Zhao Nanyang Technological University, Yang Liu Nanyang Technological University | ||
12:00 15mTalk | Scaling Web API Integrations SEIP - Software Engineering in Practice Pre-print | ||
12:15 7mTalk | Giving Back: Contributions Congruent to Library Dependency Changes in a Software Ecosystem Journal-First Papers Supatsara Wattanakriengkrai Nara Institute of Science and Technology, Dong Wang Kyushu University, Japan, Raula Gaikovina Kula Nara Institute of Science and Technology, Christoph Treude University of Melbourne, Patanamon Thongtanunam University of Melbourne, Takashi Ishio Future University Hakodate, Kenichi Matsumoto Nara Institute of Science and Technology Link to publication | ||
12:22 7mTalk | Breaking Bad? Semantic Versioning and Impact of Breaking Changes in Maven Central Journal-First Papers Lina Ochoa Eindhoven University of Technology, Thomas Degueule CNRS, LaBRI, Jean-Rémy Falleri Bordeaux INP, Jurgen Vinju CWI; Eindhoven University of Technology |