Comprehensive Multiplatform Dynamic Program Analysis for Java and Android

Yudi Zheng, Stephen Kell, Lubomir Bulej, Haiyang Sun, Walter Binder
2016 IEEE Software  
Dynamic program analyses, such as profiling, tracing and bug-finding tools, are essential for software engineering. Unfortunately, implementing dynamic analyses for managed languages such as Java is unduly difficult and error-prone, because the runtime environments provide only complex low-level mechanisms. Currently, programmers writing custom tooling must expend great effort in tool development and maintenance, while still suffering substantial limitations such as incomplete code coverage or
more » ... ack of portability. Ideally, a framework would be available in which dynamic analysis tools could be expressed at a high level, robustly, with high coverage and supporting alternative runtimes such as Android. We describe our research on an "all-in-one" dynamic program analysis framework which uses a combination of techniques to satisfy these requirements.
doi:10.1109/ms.2015.151 fatcat:q3ia65b2jfbcdeqzf3ty66j3ye