admin管理员组文章数量:1660066
4. 实现细节和性能
本节提供RERAN的细节实现和环境配置,以及评估其性能。
A. 物理设备
用于开发回放工具的Android设备是摩托罗拉Droid仿生手机,双核的ARM cortex - a9 1 ghz的处理器。手机发布于2011年9月8日,Android版本2.3.4,Linux内核版本2.6.35。
B. 测试环境
没有蜂窝服务;因为没有使用与它相关的操作,如发短信和打电话。为了最小化弱网络对应用程序的影响,我们在WiFi信号强烈的条件下使用。当记录跟踪时,如果被测应用程序不需要物理移动,手机放置在平面上以减少了流量的“永远在线”事件。例如,在不影响应用程序的行为的加速和光学传感器。
C. 回放代理
我们用C语言写回放代理,用arm-elf-gcc编译它。我们使用Android的sendevent工具的源代码作为指导来决定如何直接与设备交互;即写/dev/input/event*。在本研究的早期阶段,回放代理是在计算机上运行Java程序,通过Android shell的sendevent工具向手机发送一系列的输入事件。然而,如前所述,这个解决方案没有达到手势所需的微妙精读度。RERAN支持选择回放,即用户可以控制整个的事件流。当用户试图隔离一个导致错误的根源时,这是十分有效的。它还可以减少回放app的开销,因为它从来没有使用一个特定的传感器输入,比如方向感应器。
编译后的回放代理通过adb更新到手机中,跟踪文件(事件设置和时间)作为参数上传到手机。为了在电话上执行,系统权限必须改变,这就需要手机root.回放代理app作为单独的进程在手机中运行。
D. 成果
在谷歌的前100的应用程序,我们能够成功地回放86个app;列表2列出86个应用程序的名称。注意,这些应用程序从社交媒体到游戏,跨度很大,体现了RERAN的实用价值。第六节解释了为什么不能回放在前100的其余14应用的原因。
E. 时间和空间开销
我们测量4个相似的应用程序的时间和空间开销,利用5个不同的用户跟踪。结果如表3所示。首先,通过对比回放执行时间和原始的执行完成时间。列2和3显示平均运行时间,通过5用户的执行,分别代表最初的运行时间和回放运行时间。列4显示了时间开销,在所有情况下都接近1%。我们相信回放开销很大程度上是由于事件注入不是即时的。捕获时,一个输入设备报告事件同时发生,即相同的时间戳。我们能够通过编写多个事件流来模仿。然而,由于被注入的事件是通过编程,而不是物理设备生成,捕获到的同时事件只是在每500微秒回放一次。尽管滞后,但是应用程序行为没有显著差异。
最后一列显示了捕获的事件日志的平均值。正如预期,互动多的应用程序使用手势也多,例如愤怒的小鸟,日志大小比很多交互式应用程序大,例如,字典。所有在物理设备上的测试将在IV-A章节描述。
Adobe AIR | Craigslist Mobile | Feed Your Dino Free | IMDB | Running Fred | Visual Anatomy |
Adobe Flash Player | Crime City | Gas Buddy | Sincerely Ink Cards | Weather Bug | |
Adobe Reader | Daily Horoscope | Google Drive | Kindle | Sky Map | Weather Channel |
Amazon Mobile | Dance Legend | Google Earth | Maps | Skype | WhatsApp Messenger |
Angry Birds Rio | Death Rally Free | Google Maps Street View | MotoPrint | Slacker Radio | Where’s My Water |
Angry Birds Seasons | Dictionary | Google Play Books | Movies by Flixster | Slot City Machines | Word Search |
Angry Birds Space | Documents ToGo | Google Play Music | MP3 Ringtone Maker | Stick Man BMX Stunts | Yellow Pages |
Background HD Wallpapers | Drag Racing | Google Play Movies | Myxer | Talking Tom 2 | Yelp |
Baseball Superstars 2012 | Drag Racing-Bike Racing | Google Plus | Netflix | TED | YouTube |
BBC News | Draw Something | Google Search | NBA Gametime | Textgram | Zedge |
Bible | Easy Battery Saver | Google Translate | One Touch Drawing | TouchNote PostCards | Zinio |
BMX Boy | eBay | Groupon | Picsart | Tunewiki | |
Brightest Flashlight | ESPN Score Center | HeartRadio | Pool Master Pro | ||
Bubble Shoot | Evernote | How to Read Thoughts | PulseNews | Unblock Me Free | |
Color Note | iFunny | Recipe Search | Unicorn Dash |
表2 前100应用中的86个在美国谷歌玩(截至2012年5月6日),RERAN可以回放
App name | Run-time overhead | Trace size (KB) | ||
Original (seconds) | Replay (seconds) | Overhead (%) | ||
291.04 | 294.12 | 1.05 | 260.43 | |
Angry Birds | 296.81 | 300.05 | 1.08 | 359.76 |
Dictionary | 262.83 | 264.11 | 0.48 | 117.85 |
Gas Buddy | 254.14 | 256.81 | 1.04 | 244.62 |
表3 使用跟踪5个不同的用户,测量时间和空间开销在4个相似的应用程序
版权声明:本文标题:RERAN:安卓系统的定时和点击的录制和回放——(4) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729838108a1214547.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论