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 1, Pages 25–38
DOI: https://doi.org/10.15514/ISPRAS-2015-27(1)-2
(Mi tisp111)
 

This article is cited in 2 scientific papers (total in 2 papers)

Applying Java bytecode static instrumentation for software dynamic analysis

S. P. Vartanov, M. K. Ermakov

Institute for System Programming of the Russian Academy of Sciences
Full-text PDF (278 kB) Citations (2)
References:
Abstract: This paper focuses on dynamic analysis of Java programs. We consider the following limitations: analysis tool may not have access to target program source code, and the program may be interpreted by a non-standard virtual machine with bytecode format different from Java Virtual Machine specifications. The paper describes an approach to bytecode instrumentation which is used to perform iterative dynamic analysis for new execution path discovery. Path discovery is performed through automatic input data generation by tracing tainted data, collecting path conditions, and satisfiability checking. The proposed approach is based on static bytecode instrumentation. The main advantages of this approach are analysis speedup (because of one-time instrumentation) and explicit access to statically generated instrumented bytecode which makes it possible to run instrumented program on different virtual machines with different bytecode formats. Proposed approaches were implemented in the Coffee Machine tool. Paper sections dedicated to this tool provide a detailed description of taint data tracing and automatic branch traversing techniques as well as a set of instrumentation utilities based on Coffee Machine allowing executed instructions printing, taint trace dumping, and synchronization events trace generation. Coffee Machine uses BCEL (bytecode instrumentation library) for instrumentation. The paper concludes with an overview of practical restrictions existing for discussed methods and possible future work directions. Main disadvantage of proposed approach is the inability to access dynamic data at run-time and instrument a set of system class methods. It may be resolved by method simulation and execution environment modifications.
Keywords: static instrumentation, dynamic analysis, program analysis.
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: S. P. Vartanov, M. K. Ermakov, “Applying Java bytecode static instrumentation for software dynamic analysis”, Proceedings of ISP RAS, 27:1 (2015), 25–38
Citation in format AMSBIB
\Bibitem{VarErm15}
\by S.~P.~Vartanov, M.~K.~Ermakov
\paper Applying Java bytecode static instrumentation for software dynamic analysis
\jour Proceedings of ISP RAS
\yr 2015
\vol 27
\issue 1
\pages 25--38
\mathnet{http://mi.mathnet.ru/tisp111}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(1)-2}
\elib{https://elibrary.ru/item.asp?id=23420339}
Linking options:
  • https://www.mathnet.ru/eng/tisp111
  • https://www.mathnet.ru/eng/tisp/v27/i1/p25
  • This publication is cited in the following 2 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:160
    Full-text PDF :96
    References:18
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024