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, 2020, Volume 32, Issue 2, Pages 161–173
DOI: https://doi.org/10.15514/ISPRAS-2020-32(2)-13
(Mi tisp506)
 

Automatic API fuzzing framework

S. S. Sargsyana, V. G. Vardanyana, J. A. Hakobyana, A. M. Aghabalyana, M. S. Mehrabyana, Sh. F. Kurmangaleevb, A. Yu. Gerasimovb, M. K. Ermakovb, S. P. Vartanovb

a Russian-Armenian University
b Ivannikov Institute for System Programming of the Russian Academy of Sciences
References:
Abstract: Randomized testing (fuzzing) is a well-known approach for finding bugs in programs. Fuzzing is typically performed during the finishing stage of quality assurance in order to check the stability of the target program in the face of malformed or unexpected input data. Modern software more than often provides an API for extending its functionality by third-party developers; since an API is an entry point to software internals, its functionality and usage scenarios must be tested as well. Thorough API testing must involve checking a large number of possible scenarios and it is fairly obvious that fuzzing can be applied to this task by generating usage scenarios in an automatic randomized way—which brings us to the concept of API fuzzing. In this paper we describe an automatic approach to randomized testing of API libraries for Android/desktop Java. Proposed method is able to change the sequence of called API functions in order to discover new execution paths. It consists of two basic stages. In the first stage the arguments of currently called API functions are mutated. When mutation of called API functions arguments can't find new execution path the tool switches to the second stage. In the second stage current sequence of API functions calls is mutated. Mutation can add new API functions calls or remove some of them. After API calls sequence mutation, the tool switches back to the first stage. Switches between the first and the second stages are continued during whole process of fuzzing. During the experimental setup developed method of randomized testing were able to find 15 crashes in SmartThings application developed by Samsung.
Keywords: internet of things, fuzzing, API call generation.
Funding agency Grant number
Samsung
The work has been done with support of Samsung Electronics.
Document Type: Article
Language: Russian
Citation: S. S. Sargsyan, V. G. Vardanyan, J. A. Hakobyan, A. M. Aghabalyan, M. S. Mehrabyan, Sh. F. Kurmangaleev, A. Yu. Gerasimov, M. K. Ermakov, S. P. Vartanov, “Automatic API fuzzing framework”, Proceedings of ISP RAS, 32:2 (2020), 161–173
Citation in format AMSBIB
\Bibitem{SarVarHak20}
\by S.~S.~Sargsyan, V.~G.~Vardanyan, J.~A.~Hakobyan, A.~M.~Aghabalyan, M.~S.~Mehrabyan, Sh.~F.~Kurmangaleev, A.~Yu.~Gerasimov, M.~K.~Ermakov, S.~P.~Vartanov
\paper Automatic API fuzzing framework
\jour Proceedings of ISP RAS
\yr 2020
\vol 32
\issue 2
\pages 161--173
\mathnet{http://mi.mathnet.ru/tisp506}
\crossref{https://doi.org/10.15514/ISPRAS-2020-32(2)-13}
Linking options:
  • https://www.mathnet.ru/eng/tisp506
  • https://www.mathnet.ru/eng/tisp/v32/i2/p161
  • 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:158
    Full-text PDF :48
    References:24
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024