没有合适的资源?快使用搜索试试~ 我知道了~
首页>外文书>人文>心理励志> Crowdsourcing and HumanComputation for the WebWWW 2018,2018年4月23日至27日,法国里昂45CHIMP:众包手机的人力投入Mario Almeida2,MuhammadBilal,Alessandro Finamore£,Ilias Leontiadis£,YanGrunenberger£,Matteo Varvello3,JeremyBlackburn2加泰罗尼亚理工大学,鲁汶天主教大学,£Telefonica Research,3AT T阿拉巴马大学伯明翰分校摘要虽然开发移动应用程序变得越来越容易,但测试和表征其行为仍然很困难。一方面,事实上的测试工具,称为Monkey,由于基于随机输入,因此扩展性很好,但无法收集对理解用户参与和注意力等有用的输入 另一方面,从真实用户收集输入和数据需要分发仪表化应用程序,甚至是预装应用程序的手机,这是一项昂贵且本质上不可扩展的任务。为了解决这些限制,我们提出了CHIMP,一个系统,集成了自动化工具和大规模的众包输入。CHIMP与以前的方法不同,它在虚拟化的移动环境中运行应用程序,世界各地的数千名用户可以通过标准的Web浏览器访问该环境。因此,CHIMP能够收集全方位的真实用户输入、应用程序的详细运行时跟踪和网络流量。因此,我们描述了CHIMP我们使用大规模的摄像头校准CHIMP,以了解用户如何处理应用程序测试任务。最后,我们展示了如何使用CHIMP来改进传统的应用程序测试任务,以及更新颖的任务,例如在加密的网络流上构建流量分类器。ACM参考格式:Mario Almeida,Muhammad Bilal,Alessandro Finamore,Ilias Leontiadis,Yan Grunenberger , Matteo Varvello , Jeremy Blackburn. 2018 年 。CHIMP:为移动电话提供人工输入. 在WWW 2018:2018年网络会议,2018年4月23日27日,法国里昂。ACM,New York,NY,USA,10页。https://doi.org/10.1145/3178876.31860351介绍虽然开发应用程序变得越来越容易,但由于缺乏用于大规模测试和测量移动应用程序的工具,测试和表征它们仍然具有挑战性。事实上的标准应用程序测试技术是使用monkeys [12]。 猴子是一个简单的工具,它执行随机(部分可配置)输入,假设一百万只猴子在一百万个触摸屏上敲击,最终会暴露错误的代码。本文在知识共享署名4.0国际(CC BY 4.0)许可下发布。 作者保留在其个人和公司网站上以适当的归属方式传播作品的权利。WWW 2018,四月23ś27,2018,里昂,法国©2018 IW3C2(国际万维网会议委员会),在知识共享CC BY 4.0许可下发布。ACM ISBN 978-1-4503-5639-8/18/04。https://doi.org/10.1145/3178876.3186035图1:人类输入(100个用户)与猴子在玩冷冻气泡时的对比。虽然这可能是真的,但有几个问题。首先,先前的工作已经表明,猴子并不适合某些类型的输入[12],例如,填表格其次,猴子图1直观地显示了通过真实用户和猴子测试Android游戏łfrozen bubble时的这个问题。当真正的用户专注于屏幕上游戏实际发生的部分时,猴子没有区别,并将他们的努力分散在整个UI上。 虽然如果探索所有代码路径是期望的结果,则这可能具有一些优点,但是在寻找例如应用程序的用户访问网络的方式, 了 解 用 户 如 何 浏 览 选 项 / 菜 单 , 或 评 估 功 能 / U I 的 更改 。出于这个原因,我们仍然需要人类来测试应用程序,无论是在工业还是研究中。不幸的是,虽然大规模的人体测试对于工业巨头(例如,Apple、Google、Facebook、Microsoft和Amazon),许多较小的开发者没有数千个用户来进行A/B测试,或者控制应用交付机制(即,应用商店)[3,17]。实际上,即使由应用商店运营商提出的解决方案也具有其自身的局限性(例如,在[17]中,只有自有的应用程序可以进行测试,用户必须安装它们)。此外,研究文献中充斥着作者花费大量时间手动运行应用程序以更好地理解各种问题的例子[24,32,35]。在本文中,我们提出了CHIMP,一个灵活的Android应用程序测试系统,使快速收集的人的输入移动应用程序。CHIMP在服务器上运行应用程序,将它们流式传输到浏览器,供真实用户进行交互。当用户测试应用程序时,CHIMP收集广泛的数据(用户交互,网络流量,运行时跟踪,性能等)。以及明确的用户反馈。实验者(例如,应用程序开发人员或研究人员)可以将CHIMP与应用程序一起首页>外文书>人文>心理励志> Crowdsourcing and HumanComputation for the WebWWW 2018,2018年4月23日至27日,法国里昂46他们想要测试和指定他们想要通过活动收集的数据。CHIMP提供与CrowdFlower [14]的集成,以及用户验证技术,以快速提供大型,值得信赖的数据集。例如,图1背后的人工输入是在几个小时内从100个CrowdFlower用户那里获得的。我们展示了CHIMP的设计(3)和评估(4),以及数千个应用程序和用户。我们通过校准活动来分析用户交互,以设计更有用的活动(5)。然后,我们展示了CHIMP的两个用例,表明将用户集成到测试循环中可以将代码覆盖率提高25%(6),并且它生成的网络流量增加三倍,可以用于构建应用分类模型,在某些情况下,该模型的f1得分超过0.9。最后,我们讨论我们的结果,CHIMP的局限性,并得出结论(ğ8)。2背景相关工作虽然CHIMP大量借鉴了自动化测试文献,但它旨在满足研究人员在各种环境中的需求。 在本节中,我们将介绍自动化测试工具的最新技术背景,并概述其他应用程序行为测量技术和应用程序。自动化App测试:可以考虑自动化测试一个搜索问题,目标是在定义的时间跨度内探索最大可能的应用程序功能集。 这种探索通常根据代码覆盖率来测量,即,测试所使用的目标应用程序中的代码行数[12]回顾了最新技术,评估了14种测试工具,分为3类:随机,基于模型和系统。随机工具[5,27,38,50]最好的例子是官方的Android monkey[5]。 它们相当于通过正在测试的应用程序进行盲目搜索。 随机测试工具相当容易使用,并且通常提供相当好的覆盖率。基于模型的工具[2,9,11,20,48]将移动应用程序视为有限自动机,其中用户操作触发状态之间的转换可以考虑函数调用序列(调用图模型-CGM)、用户界面布局和组件之间的交互(接口模型-IM)来提取模型在模型建立之后,测试对应于探索状态机的空间,当发现所有状态转换时终止。系统探索工具[4,9,28,45]更复杂,使用进化算法等工具来尝试产生提高代码覆盖率的输入。例如,EvoDroid [28]使用IM作为łgenes,CGM作为待探索的空间,而适应度函数优化代码覆盖率并指导探索。所有这些工具都有优点和缺点,但最终[12]发现没有一个工具更优越;事实上,猴子经常在代码覆盖率方面击败更复杂的工具。然而,它们都有一个重要的局限性:它们只是应力测试工具。由于没有合成真实的人类输入,因此没有收集关于实际人类行为的信息(即,用户如何对用户界面作出反应),也不知道用户是否认为应用程序执行正确。还有一些任务可能对真人来说更容易,甚至需要真人,例如,在一个实施例中,登录屏幕、表单、游戏等。有一些服务可以将人类带入应用程序测试循环,类似于CHIMP。这两个最流行的服务是由亚马逊[3]和谷歌[17]提供的,并集成到他们的应用商店。CHIMP在几个方面是不同的。首先,它们旨在由应用程序的开发人员专用,因此不是大规模应用程序分析的良好候选者。其次,他们要么要求开发者提供邮件列表,要么在他们的商店中提供一个可供公开测试的应用程序版本。最后,这些工具主要面向测试应用与不同设备的兼容性,并且不提供任何附加访问或低级信息(例如,流量转储、检测等)研究人员很难大规模地捕捉到这一点像CHIMP一样,Appetize [8]提供移动设备到浏览器的流媒体。然而,它的重点不是测量和实验,例如,它不提供任何机制来获取用户或大规模分析应用程序。还有其他基于人类的服务,通过具有具有真实设备的内部应用测试人员来占据与CHIMP相同的一般空间,但是可扩展性和定价(例如,[44]每个用户测试会话收费99美元),这使得大规模应用程序分析望而却步众包系统虽然不是一个完全自动化的测试工具,Varvello等人。[46]建立了EYEORG,一个众包网络体验质量测量平台EYEORG为付费的众包工作者提供网页抓取的交互式视频,允许用户在可控但可扩展的环境中提供性能判断CHIMP在精神上类似于EYEORG,但它提供正交服务。尽管如此,CHIMP的评估遵循[46]提出的验证方法,其中包括使用参与估计和控制问题(5)。Nikravesh等人Mobilizer [31]是一个在移动环境执行网络测量的平台,也利用了众包。Mobilyzer的关键见解是,一个杀手级应用的想法,可以达到足够的用户渗透率是有意义的使用是不太现实的。Mobilyzer是作为库和服务的组合提供的实验者可以设计和发布实验,以获得所有Mobilyzer设备的网络状况视图。 他们展示了开发的简易性(约一个小时,第三方应用程序的开发人员集成Mobilyzer),并通过对移动Web性能和视频QoE进行众包测量来证明其有效性。虽然Mobilyzer和CHIMP明显相关,但它们有着根本不同的目标。 虽然Mobilyzer提供了一个前所未有的移动网络全局视图,但CHIMP更侧重于应用程序和用户行为,为研究人员和开发人员提供了不同的移动环境视图。CHIMP旨在补充最先进的工具,并提供一个灵活的平台来收集专门针对人类行为的丰富数据集。 对于应用程序开发人员来说,这意味着他们可以在将应用程序发布到应用程序商店之前快速A-B测试设计和算法选择。对于研究社区来说,这意味着现在可以在研究人员无法控制的应用程序上运行实验事实上,构建CHIMP的动力是我们作为研究人员在试图收集数十个用户的移动应用交互数据时的挫折感,更不用说数百或数千了。3猩猩CHIMP作为web应用程序可用,并且用户经由web客户端与其交互。 在网络客户端中,他们与Android虚拟手机交互,鼠标点击和拖动被转换为点击和滑动。首页>外文书>人文>心理励志> Crowdsourcing and HumanComputation for the WebWWW 2018,2018年4月23日至27日,法国里昂47图2:CHIMPCHIMP在幕后集成了几种技术,以实现其通过两种客观测量(例如,应用运行时分析、网络流量、许可)和来自用户的反馈。此外,为了实现我们的许多目标,CHIMP必须具有相当好的扩展性和足够的灵活性,以支持不同类型的分析,用户数量和应用程序。这需要解决我们在本节中讨论的一些挑战:1)web客户端工作流,即,如何组织测试并向用户呈现4)为实验者收集有用的数据3.1Web客户端Worklow图2显示了CHIMP作为说明性示例,该图包括用户在与YouTube应用交互时看到的内容的屏幕截图特别地,呈现给用户的网页由复制虚拟电话的显示器的内容的流区域(图中的虚线区域)和允许用户向系统发出特定命令的控制区域(图中的缩放区域)组成。在用户可以实际与应用进行交互之前,必须执行许多操作,这些操作在图2(顶部)中以时间轴以及相关联的系统操作(底部)示出。在下文中,我们使用该视觉辅助来描述用户与CHIMP的交互的状态。我们将会话定义为用户在CHIMP中执行的全部操作。 当用户访问CHIMP<的主页并按下Takeatest>按钮时,会话开始。 显示欢迎消息,包括用于收集人口统计数据的表单。 当用户忙于填写表单时,CHIMP准备一个虚拟电话(3.2)并安装第一个应用程序。当虚拟化环境准备就绪时,用户可以按。然后向他们提供一组关于如何使用CHIMP的说明一旦指令被解除,用户就可以与他们的第一个应用进行交互。由于CHIMP允许用户与不同的应用程序进行交互,因此我们将每个会话划分为多个步骤;每个应用程序一个。 控制区域允许用户通过和<完成>按钮。具体而言,用户与当前应用交互,直到单击这两个按钮之一。点击其中一个后两个按钮,呈现体验反馈问卷。如果用户按下,则从虚拟电话中移除先前的app并安装新的app。在填写体验反馈表单之后,用户可以与新应用进行交互。如果用户选择<完成>,则虚拟电话将关闭,并且会话将在应用体验反馈表单完成后终止。控制区域还显示累积的SES-步骤持续时间和总体步骤进度(图2中的4分钟和7个应用程序)。具有相同设置的多个用户会话在逻辑上将其组合成一个运动(详见第3.3节)。3.2Android虚拟手机CHIMP的核心是围绕(Android)移动设备的虚拟化构建的。 这通过对运行Android操作系统的虚拟机(VM)进行仪表化以向用户提供Android虚拟电话(AVP)来实现。为了最大限度地提高应用程序的兼容性,CHIMP应该能够1)执行ARM指令(以支持使用针对它的本机二进制文件的应用程序),2)支持OpenGL(特别是游戏),以及3)提供流畅的交互性。我们评估了几个现有的解决方案,并讨论了经验教训。Android VM:第一个明显的解决方案是Android仿真器(Emu),它有两种版本:Emu-ARM和Emu-x86。Emu-ARM是指原始的Android仿真器,它在软件中实现了ARM指令集已知Emu-ARM在x86架构上运行时会遭受巨大的性能损失[22],并且经常被Emu-x86取代。请注意,尽管名称如此,Emu-x86实际上是一个托管针对x86指令集的Android构建的VM。虽然Emu-x86加快了应用程序的执行速度,但它引入了将指令转换为针对ARM的本机二进制文件的问题。Android应用程序大多是用Java构建的,(理论上)根本不针对特定硬件,但它们可以使用本机代码。 由于ARM在移动领域占据主导地位,大多数构建系统默认编译为ARM本机代码,而x86支持则是可选的。这在现实世界中的含义是,不能假设应用程序中存在原生x86二进制文件。 这意味着,虽然Emu-x86是开发应用程序时的一个很好的解决方案,但它并不符合我们的需求。 为了处理在x86芯片组上运行ARM代码,英特尔开发了houdini,它可以执行ARM到x86指令的动态翻译。幸运的是,用于x86 架 构 的 Android-x86 的 社 区 驱 动 端 口 ( Android-x86[6] ) 对houdini有本地支持[7]。我们选择直接使用QEMU,一个流行的开源硬件模拟器和虚拟器。直接使用QEMU使我们能够对VM RAM分配、CPU核心使用进行细粒度控制,并支持通过websockets进行输出流。虽 然 QEMU 负 责 大 多 数 硬 件 虚 拟 化 任 务 , 但 需 要 特 别 注 意OpenGL。QEMU支持vir-glrenderer,这是一种虚拟GPU,它为Android来宾VM提供对主机GPU的访问,OpenGL支持),但是它是开箱即用的集成virglrenderer需要我们重新编译Android-x86镜像和首页>外文书>人文>心理励志> Crowdsourcing and HumanComputation for the WebWWW 2018,2018年4月23日至27日,法国里昂48QEMU启用GTK库支持。接下来,由于QEMU模拟符合VESA的VGA输出设备,因此我们修改了VGABIOS以支持移动设备中的WVGA分辨率(例如,400x800)。如图2所示,每个用户会话都与一个单独的QEMU/Android-x86 VM相关联,该VM对应于一个虚拟电话。总体而言,CHIMP的虚拟化由两项技术组成:1)Android-x86执行Android操作系统和应用程序以及2)QEMU以虚拟化电话硬件。流:QEMU原生支持Spice [41]和VNC(RFB的一个实现[36]),这是两种流行的流技术。此外,流媒体也可以通过XSpice [42]完成,这是Spice的一个变体,使用X11服务器。 我们通过创建处理来自虚拟电话的流式传输的HTML5客户端,对所有三个选项进行了实验(为简洁起见,未报告结果),即,图2中的流区。最后,我们选择了VNC,它在整个测试过程中提供了更流畅的体验。3.3实验平台虽然AVP是实现CHIMP的必要组件,但它还不够。 CHIMP必须允许实验者指定活动,并为用户动态启动和管理AVP。活动:如前所述,用户会话被分组到活动中。活动是一组参数,包括目标用户数量、要测试的应用程序集、每个用户有多少个应用程序、应用程序是否应该以随机或预设的顺序呈现给用户、在每个应用程序上花费的时间量以及要收集的数据(3.4)。 活动和间隙反馈表单的说明也可以通过JSON进行自定义。编曲:CHIMP的不同组成部分是orches-通过控制器和调度器进行调度(参见图2)。控制器跟踪Web客户端控制区域发出的事件,并触发作业调度。例如,在一个示例中,当点击<下一个应用>按钮时,控制器调度作业以从虚拟电话和网络客户端检索数据,并为下一个应用准备虚拟电话控制器是一个多进程,多线程,无状态的Ruby on Rails应用程序,由Puma [34] Web服务器提供服务,该服务器在服务器上的Nginx [30]反向代理后面运行。我们使用Sidekiq [40]作为我们的作业处理框架,它反过来使用Redis来支持作业队列。如图2所示,CHIMP的调度程序使用3个队列,分别具有高、默认和低优先级。 高优先级队列被保留用于具有紧密调度期限的系统关键作业(例如,提取随时间的代码覆盖度量默认队列处理与用户体验相关的作业,例如,虚拟电话启动/关机和应用程序安装。低优先级作业处理从超时的会话中回收资源的事情,并对活动进行后期处理以进行报告。作业本身通过Android调试桥(ADB)与AVP交互,并且通常被链接在一起以执行更复杂的操作。例如,在一个示例中, 引导虚拟电话是通过链接四个作业来完成的:1)复制Android映像并通过QEMU引导它,2)使VM可被用户访问(即,打开端口和配置映射),3)实现测量(即,在所述AVP和所请求的数据收集之间建立通信模块),以及4)调度app安装。3.4数据收集模块CHIMP允许通过不同的模块收集数据由于CHIMP从人类参与者1收集数据,因此我们确保:1)仅收集系统实现其目标所需的最小数据,2)匿名化任何敏感数据,以及3)在每次会话之前通知用户收集哪些数据 虽然我们打算在未来扩展收集的数据类型,但目前CHIMP支持收集六种类型的数据。用户交互:Web客户端从流媒体区域以及浏览器焦点信息2这是通过在Web客户端上安装与HTML5 VNC流传输区域相连的JavaScript来实现的 该数据对于理解用户行为(例如,识别用户点击的位置(如图1所示),以验证众包工作者的质量(5),或通过重放输入来重现崩溃Web客户端在每个会话步骤结束时上传用户交互数据(图2)。用户反馈:当虚拟电话启动时,用户要求提供一些人口统计反馈(年龄、性别、国家和移动应用程序专业知识)。在每个会话步骤结束时,要求用户提供关于他们使用应用的体验的一些反馈,即,如果应用程序崩溃或需要登录,则对应用程序的“运行”和“速度”给出评级(在1到3的范围内),并将应用程序置于几个预定义类别之一中(例如,社交、多媒体或游戏)。应用程序数据:在每个会话步骤结束时,CHIMP检索应用程序的执行历史(虚拟电话上的logcat),以识别异常或崩溃(如果有的话)。类似地,dumpsys用于收集应用的资源消耗(CPU、内存、磁盘I/O、网络)、与操作系统的交互、权限、传感器使用等。应用元数据(例如,下载次数、类别)以及应用程序结构(例如,类、方法)通过对从Google Play商店下载的应用程序进行静态分析来检索。运行时数据:应用运行时执行(ğ6)通过方法跟踪捕获。此外,EMMA [16],代码覆盖率分析的事实标准,也支持开源应用程序。它还允许运行自动猴子,其输入可以与人类一起使用。网 络 数 据 :CHIMP 使 用 tcpdump 收 集 原 始 pcap 文 件 , 并 轮 询Android的/proc/net,其中列出了开放的网络套接字及其UID。3此解决方案需要校准以捕获短暂流(即,非常短暂的连接)。在我们的测试中,只有1%的流量短于100毫秒,因此我们认为50毫秒的轮询频率是一个保守的选择。我们还使用dumpsys信息将UID映射到应用程序的包名称。系统数据:一个模块,用于监控整个系统的健康状况,以及与每个单独的用户网络客户端和相关虚拟电话的连接。特别地,网络客户端每5秒向CHIMP的网络服务器运行HTTP ping 系统还记录当前工作负荷(例如,运行的虚拟电话、可用的存储器等),以及使用collectd[13]收集系统指标和graphana[19]进行可视化的组合来显示每个单独用户会话的时间线进度1所有数据的收集均符合我们的机构伦理准则。2我们不监控其他浏览器选项卡上的活动,也不监控原始键盘输入。3注意:在Android中,每个应用程序都有一个不同的数字用户ID(UID)。首页>外文书>人文>心理励志> Crowdsourcing and HumanComputation for the WebWWW 2018,2018年4月23日至27日,法国里昂49用户数持续时间用户付费应用程序数量步骤数自动化-1天-18,010100发现1,0001.25天一百二十元1,0007校准1003小时十二块77代码覆盖率1,0001.4天一百二十元594跟踪覆盖5001天60元554Traic分类50022小时60元764表1:CHIMP活动的总结。注:CrowdFlower收取额外20%的处理费。4执行本节描述CHIMP实现的细节 我们首先简要地报告一下我们所考虑的替代选择。接下来,我们评估我们的原型在资源消耗和用户体验方面。最后,我们讨论了它的局限性。CPU302520151050124八一五CPU302520151050124八一五100806040200100806040200磁盘124八一五磁盘124八一五存储器4035302520151050124八一五存储器4035302520151050124八一五设置:我们在一台配备双Intel Xeon CPU的服务器上部署了CHIMPE5- 2697 v3(2.60GHz),具有128 GB RAM,以及具有130 MB/s写入吞吐量的单个7,200 RPM硬盘 为了控制Android VM,我们使用了默认的ADB实现和自动设备检测,它被限制在预定义的15个端口范围内。 虽然这可以通过让CHIMP管理adb连接来进行简单扩展,但我们的目标是通过添加更小的按需后端机器来扩展CHIMP范围,因此以下评估在该限制内操作。对于Android VM,我们使用了定制的Android-x86映像(4.4-RC1,尽管我们也支持6.0),当使用QEMU的qcow2映像格式时,安装后需要大约1.6 GB [ 25 ]。为每个用户制作映像的副本;我们试验将这些映像存储在磁盘和易失性存储器中,即,冲压磁盘对于这两种设置,我们对QEMU的每种缓存策略进行了基准测试,但在下文中,我们只比较了两种性能最好的策略:使用磁盘时的回写缓存,以及在RAM中存储图像时的无缓存(使用tmpfs,一种基于RAM的文件系统)。为了评估CHIMP 对于用户,我们使用人工用户和人类用户。 我们使用Selenium [39]创建了合成用户,这是一个自动化Web浏览器交互的框架,同时我们在CrowdFlower上招募了1000名真实用户。 我们利用综合用户覆盖全套应用程序(免费),同时强调我们的实施,即,我们最多同时启动15个合成用户。 我们利用真实用户来测试应用程序的子集(1K随机选择的非崩溃应用程序),并收集有关系统性能的明确反馈。 这两个活动的总结分别以łAutomation和łDiscovery,的形式出现在表1中。应用程序兼容性:我们要回答的第一个主要问题是CHIMP支持多少个真正的应用程序 使用应用数据收集模块,我们发现虽然活动中的13,374个应用安装良好,但474个安装失败,并且4,939个未能被带到AVP的前台(即,应用程序未成功启动)。安装失败表示应用程序二进制文件已损坏,与硬件不兼容,或者安装时间过长(我们强制应用程序安装的上限为40s)。 没有被带到前台通常是一个崩溃的应用程序的迹象。无论如何,71%的应用程序被成功地带到前台,这表明CHIMP对现实世界的应用程序有很好的支持(相比之下,在浏览器中运行Android应用程序的官方机制[47]支持58.7%的测试应用程序[26])。图3:CPU、磁盘和RAM利用率与并发用户数的函数关系。行分别是基于HDD和RAM资源利用率:接下来,为了了解我们的设计选择如何在资源使用方面发挥作用,图3绘制了CHIMP在合成用户活动期间记录的CPU、磁盘和RAM利用率的分布。请注意,对于磁盘,利用率对应于磁盘的吞吐量我们的服务器有足够的CPU来支持工作负载,例如, 在最坏的情况下(15个并发用户),我们看到的最大CPU利用率为30%。相反,CHIMP受到 磁 盘 I/O 的 限 制 , 例 如 , 最 高 可 达 100% 的 磁 盘 利 用 率 ( 130MB/s),仅需4个并发虚拟机和一个物理磁盘。tmpfs缓解了这种争用,并允许CHIMP最多扩展到15个并发VM。在这里,RAM使用是线性的,因为资源消耗是由Android映像(以前在磁盘上)的大小和分配给VM本身的RAM驱动的。 我们看到最大的网络传输和接收速率分别为10和7 Mbps。基于上述分析,CHIMP使用tmpfs,控制器(ğ3.3)确保系统负载保持在可配置阈值以下。这意味着,如果没有足够的可用资源,新用户在尝试启动新会话时可能会被挂起 当从CrowdFlower调节用户负载时,这种功能是关键的,因为它没有提供请求用户到达率的API。然而,作业可以由作业所有者自行决定启动、暂停和停止,我们设计了CHIMP控制器,通过使用这个技巧来调节系统工作负载。服务延迟:为了对CHIMP已为使用tmpfs的合成用户选择引导和应用程序安装时间。总而言之,当用户启动一个新会话时,他平均需要等待大约36秒:21秒的启动时间(比从磁盘启动至少少12秒),平均15秒的安装和启动时间。虽然启动时间是稳定的,但安装应用程序会因应用程序大小而异,小型应用程序(几百KB)需要10秒,大型应用程序(数百MB)需要35秒用户体验:在这里,我们看到了用户对快速应用交互的感受,以及真实用户是否能够触发合成用户没有检测到的任何崩溃。接下来,我们还调查了有多少用户以前使用过每个应用程序,他们认为每个应用程序有多有趣,以及他们是否在应用程序中看到广告。图4绘制了用户报告的平均问题分数的累积分布函数(CDF),每个应用程序,针对1,000个受测试的Google Play商店应用程序二进制问题(即,是/否)利用率(%)利用率(%)利用率(%)利用率(%)利用率(%)利用率(%)首页>外文书>人文>心理励志> Crowdsourcing and HumanComputation for the WebWWW 2018,2018年4月23日至27日,法国里昂501.000.750.500.250.000.000.250.500.751.001.000.750.500.250.001.01.52.02.53.0350300250200150100500 App 1App 2App 3App 4App 5App 6App 710.80.60.40.201 10 100 1,000 10,000回答“是”的分数平均评分行动次数(#)图4:1,000个测试应用程序中每个应用程序的平均问题分数的CDF。图5:每个应用程序所用时间的箱形图图6:每个用户的操作(点击和移动)的CDF在左边,而在1到3的范围内得分的问题在右边。从左图中,我们可以看到大多数应用程序对我们的用户来说都是新的(90%的测试应用程序的平均分数小于0.5),大多数用户报告大多数应用程序没有广告/需要登录。虽然我们没有看到大多数应用程序报告崩溃,但大约15%的应用程序有大多数用户声称崩溃。从右边的图中,我们可以看到用户发现应用程序有点无聊,大约50%的用户的平均得分低于2.0. 无论如何,我们看到用户认为CHIMP至少提供了一个不错的应用体验:超过60%的应用在速度方面至少获得了2.0的平均分数。不幸的是,我们无法得出系统指标与用户报告的应用体验之间的结论性相关性。这是一个复杂的问题,因为需要考虑多个因素,例如,用户连接性,应用特性(例如,由于糟糕的设计、资源消耗和/或CDN内容策略检索而导致的无响应应用)等。我们把更仔细的表征留给未来的工作。限制:虽然CHIMP确实支持上的许多顶级应用程序Google Play商店尽管设计灵活,但也有一些局限性。最明显的是由于缺乏物理移动设备,这限制了关于传感器、移动性、针对特定设备类型的调试或多手势触摸的测试 此外,它的虚拟化专门针对Android,不支持iOS或Windows Mobile。接下来,有一些应用程序的CHIMP是一个低于标准的平台。例如,某些类型的应用(例如,后台服务或无聊的应用程序)可能无法充分刺激用户以使他们提供有意义的交互。其次,存在许多应用,其使用需要帐户或仅在某种网络效应(例如,Facebook)。虽然我们可以创建自动包含在AVP中的帐户,但它不仅需要手动工作,而且还可能违反服务提供商的服务条款,而不一定代表现实。也就是说,我们明确指示用户永远不要在应用程序中输入个人信息。最后,有一些类型的实验,CHIMP只是不太适合。例如,了解移动网络状况最好留给Mobilyzer [31]等工具。另外,某些实验在本质上可能是更纵向的,而CHIMP的AVP被绑定到最终将超时的会话。5活动校准除了构建CHIMP的工程挑战外,更根本的挑战是与真人打交道。为了收集有意义的数据,我们需要设计人们乐于接受的活动,例如,为每个会话选择正确的应用程序数量我们还需要验证输入,以避免随机点击或分心的用户。在本节中,我们将使用CHIMP来深入了解如何构建广告系列。因此,我们运行包含7个步骤的会话的łcalibration活动(表1),即,6个应用程序加上一个控制程序(详见5.2),以随机顺序显示。我们测试的应用程序有:1)Adobe Sketchbook,一款用于绘制图像的应用程序,2)DivideandConquer(一款开源游戏),3)FrozenBubble(一款开源游戏),4)POU(一款流行的闭源游戏),5)YouTube,最受欢迎的视频观看应用程序,以及6)BuzzFeed,一款新闻聚合应用程序。这些应用程序是相对任意选择的目标是拥有一套相当多样化和流行的应用程序。校准活动由100名CrowdFlower用户组成。我们只要求历史上值得信赖的用户,这是以更长的招聘时间为代价的(3小时,成本为$12)。用户呈现出大约75/25%的男性/女性性别分布,他们位于30个国家(委内瑞拉是最受欢迎的我们不强制要求用户必须执行的最低步骤数,让他们可以自由跳过步骤,甚至在没有测试所有7个应用程序的情况下完成。类似地,我们也没有对用户在给定步骤上应该花费的最小时间进行限制,我们的目标是估计每个用户愿意自然地完成多少工作在本节的其余部分,我们首先调查用户与CHIMP网站交互时的行为,目的是为未来的测量活动确定指导方针(5.1)。然后,我们比较了丢弃不可靠响应的技术(5.2)。5.1用户行为我们首先调查用户如何浏览会话。尽管由于空间限制而未示出,但是80%的用户与所有7个应用交互,并且仅7%的用户与单个应用交互 无论他们在会话中的进度如何,100%的用户都单击<完成>按钮并兑换他们的完成代码(付款时需要)。值得报告的是,我们通过对网站设计的各种迭代达到了这些(高)利用率数字具体来说,添加进度条(图2)产生了令人印象深刻的40%的改进。问题广告崩溃登录尝试问题趣味速度CDF单击移动CDF花费在应用程序上的时间(秒)CDF(0−1)首页>外文书>人文>心理励志> Crowdsourcing and HumanComputation for the WebWWW 2018,2018年4月23日至27日,法国里昂51接下来,我们调查用户在每个应用上花费的时间(图5)。请注意,我们减去了用户与其他浏览器选项卡交互所花费的时间。用户倾向于在后续应用上花费减少的时间量, 中值从105s(第一次应用)下降到30s(最后3次应用)。第三个应用程序不是这种趋势的例外,而是我们方法论的产物虽然常规应用程序是随机放置的,但我们选择在会话中间显示一个控制应用程序(5.2),以增加用户测试它的机会 控制应用程序非常简单,因此用户在上面花费的时间很少。最后,我们量化了用户通过1.000.750.500.250.000.00.20.4方法覆盖率0.6鼠标移动和点击。图6显示了限制在虚拟电话区域的每个用户的鼠标点击/移动次数的CDF总的来说,该图显示了约10%的用户,即用户既不点击也不移动。这些用户以及具有非常少点击的用户快速导航CHIMP以兑换支付,例如,他们都没有测试7个应用程序。基于上述分析,我们选择用四个应用程序(三个加控制)来构建我们未来的广告系列。 我们的理由是双重的:1)最大化将完成完整会话的用户数量,2)增加用户在应用程序上花费有意义时间的机会。应用程序以随机顺序呈现,以确保它们获得相当数量的用户时间。5.2众包和响应验证不存在标准化方法来确定众包用户的质量CHIMP利用CrowdFlower 我们还从[46]中的验证方法中获得灵感,因为它处理了类似的问题(ğ2)。具体来说,CHIMP利用参与度作为用户质量的指标 我们通过在虚拟电话区域中检测到的鼠标点击量和移动量来定义参与度。为了避免设置任意阈值,我们丢弃从不与电话区域交互的用户,即, 约10%的用户(图6)。显然,单击的用户也应该被丢弃,但我们利用额外的过滤技术来更好地捕获此类用户。我们还使用控制问题,即,问题的答案是已知的先验[21],以识别低质量的用户。我们开发了一个Android应用程序,只需要求参与者按升序或降序按下三个数字按钮。如果不提供任何请求的订单,或者甚至不按下按钮,则被视为低质量用户的标志。我们将控件实现为Android应用程序,而不是填隙式表单中的简单问题,因为它更现实一些事实上,用户需要以与其他应用程序相同的方式与它进行交互,并且由于应用程序加载时间,他们可能会面临类似的挫折只有3%的用户没有通过控制,这表明它设计得很好;然而,22%的用户跳过了控制应用程序。未通过控制的用户被标记为低质量并被丢弃(我们仍然支付这些用户)。跳过它的用户将获得第二次赎回机会:如果他们显示与其他应用程序的高参与度,则不会被丢弃。具体而言,我们要求此类用户在整个会话中至少有100次点击 该过滤规则引入了额外的11%的被标记为低质量的用户,并且完全捕获了上面讨论的低参与度用户。本文中的其他活动表现出相同的损耗率。图7:通过人、猴子和CHIMP的两者的组合实现的方法覆盖率的CDF总而言之,我们使用自己设计的łcontrolAndroid应用程序来识别CHIMP活动中的低质量用户。我们还使用了约定,即,在虚拟电话区域中至少点击1次鼠标,以发现快速浏览CHIMP以兑换付款的用户。最后,我们结合两个规则,为用户跳过控件:我们要求至少100次鼠标点击不放弃用户。6APP运行时分析我们现在展示如何使用CHIMP的高级运行时分析来描述使
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 保险服务门店新年工作计划PPT.pptx
- 车辆安全工作计划PPT.pptx
- ipqc工作总结PPT.pptx
- 车间员工上半年工作总结PPT.pptx
- 保险公司员工的工作总结PPT.pptx
- 报价工作总结PPT.pptx
- 冲压车间实习工作总结PPT.pptx
- ktv周工作总结PPT.pptx
- 保育院总务工作计划PPT.pptx
- xx年度现代教育技术工作总结PPT.pptx
- 出纳的年终总结PPT.pptx
- 贝贝班班级工作计划PPT.pptx
- 变电值班员技术个人工作总结PPT.pptx
- 大学生读书活动策划书PPT.pptx
- 财务出纳月工作总结PPT.pptx
- 大学生“三支一扶”服务期满工作总结(2)PPT.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)