登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 计算机类 > 计算机科学与技术 > 正文

软件工程应用程序商店分析综述外文翻译资料

 2022-08-21 11:08  

英语原文共 31 页,剩余内容已隐藏,支付完成后下载完整资料


软件工程应用程序商店分析综述

威廉·马丁、费代丽卡·萨罗、岳佳、张媛媛和马克·哈曼

摘要:

应用程序商店分析研究从应用商店获得的应用程序信息。应用程序商店提供了大量来自用户的信息,如果应用程序是通过以前软件部署方法发布的,这些信息将不存在。应用程序商店分析将这些非技术信息与技术信息结合起来,以了解这些形式的软件存储库中的趋势和行为。应用程序商店分析的结果对为应用程序商店开发软件的软件团队有直接和可操作的影响,并导致了需求工程、发布计划、软件设计、安全性和测试的技术。这项调查描述和比较迄今为止已经探索的研究领域,提出可共同的方面、趋势和未来研究应采取的方向,以解决开放的问题和挑战。

1:介绍

应用程序商店是最近才出现的:苹果的应用程序商店和Google play应用商店于2008年推出,从那以后两者都累积了吵过100万个可下载和可评估的应用程序。谷歌宣布,2015年9月激活的安卓设备有14亿台。移动应用商店也非常有利可图:2015年,一套在线移动应用商店的总价值预计为250亿美元。应用程序商店的成功与广大消费者对智能手机的接收相吻合。智能手机在这些应用商店推出之前就已经存在,但知道2008年,用户才能真正利用他们额外的计算能力,并通过可下载的应用程序实现多功能性。内部应用程序甚至商业应用程序在应用程序商店发布之前就已经可用,但是应用程序商店有一些不同:可用性,兼容性,易用性,多样性和用户提交的内容。

用户提交的内容从根本上区分了应用程序商店和预先存在的商业应用程序。因此,软件工程研究人员可以访问大量的软件应用程序以及客户反馈和商业性能数据,这在以前的软件部署机制中是不可用的。

此外,通过现成的可下载工具包,用户可以编写自己的应用程序来使用智能设备的硬件,他们随后可以在中央应用商店发布他们的软件,让用户下载(并可能付费)。这个发布过程要经过商店内部的审查和认证,但在一般情况下,应用程序和应用程序更新可以快速提供(通常在数小时/天内)

2:文献检索

应用程序商店分析文献包括对从应用程序商店挖掘的应用程序集合执行分析的研究。我们对结合技术和非技术属性的研究特别感兴趣,因为这些研究开创了应用商店提供的新的研究机会。然而,我们也包括使用应用商店作为软件存储库的研究,在一组真实世界的应用上验证他们的工具,或者通过使用特定的属性,比如应用在主要应用商店发布之前经过的恶意软件验证过程。

我们的调查不是一个系统的文献综述(SLR)。应用商店分析领域仍在发展中,但还没有达到一个成熟的水平,在这个水平上,可以选择研究问题,并从一系列明确的文献中提出问题。我们的研究旨在定义、收集和管理不同的文献,论证和证明确实存在一个连贯的研究领域,可以称为“软件工程的应用商店分析”。我们希望,这将证明是一个有利的研究,未来单反相机在这方面。

我们采用以下纳入标准:

(1)本文涉及软件工程,可能对软件用户、开发人员或维护人员产生可操作的后果。

(2)本文件与移动应用商店有关,涉及使用从一个或多个应用商店收集的应用程序集合或非技术数据。

我们采用以下排除标准:

(1)这篇论文关注的是移动应用程序开发,但并没有扩展到应用程序集合和应用程序商店。

(2)论文使用任意的应用程序集合来测试一个工具,但它不是从应用程序商店中挖掘出来的,而且研究也没有扩展到应用程序商店。

3:非技术研究

虽然软件工程主要处理代码,但它并不局限于处理严格的技术信息源。我们可以合并来自多个(技术和非技术)来源的数据,而应用商店提供了丰富的此类信息。在187篇论文中,有127篇(68%)包含了从应用程序商店中挖掘的非技术信息,以便推断技术属性(如功能),或者从用户那里提取有用的信息,如错误报告和功能请求。

4:研究规模

为了讨论研究论文所研究的应用程序的数量,我们首先需要定义一组范围。根据他们所考虑的应用程序的数量,我们将研究的论文按照10次幂的升序排列。我们指定的范围和研究它们的研究论文数量。

考虑文献中使用的应用程序的中位数为1679,平均数为44807。这一结果表明,一半的论文研究的应用不到2000个,但另一半研究的应用数量要大几个数量级。

使用104到105个应用程序的研究柱状图显示了2011年到2015年的增长,这一结果也反映在使用105到106个应用程序的研究柱状图中,直到2014年。需要注意的是,我们没有2015年的完整数据,因此这一结果可能会发生变化。使用小规模应用程序的研究显示,频率的变化是不确定的,这表明未来大多数研究可能会继续使用超过104个应用程序。基于应用程序商店分析文献的增长,研究的应用程序数量的增加,当然还有应用程序商店自身的增长,我们预计未来会有更大的研究。

5:主要观点

描述关键思想的时间线。这突出了主要的应用程序商店的研究,这些研究在某种程度上促进了应用程序商店分析领域的发展,或者在各自的章节中引入一些有影响力的想法。

6:API分析

本节将讨论从安卓应用程序包或源代码中提取API用法并将此信息与非技术数据相结合的论文进行总结。所有的API分析文献都只研究了Android平台上的应用程序。这可能是因为可以使用工具来反编译应用程序并提取它们的API调用,这些工具是免费的,可以应用于下载的应用程序二进制文件。或许令人惊讶的是,自苹果2008年推出IOS以来,苹果平台上也没有进行过此类分析。这可能是因为IOS二进制文件仅适用于预期的平台,没有苹果开发者帐户(这不是免费的)的桌面计算机无法下载或使用。即使有这样一个帐户,也需要应用程序二进制文件或源代码,而且由于a)二进制文件的版权和b)许多IOS应用程序是为应用程序付费的,两者都是免费提供的。由于这些困难,未来的研究是否有可能从IOS应用程序中提取API信息尚不确定;事实上,这可能会变得更加困难,因为(在IOS9中)向开发者提交了LLVM的标识符二进制文件,然后由苹果为特定平台编译。

API分析文献可以分解为API使用、类重用和继承、错误和权限与安全。后一节和第10节有些重叠。尽管如此,本节中讨论的文献被收集在一起并在这里讨论,因为它直接分析了API的使用情况。本节中包含的几篇论文涉及能源使用尽管这一领域的许多研究仅间接涉及应用商店。对于那些希望进一步了解这一主题的人,我们将读者引向Hindle的最新论文。

迄今为止,所有的API分析文献都研究了Android平台上的应用程序。考虑的应用程序数量范围很大,从0个应用程序到超过1000000个应用程序。

6.1:API的使用

Borges和Valente使用396个开源安卓应用程序的数据集,通过关联规则挖掘来推断API的使用模式。在他们的研究中,作者将API Miner扩展到挖掘使用模式,并使用提取的使用模式来检测API文档。他们报告了一项超过17个月的研究,在此期间,安卓文档被公开,大约有78000次访问。Shirazi等人提取了用户界面(UI)元素和布局方面的API使用情况,并比较了2012年存在的谷歌Play store的21个不同类别的统计数据。

Wan等通过对应用程序的UI进行转换,并按能耗对UI组件进行排序,来探索应用程序中的能源热点。作者们在398个来自谷歌Play的应用程序上测试了他们的方法。Azad研究了从Google Play和F-droid中挖掘出来的应用程序,并根据Stack Overflow讨论,制作了检查API使用情况和建议类似API的工具,对应用程序的相似性进行评分,确定应用程序复制开源项目源代码的程度,以及检测许可证违规行为。田勇等人。从代码复杂度、API依赖性、API质量以及其他一些因素中提取API信息并评估应用程序,以便训练功能区分高级别和低评级应用程序。

API的使用情况可以从Android APK文件中提取出来,使得Android平台上的分析相对直观。提取的信息已被用于分析能源使用情况,检测恶意软件,分析图形元素和检测违规行为。

6.2:类重用和继承

2012年Ruiz等人在谷歌Play中研究了从5个类别中挖掘的4323个Android应用程序的类重用和继承。在这217个应用程序中,发现它们包含的类与同类别的应用程序完全相同。2014年,Ruiz等将该研究扩展到208,601个应用。大量代码重用的更多证据被发现,作者得出结论,应用程序开发人员受益于生产率的提高,但风险依赖于他们重用的代码的质量。

6.3:未来的工作

对于未来的API分析文献,最大的可用途径是考虑替代平台:迄今为止的所有研究都从Android应用程序中提取了API的使用情况。过渡到中间表示对苹果应用程序商店中潜在的API分析有什么影响还有待观察,但它可能会阻碍这些努力。Windows Phone平台是相对较新的,我们可能会开始看到使用该平台的API分析研究;谷歌应用程序商店于2008年推出(当时名为Android Market),但直到2012年,应用程序商店分析文献才开始研究该商店的API使用情况。

API分析研究的规模很大,但未来的工作可能会试图研究长期使用情况的变化。文献研究了不同流行度或评级的应用程序之间API使用的差异,但是有可能研究不同类别之间的差异。

7:版本工程学

Ruiz等人2014年的研究调查了更新广告库的更新情况。他们发现,在12个月的时间里,在5937个多次更新的应用程序中,几乎一半的程序都进行了广告库更新。大约14%的广告更新

不包含对应用程序代码的更改,这表明在保持广告库更新方面所做的努力。Gui等人发现,在谷歌中有21个频繁发布的应用程序,其中23%的发布包含与广告相关的变化。

Guerrouj等人的发现表明,发行版中较高的代码流失率与较低的评级相关。Alharbi和Yeh对24436个Android应用程序的设计模式进行了为期18个月的跟踪调查。他们发现,贬值模式有时会在贬值后被采用,而且新模式的采用率很低。通过跟踪应用程序描述,他们发现应用程序开发人员有时会更新应用程序描述,以反映他们应用的设计模式的变化。作者认为,这表明描述被用作开发人员和用户之间的沟通渠道。作者报告了启动和停止使用某些设计模式的应用程序。一个有趣的未来研究方向可能是使用Sarro等人的app功能迁移术语记录这些“设计功能”的迁移。

在12个月的时间里,多达一半的应用程序更新是广告库的更新,其中14%的情况下没有其他变化。研究发现,高代码流失率与低评级有关。

8:回顾分析

Hoon等人和Vasa等人收集了一个包含来自苹果应用商店的870万条评论的数据集,并分析了评论和使用的词汇。2013年,Hoon等人分析了来自苹果应用商店的800万条评论。他们发现,大多数手机应用评论的长度都很短,评级和类别都会影响评论的长度。大多数被研究的应用程序在第一年收到的评论不到50条。被分析的应用程序中,有一半在用户对质量的评估中有所下降,这可以用一段时间内的评级来表示。作者认为,用户对应用程序的期望正在迅速改变,开发者必须跟上需求才能保持竞争力。

Iacob等人研究了应用程序的价格和评级如何影响它通过评论获得的用户反馈的类型和数量。作者为这项研究选择了3279条评论,从这些评论中他们确定了9类反馈:积极的、消极的、比较的、价格相关的、需求请求、问题报告、可用性、客户支持、版本管理。从所选的应用程序中,正面评论与fea- ture/issue类型评论的比例大致相当,而负面或价格相关的评论则很少。

Khalid等人研究了用于提交app评论的设备,以确定用于测试的最佳设备。Palomba等人研究了100个开源Android应用程序的谷歌播放评论,并将这些评论与代码更改联系起来。他们发现,平均有49%的评论请求是在新版本中实现的,而那些更直接实现用户评论内容的应用程序在新版本中提高了它们的评级。为了弥补软件属性和用户评论之间的差距,Hoon等人开发了一个本体论,用来描述应用评论中的软件质量属性。

McIlroy等人研究了10713个谷歌Play应用对评论的反应,发现大多数开发者对评论没有反应。然而,在出现响应的情况下,38.7%的用户随后改变了他们的评级,导致单个用户的评级中位数增加了20%。Maalej等的研究总结了移动应用用户反馈分类。

9:安全

在应用商店的安全分析中,利用应用商店提供的非技术信息来扩展方法是有潜力的。此外,还有大量关于应用程序安全性的文献,也许需要一个独立的调查来收集不符合应用程序商店分析范围的元素。

本节的大多数研究使用来自谷歌Play的数据集,三个研究苹果数据集,只有一个研究Windows。因此,潜在的未来工作可能会寻求研究从苹果、Windows和黑莓收集的集合的安全性,并可能扩展到跨商店的安全性分析或比较。

10:未来的工作

我们预计,随着应用程序商店规模的扩大,未来几年应用程序样本的使用规模将会扩大。谷歌Play和苹果应用程序商店都有超过150万个应用程序,而且已经有超过100万个应用程序的研究。我们还希望看到更多的纵向研究:预测和发布工程研究的子领域特别适合纵向数据,这两个领域在2015年都有所增长。

在整合了现有的独特应用程序后,甚至缩小了应用程序的大小,可能使用了本次调查中讨论的一些技术。与此同时,随着应用程序商店的不断增长,应用程序发现对新应用程序或开发人员来说是一个至关重要的问题,因此我们可能会看到改进发现的努力,比如一个更大的类别系统。

一个机会。未来研究的一个方向是从应用程序商店中提取非技术信息,并提取应用程序的样本(认识到应用程序抽样问题)。跨商店研究也是未来研究的一个途径。很少有研究对多个应用程序商店进行比较,但有可能了解主流商店与不太知名或刚刚起步的商店之间的区别。

应用程序商店为我们提供了独特的机会,让我们能够同时利用应用程序的客户

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[409760],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图