ArkAnalyzer: The Static Analysis Framework for OpenHarmony Apps

ArkAnalyzer

Abstract

ArkTS is a new programming language dedicated to developing apps for the emerging OpenHarmony mobile operating system. Like other programming languages (e.g., Type-scripts) constantly suffering from performance-related code smells or vulnerabilities, the ArkTS programming language will likely encounter the same problems. The solution given by our research community is to invent static analyzers, which are often implemented on top of a common static analysis framework, to detect and subsequently repair those issues automatically. Unfortunately, such an essential framework is not available for the OpenHarmony community yet. Existing program analysis methods have several problems when handling the ArtTS code. To bridge the gap, we design and implement a framework named ArkAnalyzer and make it publicly available as an open-source project. Our ArkAnalyzer addresses the aforementioned problems and has already integrated a number of fundamental static analysis functions (e.g., control-flow graph constructions, call graph constructions, etc.) that are ready to be reused by developers to implement OpenHarmony app analyzers focusing on statically resolving dedicated issues such as performance bug detection, privacy leaks detection, compatibility issues detection, etc. Experiment results show that our ArkAnalyzer achieves both high analyzing efficiency and high effectiveness. In addition, we open-sourced the dataset that has numerous real-world ArkTS Apps.

Publication
In Proceedings of the 46th IEEE/ACM International Conference on Software Engineering 2025, Software Engineering in Practice Track
Mingyi Zhou
Mingyi Zhou
Assistant Professor

I am in my final (forth) year as a PhD candidate at Monash University, Australia. I will join Beihang University as an Assistant Professor, working with Prof. Chunming Hu and Prof. Li Li.