MiniMon: Minimizing Android Applications with Intelligent Monitoring-Based Debloating
The size of Android applications is getting larger to fulfill the requirements of various users. However, not all the features of the applications are needed and desired by a specific user. The unnecessary and non-desired features can increase the attack surface and consume system resources such as storage and memory. To address this issue, we propose a framework, MiniMon, to debloat unnecessary features from an Android app based on the logs of specific users’ interactions with the app.
However, rarely used features may not be recorded during the data collection, and users’ preferences may change slightly over time. To address these challenges, we embed several solutions in our framework that can uncover user-desired features by learning and generalizing from the logs of how users interact with an application. MiniMon first collects the application methods that are executed when users interact with it. Then, given the collected executed methods and the call graph of the application, MiniMon applies 10 techniques to generalize from logs. These include three program analysis-based techniques, two graph clustering-based techniques, and five graph embedding-based techniques to identify the additional methods in an app that are similar to the logged executed methods. Finally, MiniMon generates a debloated application by removing methods that are not similar to the executed methods. To evaluate the performance of variants of MiniMon that use different generalization techniques, we create a benchmark for a controlled experiment. The results show that the graph embedding-based generalization technique that considers the information of all nodes in the call graph is the best, and can correctly uncover 75.5% of the unobserved but desired behaviors and still debloat more than half of the app. We also conducted a user study that uncovers that the use of the intelligent (generalization) method of MiniMon boosts the overall user satisfaction rate by 37.6%.
Fri 19 AprDisplayed time zone: Lisbon change
11:00 - 12:30 | Analytics 4Demonstrations / Software Engineering in Practice / Journal-first Papers / Research Track at Amália Rodrigues Chair(s): Gabriele Bavota Software Institute @ Università della Svizzera Italiana | ||
11:00 15mResearch paper | Shedding Light on Software Engineering-specific Metaphors and Idioms Research Track Mia Mohammad Imran Virginia Commonwealth University, Preetha Chatterjee Drexel University, USA, Kostadin Damevski Virginia Commonwealth University Pre-print | ||
11:15 15mTalk | MiniMon: Minimizing Android Applications with Intelligent Monitoring-Based Debloating Research Track Jiakun Liu Singapore Management University, Zicheng Zhang School of Computing and Information Systems, Singapore Management University, Xing Hu Zhejiang University, Ferdian Thung Singapore Management University, Shahar Maoz Tel Aviv University, Debin Gao Singapore Management University, Eran Toch Tel Aviv University, Zhipeng Zhao Singapore Management University, David Lo Singapore Management University | ||
11:30 15mTalk | On the Costs and Benefits of Adopting Lifelong Learning for Software Analytics - Empirical Study on Brown Build and Risk Prediction Software Engineering in Practice Doriane Olewicki Queen's University, Sarra Habchi Ubisoft Montréal, Mathieu Nayrolles Ubisoft Montreal, Mojtaba Faramarzi Université de Montréal, Sarath Chandar Polytechnique Montréal, Bram Adams Queen's University Pre-print | ||
11:45 15mTalk | An Ethnographic Study on the CI of A Large Scale Project Software Engineering in Practice Zikuan Wang Nanjing University, Bohan Liu Nanjing University, Zeye Zhan Nanjing University, He Zhang Nanjing University, Gongyuan Li Nanjing University | ||
12:00 7mTalk | An Empirical Study of Refactoring Rhythms and Tactics in the Software Development Process Journal-first Papers Shayan Noei Queen's University, Heng Li Polytechnique Montréal, Stefanos Georgiou Queen's University, Ying Zou Queen's University, Kingston, Ontario | ||
12:07 7mTalk | Insights into Software Development Approaches: Mining Q&A Repositories [Journal-first] Journal-first Papers Arif Ali Khan University of Oulu, Javed Ali Khan University of Hertforshire Hertfordshire, UK, Muhammad Azeem Akbar LUT University, Zhou Peng Nanjing University of Aeronautics and Astronautics Nanjing, China, Mahdi Fahmideh University of Southern Queensland, Arif Ali Khan University of Oulu, Arif Ali Khan University of Oulu Link to publication DOI | ||
12:14 7mTalk | Can My Microservice Tolerate an Unreliable Database? Resilience Testing with Fault Injection and Visualization Demonstrations Michael Assad Technical University of Munich, Christopher S. Meiklejohn Carnegie Mellon University, Heather Miller Carnegie Mellon University and Two Sigma, Stephan Krusche Technical University of Munich DOI Pre-print Media Attached | ||
12:21 7mTalk | CATMA: Conformance Analysis Tool For Microservice Applications Demonstrations Clinton Cao Delft University of Technology, Simon Schneider Hamburg University of Technology, Nicolás E. Díaz Ferreyra Hamburg University of Technology, Sicco Verwer TU Delft, Annibale Panichella Delft University of Technology, Riccardo Scandariato Hamburg University of Technology Pre-print Media Attached |