Model-based Testing of Mobile Systems -- An Empirical Study on QuizUp Android App
我们提出了一个实证研究中,基于模型的测试(MBT)应用于移动系统:Android客户端的QuizUp,在世界上最大的移动琐事游戏。该研究表明,基于扩展有限状态机的传统MBT方法可以有效和高效地用于测试移动应用程序。在一个拥有数百万用户并且已经经过良好测试的部署系统上检测到重大缺陷。整个测试工作持续了三个月,包括模型的构建。维护应用程序的单一行为模型是以有效的方式进行测试的关键。
2016-06-01 cs.SE
DinoDroid: Testing Android Apps Using Deep Q-Networks
对移动设备的大量需求引起了对移动应用程序(app)质量的重大关注。开发人员需要在向市场发布之前保证移动应用程序的质量。有许多方法使用不同的策略来测试移动应用程序的GUI。然而,由于其有限的有效性,它们仍然需要改进。在本文中,我们提出了DinoDroid,这是一种基于深度Q网络的方法,可以自动测试Android应用程序。DinoDroid从一组现有的应用程序中学习行为模型,学习的模型可用于探索和生成新应用程序的测试。DinoDroid能够捕获GUI事件的细粒度细节(例如,GUI小部件的内容),并将其用作输入深度神经网络的特征,深度神经网络充当引导应用探索的代理。DinoDroid在探索过程中自动适应学习的模型,而不需要任何建模策略或预定义的规则。我们对64个开源Android应用程序进行了实验。测试结果表明,DinoDroid在代码覆盖率和bug检测方面优于现有的Android测试工具。
2022-10-12 cs.SE
CrashScope: A Practical Tool for Automated Testing of Android Applications
在测试移动应用程序时,由于其普遍的事件驱动性质和复杂的上下文功能(例如传感器,通知),会出现独特的挑战。当前用于Android应用的自动化输入生成方法由于所需的仪器化或平台依赖性而通常对于开发人员来说不实用,并且通常不能有效地运用上下文特征。为了更好地支持开发人员执行移动测试任务,在本演示中,我们将介绍一种名为CrashScope的新型自动化工具。此工具根据静态和动态分析提供的几种策略,使用系统输入生成来探索给定的Android应用程序,其内在目标是触发崩溃。当检测到崩溃时,CrashScope会生成一个增强的崩溃报告,其中包含屏幕截图、详细的崩溃再现步骤、捕获的异常堆栈跟踪以及一个完全可重播的脚本,该脚本可在目标设备上自动再现崩溃。初步研究结果表明,CrashScope能够发现与其他最先进的工具一样多的崩溃,同时为开发人员提供详细有用的崩溃报告和测试脚本。网址:www.example.com视频网址:www.example.com
2018-01-18 cs.SE
SO{U}RCERER: Developer-Driven Security Testing Framework for Android Apps
对于应用程序开发人员来说,经常建议的安全开发建议在实践中往往不足。工具驱动(例如,使用静态分析工具)方法缺乏被测试的应用程序的上下文和特定于域的要求。应用程序开发人员很难从静态分析工具报告的一系列安全警告中找到一个可操作的优先级漏洞列表。流程驱动(例如,应用威胁建模方法)方法需要大量资源(例如,安全测试团队,预算)和安全专业知识,这是中小型应用程序开发团队几乎负担不起的。为了帮助应用程序开发人员保护他们的应用程序,我们提出了SO{U}RCERER,这是一个针对Android应用程序开发人员的安全测试指导框架。SO{U} RCEER指导开发人员识别应用程序的特定于域的资产,检测漏洞并对其进行优先级排序,并根据安全开发指南缓解这些漏洞。我们通过分析和测试36个Android移动货币应用程序的案例研究来评估SO{U}RCERER。我们发现,通过遵循SO{U} RCEER指导的活动,应用程序开发人员可以获得一个简洁且可操作的漏洞列表(SO{U} RCEER产生的安全警告比独立的静态分析器少24-61%),直接影响移动货币应用程序的关键资产,并制定缓解计划。我们的初步研究结果表明,Android应用程序安全测试的可行方法对应用程序开发人员来说并不复杂。
2021-11-03 cs.SE
How do Developers Test Android Applications?
实现移动应用程序的全自动测试最近已成为研究人员和从业人员的重要研究课题。已经提出了大量的工具和方法,通过增加手动测试实践和自动化测试过程的各个部分来帮助移动开发人员。然而,目前的自动化测试方法无法让开发人员相信它们的好处,导致大多数移动测试都是手动执行的。为了帮助设计支持移动测试方法的研究人员和从业人员了解开发人员的需求,我们分析了来自Android项目的102位开源贡献者关于他们在执行测试时的实践的调查回复。调查的重点是关于开发人员/测试人员在野外的实践和偏好的问题:(i)设计和生成测试用例,(ii)自动化测试实践,以及(iii)对质量度量的看法,例如用于确定测试质量的代码覆盖率。通过分析从这次调查中收集到的信息,我们汇编了一套知识体系,以帮助指导研究人员和专业人员根据不同开源开发人员的需求定制新的自动化测试方法。
2018-01-19 cs.SE
Scripted GUI Testing of Android Apps: A Study on Diffusion, Evolution and Fragility
背景有证据表明,移动应用程序没有像桌面应用程序那样经过彻底测试。特别是GUI测试通常是有限的。与基于Web的应用程序一样,移动应用程序也存在GUI测试脆弱性,即GUI测试类由于GUI中的微小修改而失败,而应用程序功能没有改变。目标。我们研究的目的是检查Android上GUI测试的扩散,以及保持测试类保持最新所需的更改量,特别是由于GUI测试脆弱性而导致的更改。我们定义的指标来表征测试类和测试方法的修改和演变,以及代理估计脆弱性引起的变化。法为了进行我们的实验,我们选择了六个广泛使用的开源工具,用于以前在文献中描述的移动应用程序的脚本GUI测试。我们已经挖掘了GitHub上使用这些工具的存储库,并计算了我们的指标集。结果我们发现,没有一个被考虑的GUI测试框架在GitHub上可用的开源Android项目中实现了重大传播。对于GUI测试项目,我们发现测试套件必须经常修改,具体来说,开发人员修改的LOC中有5%-10%属于测试,并且此类修改的相关部分(平均60%)是由脆弱性引起的。结论. GUI测试类的脆弱性是一个相关的问题,可能是开发人员采用自动化脚本GUI测试的障碍。Android脚本化GUI测试脆弱性的首次评估和测量可以为开发人员提供基准,并为脆弱性原因分类的定义奠定基础,以及缓解问题的可行指南。
2017-11-09 cs.SE
Fine-grained Code Coverage Measurement in Automated Black-box Android Testing
今天,有数百万的第三方Android应用程序。这些应用程序中有一些是错误的,甚至是恶意的。为了识别这些应用程序,包括Google在内的Android社区正在开发用于自动化黑盒测试和动态分析的新框架。代码覆盖率是评估这些框架有效性的最常见指标之一。此外,代码覆盖率被用作指导进化和模糊测试技术的适应度函数。然而,在黑盒Android应用程序测试中,没有可靠的工具来测量细粒度的代码覆盖率。我们提出了Android代码覆盖工具,简称ACVTool,它可以检测Android应用程序,并在类,方法和指令粒度的黑盒设置中测量代码覆盖率。在我们的实验中,ACVTool已经成功检测了96.9%的应用程序。它引入了一个可以忽略不计的插装时间开销,并且它的运行时开销对于自动化测试工具来说是可以接受的。我们在一个大规模的实验与Sapienz,一个国家的最先进的测试工具,细粒度的预防级别的代码覆盖率ACVTool提供的帮助,发现了更大的故障比粗粒度的代码覆盖率指标。
2018-12-27 cs.CR cs.SE
METFORD -- Mutation tEsTing Framework fOR anDroid
本文提出 Android 变异测试框架 METFORD,利用变异体模式集成传统与 Android 专用算子,显著降低时间、磁盘和碳足迹成本。
2025-01-12 cs.SE
To What Extent Is Stress Testing of Android TV Applications Automated in Industrial Environments?
基于Android的智能电视(TV)必须在各种硬件资源条件下在嵌入式程序环境中可靠地运行其应用程序。由于用于构建众多电视模型的各种硬件组件,电视模拟器通常没有足够的保真度来模拟各种电视模型,因此在对此类应用进行压力测试时仅被视为不可靠的替代品。因此,尽管在真实电视机上进行压力测试是繁琐的,但这是确保行业中这些应用程序可靠性的事实方法。在本文中,我们研究在工业环境中,智能电视应用程序的压力测试可以在多大程度上完全自动化。据我们所知,没有以前的工作已经解决了这个重要的问题。我们总结了从10个工业测试工程师那里收集的结果,他们在真实的生产环境中测试了20个这样的电视应用程序。我们的研究表明,行业所需的测试自动化支持高层次的GUI对象控制和状态检查,资源条件的设置和两者之间的相互作用。有了这些支持,一个电视型号的87%的工业测试规格可以完全自动化,其中71.4%被发现是完全可重复使用的,以测试后续的电视型号,主要升级的硬件,操作系统和应用程序。与没有此类支撑的压力测试相比,它代表了28%和38%的利润率的显着改善。
2015-09-23 cs.SE
NaviDroid: A Tool for Guiding Manual Android Testing via Hint Moves
作为自动GUI测试的补充,手动测试是应用质量的最后一道防线,特别是在发现可用性和可访问性问题方面。然而,重复的动作和容易丢失的一些功能,使手工测试耗时,劳动密集和效率低下。受糖果粉碎游戏的启发,我们开发了一个名为NaviDroid的工具,用于通过突出显示的下一个操作来导航人类测试人员,以实现更有效和高效的测试。在NaviDroid中,它构建了一个丰富的状态转换图(STG),其中触发器动作作为两个相关状态的边。NaviDroid在STG的基础上,利用动态规划算法规划探索路径,并在运行时GUI中增加可视化提示动作,使测试人员能够快速探索未测试的状态,避免重复。自动化实验证明了NaviDroid的高覆盖率和高效的路径规划。用户研究进一步证实了它的有用性,在参与者覆盖更多的状态和活动,检测更多的错误在更短的时间内与对照组相比。NaviDroid演示视频:https://youtu.be/lShFyg_nTA0。
2022-05-27 cs.SE
LELANTE: LEveraging LLM for Automated ANdroid TEsting
本文提出 LELANTE 框架,利用大型语言模型自动解释自然语言测试用例并直接在 Android 屏幕上执行操作,无需预编写脚本,在 390 个测试用例中达到 73% 成功率,有效提升了移动测试的可扩展性和适应性。
2025-04-29 cs.SE
ChimpCheck: Property-Based Randomized Test Generation for Interactive Apps
我们考虑的问题,产生相关的执行跟踪测试丰富的交互式应用程序。丰富的交互式应用程序(例如移动平台上的应用程序)是复杂的有状态且通常是分布式的系统,其中使用用户交互(UI)事件序列充分运行应用程序以暴露缺陷既困难又耗时。特别是,在暴力随机UI练习工具和UI测试脚本之间存在根本的紧张关系,暴力随机UI练习工具是全自动的,但提供低相关性,UI测试脚本是手动的,但提供高相关性。在本文中,我们考虑了一种中间方法-实现脚本化和随机化UI测试的无缝融合。这种融合是在一个名为ChimpCheck的测试工具中原型化的,用于为Android应用程序编程,生成和执行基于属性的随机测试用例。我们的方法实现了这种融合,提供了一个高层次的,嵌入式领域特定的语言定义自定义生成器的模拟用户交互事件序列。下面是一个基于工业强度框架构建的组合子库,用于基于属性的测试(ScalaCheck)和Android测试(Android JUnit和Espresso),以实现Android开发的基于属性的随机测试。在开源Android应用程序中真实报告的问题的推动下,我们通过案例研究展示了ChimpCheck如何以紧凑的方式表达有效的测试模式。
2017-08-29 cs.SE
Automation of Android Applications Testing Using Machine Learning Activities Classification
Weizmann Institute of Science(魏茨曼科学研究所);Bar-Ilan University(巴伊兰大学)
全球一半以上的人口每天都在使用移动应用程序来执行各种各样的任务。随着这些应用程序的日益广泛的使用,需要有效的技术来测试它们。许多框架允许自动化应用程序测试的过程,然而现有的框架主要依赖于应用程序开发人员为每个开发的应用程序提供测试脚本,从而防止这些测试重复用于类似的应用程序。在本文中,我们提出了一种新的方法来自动化测试的Android应用程序,利用机器学习技术和重用流行的测试场景。我们讨论并展示了我们的方法在实证研究中的潜在好处,我们表明,我们开发的测试工具,所提出的方法的基础上,在现实环境中优于标准方法。
2017-09-04 cs.AI cs.SE
VLM-Fuzz: Vision Language Model Assisted Recursive Depth-first Search Exploration for Effective UI Testing of Android Apps
针对Android应用UI测试中代码覆盖率低的问题,提出VLM-Fuzz方法,结合视觉语言模型辅助启发式DFS算法,提升了代码覆盖率并检测出24个应用中的208个崩溃。
2025-04-16 cs.SE
From Manual Android Tests to Automated and Platform Independent Test Scripts
由于移动应用程序非常受欢迎,并且通常是关键任务,因此公司投入了大量资源来测试他们提供给客户的应用程序。测试对于Android应用尤其重要,因为这些应用必须在多种设备和操作系统版本上运行。不幸的是,正如我们在与质量保证专业人员的多次采访中所证实的那样,应用程序测试是一项非常人力密集的活动,因此繁琐且容易出错。为了解决这个问题,并更好地支持Android应用程序的测试,我们提出了一种新的技术,允许测试人员轻松地为应用程序创建独立于平台的测试脚本,并自动在多个设备和操作系统版本上运行生成的测试脚本。该技术在不修改被测应用程序或运行时系统的情况下这样做,通过(1)拦截测试人员与应用程序的交互,以及(2)为测试人员提供直观的方式来指定预期结果,然后将其编码为测试神谕。我们在一个名为Barista的工具中实现了我们的技术,并使用该工具来评估我们方法的实用性和适用性。我们的研究结果表明,Barista可以忠实地编码用户定义的测试用例作为测试脚本与内置的预言机,生成测试脚本,可以在多个平台上运行,并可以胜过一个国家的最先进的工具,具有类似的功能。咖啡师和我们的实验基础设施是公开的。
2016-08-11 cs.SE
Modelling Android applications through static analysis and systematic exploratory testing
SFI Lero & School of Computer Science, University College Dublin(都柏林大学学院计算机科学系);National Institute of Informatics(日本国立情报学研究所);School of Computer Science and Statistics, Trinity College Dublin(都柏林三一学院计算机科学与统计学院)
本文提出DroidGraph框架,结合静态分析与系统探索性测试为Android应用生成控制流模型,实验显示其能提升应用交互覆盖度并发现更多代码组件与回调链接。
2026-08-04 cs.SE
Taming Android Fragmentation through Lightweight Crowdsourced Testing
针对现有工具仅能检测特定Android兼容性问题的不足,提出轻量级众包测试方法LAZYCOW,可在真实设备上有效识别验证API引发的兼容性问题,实用性获用户认可。
2023-06-17 cs.PL cs.SE
$ω$Test: WebView-Oriented Testing for Android Applications
针对 Android WebView 交互复杂且现有动态测试依赖人工或随机生成的问题,提出 $ω$Test,基于 WebView 专属属性与跨语言动态分析生成事件序列,在 74 个应用中发现 36 个未知缺陷。
2023-06-06 cs.SE
A Comprehensive Study on Static Application Security Testing (SAST) Tools for Android
本文提出统一平台 VulsTotal,整合 11 个开源 Android SAST 工具、67 类漏洞、标准化报告及新建 CVE 基准,从覆盖率、有效性和性能等方面系统比较工具表现。
2024-10-28 cs.SE
Hawkeye: Change-targeted Testing for Android Apps based on Deep Reinforcement Learning
ByteDance(字节跳动);University of Edinburgh(爱丁堡大学)
针对Android应用更新测试效率低的问题,提出基于深度强化学习的Hawkeye定向测试方法,优先执行与代码变更相关的GUI操作,实验证明其优于现有工具并适用于商业应用冒烟测试。
2023-09-04 cs.LG cs.SE
Target Directed Event Sequence Generation for Android Applications
测试是保证软件质量的常用方法,其中基于模型的测试是测试Android应用程序等GUI程序的热门话题。现有的方法主要是动态地构建一个只包含GUI信息的模型,或者从代码的角度构建一个模型,而这个模型可能无法描述GUI控件在运行时的变化。此外,这些模型中的大多数不支持回栈,这是Android的一种特殊机制。因此,本文提出了一个模型LATTE,动态构造考虑的视图信息的窗口部件以及回栈,来描述GUI窗口部件之间的过渡。我们还提出了一个标签集链接的LATTE模型的元素程序片段。用户可以定义标签集的一个子集作为测试需求的目标,这些测试需求需要覆盖代码的某些特定部分。为了避免模型构建过程中的状态爆炸问题,我们引入了状态相似度的定义来平衡模型的精度和分析成本。基于该模型,提出了一种目标导向测试生成方法,生成事件序列以有效覆盖目标。在几个真实应用上的实验表明,基于LATTE生成的测试用例可以达到较高的覆盖率,并且利用该模型可以生成覆盖给定目标的短事件序列的事件序列。
2017-08-23 cs.SE
Android Instrumentation Testing in Continuous Integration: Practices, Patterns, and Performance
University of Toronto(多伦多大学);Trent University(特伦特大学)
研究Android持续集成中仪器测试的实践、模式及性能,发现仅10.6%的仓库使用仪器测试,常用社区组件或自定义脚本设置模拟器,不同设置方式在可靠性、效率和成本上有差异。
2026-04-03 cs.SE
Concurrency-related Flaky Test Detection in Android apps
通过测试验证Android应用程序是困难的,因为存在测试。由于不确定的执行环境,一系列事件(测试)可能以不可预测的方式导致成功或失败。在这项工作中,我们提出了一种方法和工具FlakeShovel通过系统的探索事件顺序检测的测试。我们的主要观察是,对于移动应用程序中的测试,有一个测试框架线程创建测试事件,一个主用户界面(UI)线程处理这些事件,可能还有几个其他后台线程异步运行。对于任何事件e,其执行涉及潜在的非确定性,我们定位e必须发生的最早(最晚)事件之后(之前)。然后,我们有效地探索上/下限事件之间的时间表,同时将事件分组在单个语句中,以确定测试结果是否是错误的。我们还创建了一套名为DroidFlaker的主题程序来研究Android应用程序中的重复测试。我们在主题套件DroidFlaker上的实验证明了我们的测试检测的有效性。我们的工作是对现有的测试检测工具的补充,比如Deflaker,它只检查失败的测试。FlakeShovel可以在通过的测试中检测到重复测试,正如我们的方法和实验所示。
2021-05-21 cs.SE
Guided Bug Crush: Assist Manual GUI Testing of Android Apps via Hint Moves
移动应用程序是人们日常生活中不可或缺的。与自动化GUI测试相辅相成,手动测试是应用质量的最后一道防线。然而,重复的操作和容易丢失的功能使得手动测试耗时且效率低下。受糖果粉碎游戏的启发,华丽的糖果作为玩家的提示动作,我们提出了一种名为NaviDroid的方法,通过突出显示的下一个操作,更有效和高效的测试导航测试。在NaviDroid中,我们构建了一个丰富的状态转换图,其中触发动作作为两个相关状态的边缘。在此基础上,利用动态规划算法规划探索路径,并在GUI中增加可视化提示,使测试人员能够快速探索未测试的活动,避免重复探索。自动化实验证明了NaviDroid的高覆盖率和高效的路径规划,用户研究进一步证实了其实用性。NaviDroid可以帮助我们开发更强大的软件,在更关键的任务设置中工作,不仅通过执行更彻底的测试,而且通过将这些技术集成到开发管道的不同部分。
2022-01-28 cs.HC cs.SE
RotDroid: Cross-Orientation State Equivalence Testing for Detecting GUI Rotation Bugs in Android Apps
Beihang University(北京航空航天大学)
RotDroid是一款检测Android应用GUI旋转漏洞的测试框架,通过生成SPS、构建RotBench数据集及开发RotVL模型,在相同预算下比现有技术检测到更多旋转故障,还发现94个未知漏洞且47个被确认修复。
2026-08-27 cs.AI cs.SE
Humanoid: A Deep Learning-based Approach to Automated Black-box Android App Testing
自动输入生成器广泛用于移动应用程序的大规模动态分析。这样的输入生成器必须不断地选择与哪个UI元素交互以及如何与它交互,以便在有限的时间预算内实现高覆盖率。目前,大多数输入生成器采用伪随机或蛮力搜索策略,这可能需要很长时间才能找到正确的输入组合,从而将应用程序驱动到新的重要状态。在本文中,我们提出了Humanoid,一种基于深度学习的方法,通过从人类交互中学习来生成GUI测试输入。我们的观点是,如果我们可以从人类生成的交互痕迹中学习,就有可能根据用户感知的重要性自动对测试输入进行优先级排序。我们设计并实现了一个深度神经网络模型,以了解最终用户如何与应用程序交互(具体来说,与哪些UI元素交互以及如何交互)。我们的实验表明,交互模型可以成功地优先考虑任何新UI的用户首选输入(前1名的准确率为51.2%,前10名的准确率为85.2%)。我们基于学习的模型为Android应用程序实现了一个输入生成器,并在开源应用程序和市场应用程序上对其进行了评估。结果表明,Humanoid能够实现比六个最先进的测试生成器更高的覆盖率。然而,进一步的分析表明,学习模型不是覆盖率提高的主要原因。虽然学习的交互模式可以以更高的概率驱动应用进入一些重要的GUI状态,但它对GUI状态搜索的宽度和深度的影响有限,这是长期提高测试覆盖率的关键。是否以及如何使用人类交互模式来提高覆盖率仍然是一个未知且具有挑战性的问题。
2020-12-30 cs.SE
Robotic-supported Data Loss Detection in Android Applications
Federal University of Pernambuco(伯南布哥联邦大学)
本研究针对安卓应用手动测试的缺陷,提出机器人辅助数据丢失检测工具R-DLD,从77款应用中识别341个数据丢失问题,获开发者89.55%确认、35.82%修复。
2026-10-16 cs.RO cs.SE
Breaking Android with AI: A Deep Dive into LLM-Powered Exploitation
Sam Houston State University(萨姆霍茨州立大学)
本研究利用LLM工具(如PentestGPT)自动化Android渗透测试中的root过程,通过与传统方法对比,评估其有效性、可靠性及可扩展性,并强调人类监督对确保准确性和伦理应用的必要性。
2025-09-09 cs.AI cs.SE
Enhancing GUI Exploration Coverage of Android Apps with Deep Link-Integrated Monkey
本文提出深度链接增强的 Monkey 测试工具 Delm,通过触发 Android intent 模拟 Activity 上下文并引导探索过程跳出循环,从而显著提升 Activity 覆盖率、方法覆盖率和崩溃检测能力。
2024-04-30 cs.CR cs.SE
Can You Mimic Me? Exploring the Use of Android Record & Replay Tools in Debugging
本文对 Android 记录与重放(R&R)工具在记录和重放非崩溃故障、崩溃 bug 及用户场景中的表现进行了全面实证研究,发现 17% 的场景、38% 的非崩溃 bug 和 44% 的崩溃 bug 无法可靠记录与重放,并指出了未来的改进方向。
2025-04-28 cs.SE
Improving the Reliability of Mobility Applications
Android平台是Google在2008年推出的,作为移动设备的操作系统。Android的SDK为编程提供了广泛的支持,并提供了大量的示例和文档。可靠性是智能电话应用程序越来越关注的问题,因为它们通常具有个人信息和数据。因此,需要用于检查应用程序的正确行为的技术和工具。本文展示了如何使用Event-B方法来推理和验证Android应用程序的设计,以及如何使用该方法来记录实现决策。我们的方法包括在事件B中建模的应用程序的核心功能,并使用所产生的证据证明义务的原因的设计和实现的app. Although我们没有提出一种新颖的方法,我们证明,重量级的形式化方法(FM)技术与事件B可以有效地用于支持正确的Android应用程序的开发。我们提出了一个案例研究,其中我们在Event-B中设计了WhatsApp的核心功能,我们将其编码为三个机器改进模型的基本功能(聊天,删除内容,转发内容,删除聊天会话等),聊天会话的已读和未读状态,以及实现细节。我们报告和讨论的核心功能的设计和实施的基本挑战。
2018-06-09 cs.SE
Non-Functional Testing of Runtime Enforcers in Android
可使用安全执行器来确保运行的应用程序满足所需的正确性属性。虽然相对于抽象行为模型,通过构造而正确的运行时执行器相对容易指定,但是从这些规范生成的具体软件执行器可能容易在目标应用中引入问题。事实上,开发人员可以生成测试套件来验证执行者的功能行为,例如利用用于指定它们的相同模型。然而,它仍然是具有挑战性和繁琐的非功能性的性能特征方面来验证执行器的行为。本文描述了一种实用的方法来揭示可能在目标应用程序中引入低效率的运行时执行器。该方法依赖于自动测试生成和多个关键性能指标的运行时监控的组合。我们设计了我们的方法来揭示移动系统的四个指标:响应能力,启动时间,内存和能耗。实验结果表明,我们的方法可以检测性能问题,可能会引入自动生成的执行器。
2022-09-14 cs.FL cs.SE
A repository of automatic GUI test patterns in Android applications: Specification and Analysis using Alloy modeling language
软件行业的目标是为客户提供高质量的软件。软件测试是保证软件质量的关键和敏感阶段。由于移动设备的日益普及,Android应用程序的使用有所增加。几乎所有的都配备了图形用户界面与用户或系统进行交互。GUI是与现代软件进行通信的最常用工具。因此,完美的GUI是保证整个软件系统安全性、强度和可用性的GUI。GUI测试是确保产品质量的重要阶段,因为GUI是用户对最终产品的第一印象和最终视图。本文提出了一种新的技术,以提高基于模型的测试效率,使用合金建模语言。研究结果表明,这种方法需要更少的配置和建模时间比以前的方法。此外,使用GUI模式可以减少错误和违规。
2022-09-05 cs.LO cs.SE
CI/CD Configuration Practices in Open-Source Android Apps: An Empirical Study
本研究针对2557个采用4种主流CI/CD服务的开源Android应用开展实证分析,揭示其配置缺乏标准化、重构建轻测试部署等特征,明确维护规律与主题,提出需自动化和AI工具优化移动应用CI/CD流程。
2025-05-19 cs.SE
Improving Mobile User Interface Testing with Model Driven Monkey Search
University College Dublin(都柏林大学);National Institute of Informatics(信息学国立研究所)
该研究提出新型控制流结构,结合深度优先搜索改进Android自动化测试工具Monkey,提升测试效率与界面覆盖率,推动更高效的自动化测试技术发展。
2026-08-04 cs.SE
Automatically Securing Permission-Based Software by Reducing the Attack Surface: An Application to Android
一个常见的安全架构,称为基于权限的安全模型(例如在Android和黑莓中使用),会带来内在风险。例如,应用程序可以被授予比实际需要更多的权限,我们称之为“权限间隙”。恶意软件可以利用未使用的权限来实现其恶意目标,例如使用代码注入。在本文中,我们提出了一种方法来检测使用静态分析的权限差距。我们在Android环境中的原型实现表明,静态分析必须考虑大量的特定于平台的知识。在两个Android应用程序数据集上使用我们的工具,我们发现应用程序中有一个不可忽视的部分存在权限缺口,即没有使用它们声明的所有权限。
2013-03-20 cs.CR cs.SE
XamForumDB: a dataset for studying Q&A about cross-platform mobile applications development
Android和ISO是过去几年几乎所有智能手机中的两个移动平台。开发一个同时面向两个平台的应用程序是一个挑战。一种传统的方法是构建两个不同的应用程序,一个是Android的Java,另一个是iOS的Java-C。Xamarin是一个用于开发Android和iOS应用程序的框架,允许开发人员在应用程序的多个实现中共享大部分应用程序代码,每个实现都针对特定的平台。在本文中,我们介绍了XamForumDB,一个存储从Xamarin论坛中提取的讨论,问题和答案的数据库。我们设想研究界可以使用它来研究,例如,开发这种应用程序的问题。
2017-03-10 cs.SE
TraceRAG: A LLM-Based Framework for Explainable Android Malware Detection and Behavior Analysis
TraceRAG利用检索增强生成连接自然语言与Java代码,实现可解释的安卓恶意软件检测,达到96%检测准确率和83.81%行为识别准确率。
2025-09-10 cs.SE
Automated Test Transfer Across Android Apps Using Large Language Models
针对手动编写维护Android应用UI测试成本高、现有跨应用测试迁移方法难以适应现实变化的问题,提出基于LLMs的LLMigrate技术,实现97.5%迁移成功率、减少91.1%手动工作量,性能显著优于现有方法。
2025-04-20 cs.SE
Autonomous Large Language Model Agents Enabling Intent-Driven Mobile GUI Testing
KAIST(韩国科学技术院);Chalmers University of Technology(查尔姆斯理工大学)
提出基于大语言模型的Android自主GUI测试智能体DroidAgent,实现意图驱动测试,在Themis基准上达到61%活动覆盖率,优于现有技术,并能自主创建现实任务。
2023-11-15 cs.AI cs.SE
Danger is My Middle Name: Experimenting with SSL Vulnerabilities in Android Apps
本文介绍了一个流行的Android应用程序中的信息泄漏和SSL漏洞的测量研究。我们对100个应用程序执行静态和动态分析,这些应用程序下载了至少1000万次,要求完全网络访问。我们的实验表明,虽然之前的工作已经引起了很多关注SSL在移动平台上的实现,几个流行的应用程序(32/100)接受所有证书和所有主机名,和四个实际上传输敏感数据未加密。我们建立了一个模拟中间人攻击的实验测试平台,发现许多应用程序(当对手在受害者的设备上安装了证书时,高达91%)是脆弱的,允许攻击者访问敏感信息,包括凭据,文件,个人详细信息和信用卡号码。最后,我们为应用程序开发人员提供了一些建议,并强调了几个开放的研究问题。
2015-05-04 cs.CR cs.SE
Adroitness: An Android-based Middleware for Fast Development of High-performance Apps
随着智能手机变得越来越强大,新一代高度互动的以用户为中心的移动应用程序出现,使用户的生活更简单,更高效。移动电话应用程序必须在移动设备上维持有限的资源可用性,例如电池寿命、网络连接,同时还必须在应用程序内提供更好的响应性和轻量级交互。开发人员最终花费了大量的时间来处理移动生态系统提供的各种平台、工具和设备所施加的架构约束,从而使他们偏离了构建此类应用程序的主要目标。因此,我们提出了一个基于移动的中间件体系结构,简化了繁重的任务,处理低层次的架构决策和细粒度的实现细节。我们通过专注于关注点的分离并抽象出编排设备传感器和效应器、决策过程以及与远程服务的连接的复杂性来实现这样一个目标,同时为交互式高性能移动应用程序的更高级别功能特性的开发提供脚手架。我们通过比较不同的软件度量标准来展示我们的方法与Android传统框架的强大性
2019-06-05 cs.PF cs.SE
Developing IncidentUI -- A Ride Comfort and Disengagement Evaluation Application for Autonomous Vehicles
本报告详细介绍了IncidentUI的设计、开发和实施,IncidentUI是一款Android平板电脑应用程序,旨在测量用户体验的乘坐舒适度,并记录自动驾驶汽车(AV)在试驾过程中的脱离数据。我们项目的目标是开发一个Android应用程序,在外围平板电脑上运行,并与Drive Pegasus AGX(Nvidia AV Level 2 Autonomy Solution Architecture的AI计算平台)进行通信,以检测AV脱离并报告乘坐舒适度。我们为IncidentUI设计并开发了一个基于Android XML的直观用户界面。IncidentUI的开发需要通过在Java中重新开发系统通信协议并使用现有系统Protobuf定义在Java中实现协议缓冲区(Protobufs)来重新设计系统架构。IncidentUI的最终迭代在AV测试驱动器上进行测试时产生了所需的功能。在我们最后的IncidentUI演示中,我们还收到了来自Nvidia AV平台团队的积极反馈。
2023-03-16 cs.HC cs.SE
A Design and Development of Rubrics System for Android Applications
本研究针对学术材料数字化背景下的学生评价需求,设计实现了一款Android端学生评价系统移动应用,拓展评分量规的图形化分析功能,可提升评分效率与资源效能,支持提交与评价数据的便捷跟踪及统计分析。
2023-09-23 cs.CY cs.SE
Scene-Driven Exploration and GUI Modeling for Android Apps
本文提出 SceneDroid,通过智能探索、状态模糊测试和间接启动等技术动态提取 GUI 场景并构建 SceneTG,显著提升 Android 应用 GUI 建模的迁移覆盖率与场景提取能力。
2023-08-20 cs.CR cs.HC cs.SE