新型签到系统APP研究外文翻译资料

 2022-04-08 10:04

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


Mutation operators for testing Android apps

a b s t r a c t

Context: Due to the widespread use of Android devices, Android applications ( apps ) have more releases, purchases, and downloads than apps for any other mobile devices. The sheer volume of code in these apps creates significant concerns about the quality of the software. However, testing Android apps is different from testing traditional Java programs due to the unique program structure and new features of apps. Simple testing coverage criteria such as statement coverage are insufficient to assure high quality of Android apps. While researchers show significant interest in finding better Android testing approaches, there is still a lack of effective and usable techniques to evaluate their proposed test selection strategies, and to ensure a reasonable number of effective tests.

Objective: As mutation analysis has been found to be an effective way to design tests in other software domains, we hypothesize that it is also a viable solution for Android apps.

Method: This paper proposes an innovative mutation analysis approach that is specific for Android apps. We define mutation operators specific to the characteristics of Android apps, such as the extensive use of XML files to specify layout and behavior, the inherent event-driven nature, and the unique Activity lifecycle structure. We also report on an empirical study to evaluate these mutation operators.

Results: We have built a tool that uses the novel Android mutation operators to mutate the source code of Android apps, then generates mutants that can be installed and run on Android devices. We evaluated the effectiveness of Android mutation testing through an empirical study on real-world apps. This paper introduces several novel mutation operators based on a fault study of Android apps, presents a significant empirical study with real-world apps, and provides conclusions based on an analysis of the results.

Conclusion: The results show that the novel Android mutation operators provide comprehensive testing for Android apps. Additionally, as applying mutation testing to Android apps is still at a preliminary stage, we identify challenges, possibilities, and future research directions to make mutation analysis for mobile apps more effective and efficient.

用于测试Android应用程序的突变运算符

摘要

背景:由于Android设备的广泛使用,Android应用程序(应用程序)比任何其他移动设备的应用程序拥有更多的发布,购买和下载。 这些应用程序中庞大的代码量会对软件的质量产生重大影响。 但是,由于独特的程序结构和应用程序的新功能,测试Android应用程序与测试传统Java程序不同。 简单的测试覆盖率标准(如语句覆盖率)不足以确保高质量的Android应用程序。 尽管研究人员对找到更好的Android测试方法表现出浓厚的兴趣,但仍然缺乏有效且可用的技术来评估他们提出的测试选择策略,并确保进行合理数量的有效测试。

目标:由于突变分析被发现是在其他软件领域设计测试的有效方法,我们推测它也是Android应用程序的可行解决方案。

方法:本文提出了一种针对Android应用程序的创新突变分析方法。 我们定义了特定于Android应用程序特性的变异运算符,例如广泛使用XML文件来指定布局和行为,固有的事件驱动性质以及唯一的Activity生命周期结构。 我们还报告了一个实证研究来评估这些变异算子。

结果:我们已经构建了一个工具,该工具使用新颖的Android突变运算符来突变Android应用程序的源代码,然后生成可在Android设备上安装并运行的突变体。 我们通过对真实应用的实证研究来评估Android突变测试的有效性。 本文介绍了几种基于Android应用程序故障研究的新型变异算子,并用实际应用程序给出了重要的实证研究,并根据结果分析提供了结论。

结论:结果显示新型Android突变运算符为Android应用程序提供全面测试。 此外,由于对Android应用进行突变测试仍处于初步阶段,因此我们确定挑战,可能性和未来研究方向,以便为移动应用进行突变分析,从而更加有效和高效。

1.Introduce 介绍

A mobile application is a software program that runs on a mo- bile device such as a smartphone or a tablet. The number of mo- bile applications ( apps ) is growing as more platforms become avail- able, more apps are marketed, prices drop, and more users acquire more devices. The Android operating system currently dominates the market with 83.1% of sales in the third quarter of 2014 (iOS was second with 12.7%) [1] . Over a million apps are available to Android users on the Google Play store, the most widely used An- droid app store [2] , and thousands are added every day.

移动应用程序是运行在智能手机或平板电脑等移动设备上的软件程序。 移动应用程序(应用程序)的数量越来越多,越来越多的平台可用,销售更多应用程序,价格下降,以及更多用户获得更多设备。 Android操作系统目前占据市场主导地位,2014年第三季度的销售额为83.1%(iOS是第二位,占12.7%)[1]。 Google Play商店是使用最广泛的Android应用程序商店[2],可为Android用户提供超过一百万款应用程序,每天都会添加数千种应用程序。

Not surprisingly, quality is a serious and growing problem. Many apps reach the market containing significant faults, which often result in failures during use. To investigate the pervasive- ness of software faults in Android apps, Bhattacharya et al. [3] an- alyzed 29,233 bug reports in 24 widely-used open source Android apps and found that more than 8,500 of the bug reports were con- firmed as faults and fixed by developers later. None of the Android apps they analyzed was fault-free. Although part of the problem is a lack of software engineering (including little or no testing), a significant technical problem also exists. Android apps involve several new programming features and we have very little knowl- edge about how to test them. This results in weak and ineffective testing. In fact, even among developers who attempt to test their apps well, random value generation is quite common [4] . Although several researchers have proposed improved test techniques [4–8] , these have not reached practice.

毫不奇怪,质量是一个严重和日益严重的问题。许多应用程序到达包含严重故障的市场,这往往导致使用过程中出现故障。为了调查Android应用软件故障的普遍性,Bhattacharya等人[3]分析了24个广泛使用的开源Android应用程序中的29,233个错误报告,发现超过8,500个错误报告被确认为错误,并在稍后由开发人员修复。他们分析的Android应用程序都没有错误。虽然问题的一部分是缺乏软件工程(包括很少或没有测试),但是也存在一个重大的技术问题。 Android应用程序涉及一些新的编程功能,我们对如何测试它们知之甚少。这导致了弱测试和无效测试。事实上,即使在试图很好地测试其应用程序的开发人员中,随机值生成也是相当普遍的[4]。虽然有几位研究人员提出了改进的测试技术[4-8],但这些还没有达到实践。

The goal of our overall research project is to develop testing techniques that can allow developers to find faults in Android apps before release, especially in the parts of the code that use new programming features (as described in Section 2 ). Specifically, we propose to use mutation analysis, a high-end testing technique that is known for helping engineers design powerful tests.

我们整体研究项目的目标是开发测试技术,使开发人员能够在发布之前发现Android应用程序中的错误,尤其是在使用新编程功能的代码部分(如第2节中所述)。 具体而言,我们建议使用突变分析,这是一种

全文共76446字,剩余内容已隐藏,支付完成后下载完整资料


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

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。