Article (Scientific journals)
Resolving Conditional Implicit Calls to Improve Static and Dynamic Analysis in Android Apps
SAMHI, Jordan; Just, René; Ernst, Michael D. et al.
2025In ACM Transactions on Software Engineering and Methodology
Peer Reviewed verified by ORBi Dataset
 

Files


Full Text
paper.pdf
Author postprint (753.93 kB) Creative Commons License - Attribution
Download

All documents in ORBilu are protected by a user license.

Send to



Details



Keywords :
Static Analysis; Android Security; Data Leaks
Abstract :
[en] An implicit call is a mechanism that triggers the execution of a method m without a direct call to m in the code being analyzed. For instance, in Android apps the Thread.start() method implicitly executes the Thread.run() method. These implicit calls can be conditionally triggered by programmer-specified constraints that are evaluated at run time. For example, the JobScheduler.schedule() method can be called to implicitly execute the JobService.onStartJob() method only if the device’s battery is charging. Such conditional implicit calls can effectively disguise logic bombs, posing significant challenges for both static and dynamic software analyses. Conservative static analysis may produce false-positive alerts due to over-approximation, while less conservative approaches might overlook potential covert behaviors, which is a serious concern in security analysis. Dynamic analysis may fail to generate the specific inputs required to activate these implicit call targets. To address these challenges, we introduce Archer, a tool designed to resolve conditional implicit calls and extract the constraints triggering execution control transfer. Our evaluation reveals that (1) implicit calls are prevalent in Android apps; (2) Archer enhances app models’ soundness beyond existing static analysis methods; and (3) Archer successfully infers constraint values, enabling dynamic analyzers to detect and assess conditionally triggered implicit calls through improved code coverage.
Disciplines :
Computer science
Author, co-author :
SAMHI, Jordan  ;  University of Luxembourg
Just, René ;  University of Washington, USA
Ernst, Michael D. ;  University of Washington, USA
BISSYANDE, Tegawendé  ;  University of Luxembourg
KLEIN, Jacques  ;  University of Luxembourg
External co-authors :
yes
Language :
English
Title :
Resolving Conditional Implicit Calls to Improve Static and Dynamic Analysis in Android Apps
Publication date :
17 April 2025
Journal title :
ACM Transactions on Software Engineering and Methodology
ISSN :
1049-331X
Publisher :
Association for Computing Machinery (ACM)
Peer reviewed :
Peer Reviewed verified by ORBi
Focus Area :
Security, Reliability and Trust
FnR Project :
FNR16344458 - REPROCESS - Pre And Post Processing For Comprehensive And Practical Android App Static Analysis, 2021 (01/07/2022-30/06/2025) - Jacques Klein
FNR18154263 - UNLOCK - Breaking The Barriers Of Android Dynamic Analysis With Static Analysis, 2023 (01/01/2024-31/12/2026) - Jacques Klein
Available on ORBilu :
since 24 April 2025

Statistics


Number of views
73 (2 by Unilu)
Number of downloads
41 (0 by Unilu)

OpenCitations
 
0
OpenAlex citations
 
0

Bibliography


Similar publications



Contact ORBilu