RERAN:安卓系统的定时和点击的录制和回放——(4)

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 AIRCraigslist MobileFeed Your Dino FreeIMDBRunning FredVisual Anatomy
Adobe Flash PlayerCrime CityGas BuddyInstagramSincerely Ink CardsWeather Bug
Adobe ReaderDaily HoroscopeGoogle DriveKindleSky MapWeather Channel
Amazon MobileDance LegendGoogle EarthMapsSkype WhatsApp Messenger
Angry Birds RioDeath Rally FreeGoogle Maps Street ViewMotoPrintSlacker RadioWhere’s My Water
Angry Birds SeasonsDictionaryGoogle Play BooksMovies by FlixsterSlot City MachinesWord Search
Angry Birds SpaceDocuments ToGoGoogle Play MusicMP3 Ringtone MakerStick Man BMX StuntsYellow Pages
Background HD WallpapersDrag RacingGoogle Play MoviesMyxerTalking Tom 2Yelp
Baseball Superstars 2012Drag Racing-Bike RacingGoogle PlusNetflixTEDYouTube
BBC NewsDraw SomethingGoogle SearchNBA GametimeTextgramZedge
BibleEasy Battery SaverGoogle TranslateOne Touch DrawingTouchNote PostCardsZinio
BMX BoyeBayGrouponPicsartTunewiki
Brightest FlashlightESPN Score CenterHeartRadioPool Master ProTwitter
Bubble ShootEvernoteHow to Read ThoughtsPulseNewsUnblock Me Free
Color NoteFacebookiFunnyRecipe SearchUnicorn Dash

表2 前100应用中的86个在美国谷歌玩(截至2012年5月6日),RERAN可以回放


App nameRun-time overheadTrace size (KB)
Original (seconds)Replay (seconds)Overhead (%)
Facebook291.04294.121.05260.43
Angry Birds296.81300.051.08359.76
Dictionary262.83264.110.48117.85
Gas Buddy254.14256.811.04244.62

表3 使用跟踪5个不同的用户,测量时间和空间开销在4个相似的应用程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值