How Android Developers Handle Evolution-induced API Compatibility Issues: A Large-scale StudyTechnical
As Android platform evolves in a fast pace, API-related compatibility issues become a significant challenge for developers. Existing works mainly focus on detecting whether an app performs sufficient checks to avoid invoking incompatible APIs on platforms that do not support them. Besides checking the presence of compatibility issues, another important problem is how to fix/work-around these issues. To shed light on the current practice of fixing evolution-induced API compatibility issues, this paper performs the first large-scale study of compatibility issues for about 300,000 Android market apps, and more importantly, their solutions (if exist). However, it is in general very challenging to determine if developers have put in counter-measure for a compatibility issue, as different APIs have diverse behaviors, rendering various repair. We propose a learning-based approach, RAPID, that leverages static analysis and machine learning to build a classifier to determine if a compatibility issue has been addressed. Results show that the trained classifier is quite effective by achieving a F1-score of 95.21% and 91.96% in the training stage and the validation stage respectively. With the help of RAPID, our study yields a number of interesting findings, e.g. only 38.4% of the incompatible API uses are actually provided alternative implementation as a fix; the fix ratio for incompatible APIs with Google recommendations is significantly higher than those without recommendations, but Google only provides recommendations for very few APIs; developers find more ways to repair such issues than Google’s recommendations and there is a large room to improve the current status of compatibility issue handling.
Thu 9 JulDisplayed time zone: (UTC) Coordinated Universal Time change
08:05 - 09:05 | I18-APIs and CommitsNew Ideas and Emerging Results / Journal First / Technical Papers at Silla Chair(s): Massimiliano Di Penta University of Sannio | ||
08:05 8mTalk | Enriching API Documentation with Code Samples and Usage Scenarios from Crowd KnowledgeJ1 Journal First Jingxuan Zhang Nanjing University of Aeronautics and Astronautics, He Jiang School of Software, Dalian University of Technology, Zhilei Ren Dalian University of Technology, Tao Zhang Harbin Engineering University, Zhiqiu Huang Nanjing University of Aeronautics and Astronautics | ||
08:13 6mTalk | Cooperative API Misuse Detection Using Correction RulesNIER New Ideas and Emerging Results Sebastian Nielebock Otto-von-Guericke University Magdeburg, Germany, Robert Heumüller Chair of Software Engineering, Faculty of Computer Science, Otto-von-Guericke-University Magdeburg, Jacob Krüger Otto von Guericke University Magdeburg, Frank Ortmeier Otto-von-Guericke-University Magdeburg, Faculty of Computer Science, Chair of Software Engineering DOI Pre-print | ||
08:19 12mTalk | How Android Developers Handle Evolution-induced API Compatibility Issues: A Large-scale StudyTechnical Technical Papers Hao Xia Fudan University, Yuan Zhang Fudan University, Yingtian Zhou Fudan University, Xiaoting Chen Fudan University, Yang Wang Fudan University, Xiangyu Zhang Purdue University, Shuaishuai Cui Fudan University, Geng Hong Fudan University, Xiaohan Zhang Fudan University, Min Yang Fudan University, Zhemin Yang Fudan University | ||
08:31 12mTalk | An Empirical Study on API Parameter RulesTechnical Technical Papers | ||
08:43 6mTalk | Boosting Automated Program Repair with Bug-Inducing CommitsNIER New Ideas and Emerging Results Ming Wen Huazhong University of Science and Technology, China, Yepang Liu Southern University of Science and Technology, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology | ||
08:49 12mTalk | Software Documentation: The Practitioners' PerspectiveTechnical Technical Papers Emad Aghajani Software Institute, USI - Lugano, Switzerland, Csaba Nagy Software Institute - USI, Lugano, Switzerland, Mario Linares-Vásquez Universidad de los Andes, Laura Moreno Colorado State University, Gabriele Bavota Università della Svizzera italiana, Michele Lanza Universita della Svizzera italiana (USI), David C. Shepherd Virginia Commonwealth University Pre-print Media Attached |