题名 | Android testing via synthetic symbolic execution |
作者 | |
通讯作者 | Gao,Xiang |
DOI | |
发表日期 | 2018-09-03
|
会议名称 | International Conference on Automated Software Engineering
|
ISSN | 1527-1366
|
ISBN | 978-1-7281-4376-7
|
会议录名称 | |
页码 | 419-429
|
会议日期 | September 3 to 7, 2018
|
会议地点 | Montpellier, France
|
出版地 | 345 E 47TH ST, NEW YORK, NY 10017 USA
|
出版者 | |
摘要 | Symbolic execution of Android applications is challenging as it involves either building a customized VM for Android or modeling the Android libraries. Since the Android Runtime evolves from one version to another, building a high-fidelity symbolic execution engine involves modeling the effect of the libraries and their evolved versions. Without simulating the behavior of Android libraries, path divergence may occur due to constraint loss when the symbolic values flow into Android framework and these values later affect the subsequent path taken. Previous works such as JPF-Android have relied on the modeling of execution environment such as libraries. In this work, we build a dynamic symbolic execution engine for Android apps, without any manual modeling of execution environment. Environment (or library) dependent control flow decisions in the application will trigger an on-demand program synthesis step to automatically deduce a representation of the library. This representation is refined on-the-fly by running the corresponding library multiple times. The overarching goal of the refinement is to enhance behavioral coverage and to alleviate the path divergence problem during symbolic execution. Moreover, our library synthesis can be made context-specific. Compared to traditional synthesis approaches which aim to synthesize the complete library code, our context-specific synthesis engine can generate more precise expressions for a given context. The evaluation of our dynamic symbolic execution engine, built on top of JDART, shows that the library models obtained from program synthesis are often more accurate than the semi-manual models in JPF-Android. Furthermore, our symbolic execution engine could reach more branch targets, as compared to using the JPF-Android models. |
关键词 | |
学校署名 | 其他
|
语种 | 英语
|
相关链接 | [Scopus记录] |
收录类别 | |
资助项目 | National Research Foundation[]
|
WOS研究方向 | Computer Science
|
WOS类目 | Computer Science, Software Engineering
; Computer Science, Theory & Methods
|
WOS记录号 | WOS:000553784500041
|
EI入藏号 | 20184706087484
|
EI主题词 | Application Programs
; Engines
; Libraries
; Model Checking
; Software Testing
|
EI分类号 | Computer Theory, Includes Formal Logic, Automata Theory, Switching Theory, Programming Theory:721.1
; Computer Software, Data HAndling And Applications:723
; Computer Applications:723.5
; Libraries:903.4.1
|
Scopus记录号 | 2-s2.0-85056545930
|
来源库 | Scopus
|
全文链接 | https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9000082 |
引用统计 |
被引频次[WOS]:28
|
成果类型 | 会议论文 |
条目标识符 | http://sustech.caswiz.com/handle/2SGJ60CL/44204 |
专题 | 南方科技大学 工学院_计算机科学与工程系 |
作者单位 | 1.National University of Singapore, ,Singapore 2.Southern University of Science and Technology, ,China |
推荐引用方式 GB/T 7714 |
Gao,Xiang,Dong,Zhen,Tan,Shin Hwei,et al. Android testing via synthetic symbolic execution[C]. 345 E 47TH ST, NEW YORK, NY 10017 USA:Association for Computing Machinery, Inc,2018:419-429.
|
条目包含的文件 | ||||||
文件名称/大小 | 文献类型 | 版本类型 | 开放类型 | 使用许可 | 操作 | |
Android_Testing_via_(321KB) | -- | -- | 限制开放 | -- |
|
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。
修改评论