Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2015, Volume 27, Issue 2, Pages 23–38
DOI: https://doi.org/10.15514/ISPRAS-2015-27(2)-2
(Mi tisp120)
 

This article is cited in 1 scientific paper (total in 1 paper)

Dynamic Java program analysis using virtual machine modification

M. Ermakov, S. Vartanov

Department of Computational Mathematics and Cybernethics, Moscow State University
Full-text PDF (268 kB) Citations (1)
References:
Abstract: At the present time automatic static and dynamic program analysis methods are extensively used during software development. Dynamic methods in particular allow cost-efficient detection of various runtime issues with minimal expert interaction, thus saving time and resources. Dynamic analysis methods for native applications employ external monitoring instruments and code modification in order to evaluate execution, while programs running under control of an interpreter or a virtual machine it offers a balanced observation layer – the interpreter or virtual machine itself. In this paper we focus on automatic memory profiling methods for Java applications running on Dalvik virtual machine – a part of rapidly growing Android operating system.
Current Dalvik VM limitations make it impossible to use complex Java profilers designed for desktop applications; Dalvik-compatible profiling tools provide insufficient data to perform deep memory usage analysis. In this paper we describe a set of extensions for Dalvik implementation of standard Java Debug Wire Protocol which allow tracking of in-depth program memory events: object allocation, garbage collection, memory read and write access. We present a debugger-level tool based on existing Dalvik Debug Monitor utility, that is compatible with the extended Dalvik VM and allows online tracking of aforementioned events along with base debugging features and gprof memory dump support. As the original DDM utility, our design supports concurrent tracking of multiple applications to identify memory usage issues related to interprocess communication.
We have used the developed system to analyze a set of standard Android applications identifying several memory usage trends, including prevalence of primitive array allocations and inefficient use of memory among standard Android GUI Java classes.
Keywords: dynamic program analysis, memory profiling, Java, Android.
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: M. Ermakov, S. Vartanov, “Dynamic Java program analysis using virtual machine modification”, Proceedings of ISP RAS, 27:2 (2015), 23–38
Citation in format AMSBIB
\Bibitem{ErmVar15}
\by M.~Ermakov, S.~Vartanov
\paper Dynamic Java program analysis using virtual machine modification
\jour Proceedings of ISP RAS
\yr 2015
\vol 27
\issue 2
\pages 23--38
\mathnet{http://mi.mathnet.ru/tisp120}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(2)-2}
\elib{https://elibrary.ru/item.asp?id=23827844}
Linking options:
  • https://www.mathnet.ru/eng/tisp120
  • https://www.mathnet.ru/eng/tisp/v27/i2/p23
  • This publication is cited in the following 1 articles:
    Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:171
    Full-text PDF :70
    References:39
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024