Mobile apps rely heavily on the application programming interface (API) provided by their underlying operating system (OS). Because OS and API can change frequently, developers must quickly update their apps to ensure that the apps behave as intended with new API and OS versions. To help developers with this tedious, error prone, and time consuming task, we developed a technique that can automatically perform app updates for API changes based on examples of how other developers evolved their apps for the same changes. Our technique takes as inputs a target app to be updated and information about the changes in the API, and performs four main steps. First, it analyzes the target app to identify code affected by API changes. Second, it searches existing code bases for examples of updates to the new version of the API. Third, it analyzes, ranks, and transforms into generic patches the update examples found in the previous step. Finally, it applies the generated patches to the target app in order of ranking, while performing differential testing to validate the update. We implemented our technique and performed an empirical evaluation on 15 real-world apps with promising results. Overall, our technique was able to automatically handle 85% of the API changes and suitable update the target apps.
Thu 18 JulDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
16:00 - 17:30 | |||
16:00 22mTalk | Effective and Efficient API Misuse Detection via Exception Propagation and Search-based Testing Technical Papers Maria Kechagia University College London, Xavier Devroey Delft University of Technology, Annibale Panichella Deflt University of Technology, Georgios Gousios TU Delft, Arie van Deursen Delft University of Technology DOI Pre-print Media Attached | ||
16:22 22mTalk | Automated API-Usage Update for Android Apps Technical Papers Mattia Fazzini Georgia Institute of Technology, Qi Xin Georgia Institute of Technology, Alessandro Orso Georgia Tech | ||
16:45 22mTalk | A Large-Scale Study of Application Incompatibilities in Android Technical Papers Haipeng Cai Washington State University, USA, Ziyi Zhang , Li Li Monash University, Australia, Xiaoqin Fu Washington State University Pre-print | ||
17:07 22mTalk | Deferred Concretization in Symbolic Execution via Fuzzing Technical Papers |