Dynamic Java program analysis using virtual machine modification

This article focuses on practical questions of performing program analysis for applications executed using interpreters and virtual machines. Using Dalvik virtual machine in Android operating system as target interpreter layer, we showcase the possibilities of program analysis through automatic exec...

Full description

Saved in:
Bibliographic Details
Published in:Trudy Instituta sistemnogo programmirovaniâ Vol. 27; no. 2; pp. 23 - 38
Main Authors: Ermakov, M., Vartanov, S.
Format: Journal Article
Language:English
Published: Russian Academy of Sciences, Ivannikov Institute for System Programming 01.10.2018
Subjects:
ISSN:2079-8156, 2220-6426
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:This article focuses on practical questions of performing program analysis for applications executed using interpreters and virtual machines. Using Dalvik virtual machine in Android operating system as target interpreter layer, we showcase the possibilities of program analysis through automatic execution data extraction and profiling. The article describes functional modifications for Dalvik virtual machine which allow generating extra statistics and data to be intercepted by a debugger client for further processing. We conclude with the brief overview of a set of experiments performed on a set of standard Android applications, identifying several memory usage trends; lastly, we discuss possible future improvements for the implemented system.
ISSN:2079-8156
2220-6426
DOI:10.15514/ISPRAS-2015-27(2)-2