Aug 2026· ACM Transactions on Software Engineering and Methodology· 0 citations· 46 references
TL;DR
Shalton is introduced, a static analysis framework that analyzes CIL bytecode from C# and Dalvik bytecode from Java and reconstructs interactions between CIL and Dalvik components, enabling existing Android static analyzers to reason about both bytecode formats.
Abstract
Android app development traditionally relies on Java and native languages (C/C++), leading most existing Android analysis tools to focus on these languages. However, cross-platform languages are increasingly used in mobile development, with C# being a representative example. Our preliminary study shows that approximately 14% of real-world Android apps contain C# code, underscoring the need for systematic analysis. Unlike Java code, C# code in these apps runs in a separate managed runtime, while existing tools lack support for cross-runtime analysis of C# and Java code in Android apps. To bridge this gap, we introduce Shalton, a static analysis framework that analyzes CIL bytecode from C# and Dalvik bytecode from Java. Shalton represents CIL bytecode in a Dalvik-compatible form and reconstructs interactions between CIL and Dalvik components, enabling existing Android static analyzers to reason about both bytecode formats. We evaluate Shalton using a new benchmark, SharpDroidBench, and real-world Android apps. The results show that C# code participates in analysis-relevant behaviors, including dynamic code loading and sensitive data transmission. Shalton substantially outperforms a translation-based baseline on SharpDroidBench and enables existing Android analyzers to inspect CIL-implemented app logic that would otherwise remain outside their scope.
Whether off-the-shelf Large Language Models (LLMs) can effectively reason about taint flows in Android apps is investigated, and preliminary findings suggest that LLM reasoning may effectively complement traditional static taint analysis.
Nicholas Miazzo, Marco Alecci, Jordan Samhi et al.· 0 citations
An automated testing tool named R8Scan is developed that utilizes a novel idea to synthesize seeds from prioritized real-world functions and construct the corresponding arguments empowered by Large Language Models to test R8, thus enabling the exploration of a broader range of semantics.
Zi-Fan Xie, Ming Wen, Shi-Yu Qiu et al.· ACM Transactions on Software...· 0 citations
An approach to improving the recall of static analysis of .NET applications using frameworks, such as WPF and Entity Framework Core, is proposed, based on generating an equivalent C# code that models user interaction scenarios that significantly improves the recall of static analysis of framework-based applications.
N. A. Borodavko, V. Ignatiev· Programming and computer sof...· 0 citations
FusionDroid is proposed, a lightweight multimodal Android malware detection framework that integrates permission-based static features, permission co-occurrence graph representations, and engineered runtime behavioral features through probability-level ensemble fusion that can improve Android malware detection while pr...
This paper aims to mitigate the knowledge gap through the first in-depth study of native code bugs in Python applications, dissecting their common symptoms, introducing locations, manifestation characteristics, root causes, and fixes, and obtaining novel findings about and new insights into the occurrence mechanisms an...
A defensive capability analysis for JavaScript libraries that soundly reports every exercised capability for code executed under a lightweight protected runtime, complementing the static analysis with a lightweight runtime enforcement mechanism that blocks those patterns.
Wen-Yu Xu, Anders Møller· Proceedings of the 41st IEEE...· 0 citations
We use cookies to run the site and, with your consent, for analytics and to show ads.
See our Cookie Policy.