1. XDebloat: Towards Automated Feature-Oriented App Debloating
- Author
-
Xiapu Luo, Yutian Tang, Hao Zhou, Yan Cai, Haoyu Wang, Ting Chen, and Zhou Xu
- Subjects
Flexibility (engineering) ,Process (engineering) ,Computer science ,Feature (computer vision) ,business.industry ,Code (cryptography) ,Callback ,Pruning (decision trees) ,Android (operating system) ,Software engineering ,business ,Software ,Software bloat - Abstract
Existing programming practices for building Android apps mainly follow the one-size-fits-all strategy to include lots of functions and adapt to most types of devices. However, this strategy can result in software bloat and many serious issues, such as slow download speed, and large attack surfaces. Existing solutions cannot effectively debloat an app as they either lack flexibility or require human efforts. This work proposes a novel feature-oriented debloating approach and builds a new tool, named XDebloat, to automate this process in a flexible manner. First, XDebloat supports feature location approaches at a fine granularity. It also makes the feature location results editable and changeable. Second, XDebloat considers several Android-oriented issues (i.e., callback, UI dependencies), which are not covered in the state-of-art approaches. Third, XDebloat support two major debloating strategies: pruning-based and module-based debloating. We evaluate XDebloat with 200 open-source and 1,000 commercial apps. The results show that XDebloat can successfully remove unwanted features from apps or transform them into on-demand modules within 10 minutes. For the pruning-based debloating strategy, on average, XDebloat can remove 32.1% code from an app. For the module-based debloating strategy, XDebloat can help developers build modules automatically.
- Published
- 2022
- Full Text
- View/download PDF