Font Size: a A A

Design And Implementation Of Supporting Tools For Dynamic Analysis And Testing Of Android Applications

Posted on:2019-01-26Degree:MasterType:Thesis
Country:ChinaCandidate:Z S MengFull Text:PDF
GTID:2428330572457279Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
Android apps are prevalent in everyone's daily life with the popularity of mobile phone.However,apps are oftentimes defective,which offsets the convenience the app brings or even takes potential security risks.Automated testing and analysis of apps are developed widely to enhance apps'quality.They try to generate the input sequences according to specified strategies to cover the state space of target apps as much as pos-sible.This paper focuses on the effective implementation of testing techniques.All the techniques are finally deployed and applied as prototype tools.There are two common problems faced by the implementation of most testing techniques towards Android ap-plications now.First,most developers complete prototype tools with help of the com-binations of underlying toolkits.Then,a lot of testing techniques are implemented based on the modification of Android system or instrumentation of applications under test.This takes potential incompatibility issues between toolkit and system releases and challenges in the stable maintenance of tools.This paper studies two aspects of easy effective and stable implementations of Automated testing and analysis of Android apps based on the summary that there lacks a systematic understanding of requirements in current implementations.1.Based on the study of the design and implementation of current techniques,we proposed firstly the hierarchical model of functional requirements and the eval-uation system of non-functional requirements towards Android application test-ing.The hierarchical model analyses the functional requirements in multi-level centered on state obtain and state change during testing.We realize that effec-tive implementations not only meet functional requirements but also take non-functional requirements into account.And we proposed the evaluation system of non-functional requirements including easiness,efficiency and invasiveness.Eas-iness,efficiency and invasiveness check and supervise with each other,and effec-tive implementations of testing techniques should make a balance among them.2.Realizing that there lacks a systematic understanding of requirements in the cur-rent implementation,we proposed ATT(Android Testing Toolkit)and AndroidQL(Android Query Language)as two abstract layers to facilitate reusable and scal-able automated testing and analysis.ATT helps low-invasive and efficient imple-mentation of dynamic testing and analysis towards Android applications.It tries to cut down the overhead by less modification of Android applications or system,which limits the capture of fine-grained data.Otherwise,AndroidQL facilitates scalable automated testing and analysis by covering more techniques and toler-ating the measurable overhead.AndroidQL exposes fine-grained runtime data in instruction level.This paper focuses on the design,effective implementation and empirical evaluation of ATT and AndroidQL further.Finally,based on ATT and AndroidQL frameworks,we reproduced and imple-mented some advanced automated testing and analysis tools,and they found previously unknown bugs in popular Android applications.
Keywords/Search Tags:Android, Automated Testing, Dynamic Analysis, Framework
PDF Full Text Request
Related items