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, 2017, Volume 29, Issue 1, Pages 135–148
DOI: https://doi.org/10.15514/ISPRAS-2017-29(1)-9
(Mi tisp105)
 

Applying dynamic analysis to programs running in interpreted environments

S. P. Vartanov, M. K. Ermakov, A. Y. Gerasimov

Institute for System Programming of the Russian Academy of Sciences
References:
Abstract: The present-day trends in software engineering include the steady increase of code and design complexity which reinforces the high demand in automated software testing and analysis tools. In this paper, we showcase several dynamic program analysis applications and present our solutions. These applications include memory profiling, automated test generation using dynamic symbolic execution and automated detection of concurrency bugs in multithreaded programs. Our memory profiling tool is designed for Java applications for Android and it is implemented through Android Dalvik VM modification. This approach allowed us to overcome existing Dalvik VM limitations that make existing profiling tools based on dynamic bytecode instrumentation inaccessible. We have successfully applied our tool to several core Android applications - the results provided in the paper outline the effectiveness of the approach. The second solution we discuss in the paper - dynamic symbolic execution for test generation automation - allows us to efficiently generate test scenarios for Java program graphical user interface. The core technologies of the approach include the use of static bytecode instrumentation and automatic GUI model extraction. We implement the approach on top of a user interface test automation framework GUITAR. Finally, we present our approach to automatically identify concurrency bugs in multithreaded Java applications. The approach is based on static bytecode instrumentation for trace generation and employs ThreadSanitizer defect detection tool for identifying bugs.
Keywords: dynamic analysis, program analysis.
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: S. P. Vartanov, M. K. Ermakov, A. Y. Gerasimov, “Applying dynamic analysis to programs running in interpreted environments”, Proceedings of ISP RAS, 29:1 (2017), 135–148
Citation in format AMSBIB
\Bibitem{VarErmGer17}
\by S.~P.~Vartanov, M.~K.~Ermakov, A.~Y.~Gerasimov
\paper Applying dynamic analysis to programs running in interpreted environments
\jour Proceedings of ISP RAS
\yr 2017
\vol 29
\issue 1
\pages 135--148
\mathnet{http://mi.mathnet.ru/tisp105}
\crossref{https://doi.org/10.15514/ISPRAS-2017-29(1)-9}
\elib{https://elibrary.ru/item.asp?id=28366423}
Linking options:
  • https://www.mathnet.ru/eng/tisp105
  • https://www.mathnet.ru/eng/tisp/v29/i1/p135
  • 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:185
    Full-text PDF :86
    References:31
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024