Automated Analysis and Debugging of Android Applications

Publication Type:
Thesis
Issue Date:
2023
Full metadata record
Android is the most widely used mobile platform, known for its open-source nature, enabling contributions from various stakeholders for continuous improvement. Frequent updates and changes to its software versions result in the need for developers to update their apps regularly, leading to a higher chance of introducing bugs. Debugging Android apps is challenging due to multiple entry points and event-driven features. This dissertation aims to improve debugging for Android apps through two contributions. The first contribution is ESDroid, an Event-aware dynamic Slicing technique for AnDroid apps. It combines segment-based delta debugging with dynamic backward slicing to narrow down the search space during debugging. This approach provides a precise slice, making bug identification and resolution more effective. The second contribution is SfR (Slicing for Resources), which addresses the limitations of existing static and dynamic slicing techniques for Android apps. It focuses on faults located in application resources like layout definitions and user interface strings. SfR identifies dependencies between program statements and resources, creating comprehensive slices that encompass these critical components of Android apps. These contributions advance the state-of-the-art in Android app development and debugging practices, offering valuable insights to help developers enhance their debugging processes. Additionally, the dissertation extends its scope to automated analysis of unethical behavior in open-source software (OSS) projects, including Android projects. The third contribution, Ethic detector (Etor), is an innovative approach leveraging automated analysis techniques to detect unethical behavior within OSS projects. It addresses security, privacy, and code quality issues, ultimately fostering responsible practices within the OSS community and building a foundation of user trust. In conclusion, this dissertation provides two complementary works to aid developers in improving debugging for Android apps. ESDroid and SfR offer effective ways to narrow down search spaces and identify bugs, while Etor focuses on automated analysis to detect unethical behavior in OSS projects. These contributions collectively advance Android app development and promote responsible practices in the OSS community.
Please use this identifier to cite or link to this item: