CAT: Change-focused Android GUI Testing
Android应用每隔几周就会更新一次,以跟上不断变化的用户、硬件和业务需求。通过广泛的测试检查应用程序更新的正确性。最近的研究提出了在Android应用中自动生成GUI事件的工具。然而,这些技术在检查应用程序更新时效率不高,因为生成的GUI事件不会优先考虑更新,而是探索其他应用程序行为。我们在本文中使用CAT(Change-focused Android GUI Testing)解决了这一需求。对于应用程序更新,CAT会在源代码或GUI级别执行变更影响分析,以识别受更新影响的GUI元素。CAT然后生成长度为3的GUI事件序列,以与这些GUI元素交互。我们使用21个公开的开源Android应用程序进行的实证评估表明,CAT能够自动识别受应用程序更新影响的GUI元素,生成并执行长度为3的GUI事件序列,重点关注受变化影响的GUI元素。与两个流行的GUI事件生成工具DroidBot和DroidMate的比较显示,CAT在与受更改影响的GUI元素交互方面更有效。最后,CAT能够在两个应用程序中检测到以前未知的与更改相关的错误。
2020-11-23 cs.SE
Grounded GUI Understanding for Vision-Based Spatial Intelligent Agent: Exemplified by Extended Reality Apps
The Chinese University of Hong Kong(香港中文大学);Harbin Institute of Technology(哈尔滨工业大学);Southern University of Science and Technology(南方科技大学);The Hong Kong University of Science and Technology(香港科学大学)
针对XR应用可交互GUI元素检测的现有方法适配难题,提出零样本上下文相关检测框架Orienter,经语义理解、候选检测、可交互性分类及反馈循环实现检测,效果优于现有方法。
2025-10-01 cs.AI cs.CV cs.HC
Do we agree on user interface aesthetics of Android apps?
内容:视觉美学越来越多地被视为感知可用性、交互和用户界面的整体评估的重要因素,特别是在移动应用程序方面。然而,仍然存在的问题是如何评估以及用户对视觉美学的认同程度。目的:本文分析了评价者对Android应用程序用户界面视觉美学的一致性,作为指导方针和评估模型的基础。方法:我们系统地收集了10位参与者对100个Android应用程序用户界面的视觉美学评分,并分析了频率分布,可靠性和影响设计方面。结果:一般来说,Android应用程序的用户界面被认为比美丽更丑。然而,评分员只是适度同意的视觉美学。分歧似乎与布局、形状、颜色、排版和背景图像的细微差异有关。结论:视觉美学是应用程序成功的关键因素。然而,评分员对视觉美感的看法存在相当大的分歧,这表明需要更好地了解移动应用程序的软件质量。
2018-12-21 cs.HC cs.SE
Style-Guided Web Application Exploration
针对现代Web应用程序的各种分析和测试技术都依赖于通过触发模拟用户交互的事件来自动探索其状态空间。然而,找出哪些元素在Web应用程序中是可操作的并不是一项简单的任务。为了提高探索Web应用程序的事件空间的效率,我们提出了一个独立于浏览器的,无工具的方法,基于结构和视觉风格的线索。我们的方法在一个名为StyleX的工具中实现,采用机器学习模型,在来自1,000个真实网站的70万个网络元素上进行训练,以先验地预测网页上的可操作元素。此外,我们的方法在探索应用时使用风格线索对这些可操作元素进行排序,当考虑点击事件监听器时,我们的可操作预测模型达到了90.14%的准确率和87.76%的召回率,当考虑五种最常见的事件类型时,平均达到了75.42%的准确率和77.76%的召回率。我们的评估表明,StyleX可以提高JavaScript代码覆盖率达到了23%的通用爬虫。
2021-11-23 cs.HC 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
Testing Criteria for Mobile Apps Based on Callback Sequences
应用程序质量已被证明是应用程序采用的最重要指标。为了保证质量,开发人员主要使用测试来发现应用程序中的错误,并应用结构和GUI测试覆盖标准。然而,移动应用程序的行为比GUI操作更多,例如,应用程序还处理来自传感器的事件,并通过Android API调用服务和AsyncTasks执行长时间运行的后台任务。我们的研究发现,通过回调交互的重要应用行为应该在测试中涵盖,因为回调之间的数据共享很常见,并且是许多现有错误的原因。我们设计了一系列基于回调序列的测试准则,并使用回调控制流自动机(CCFA)来测量测试的覆盖率。我们的实验表明,在我们的标准的指导下,测试可以发现更多的错误和触发错误比最先进的工具更快。
2019-11-20 cs.SE
Unblind Your Apps: Predicting Natural-Language Labels for Mobile GUI Components by Deep Learning
Australian National University(澳大利亚国立大学);Monash University(莫纳什大学);Data61, CSIRO(澳大利亚联邦科学与工业研究组织数据61部);University of New South Wales(新南威尔士大学);Shanghai Jiao Tong University(上海交通大学);Fujian University of Technology(福建理工大学)
据世界卫生组织(WHO)估计,全球约有13亿人患有某种形式的视力障碍,其中3600万人失明。由于他们的残疾,使这些少数群体融入社会是一个具有挑战性的问题。近年来智能手机的兴起为盲人用户提供了一种新的解决方案,使他们能够方便地获得了解世界的信息和服务。视障人士可透过手机操作系统内的屏幕阅读器,阅读应用程式内每个屏幕的内容,并使用手势与手机互动。然而,使用屏幕阅读器的前提是开发者在开发应用时必须为基于图像的组件添加自然语言标签。不幸的是,根据我们对10,408个Android应用的分析,超过77%的应用存在标签缺失的问题。这些问题大多是由于开发人员缺乏考虑少数人的意识和知识造成的。即使开发人员想将标签添加到UI组件中,他们也可能无法提供简洁清晰的描述,因为大多数标签都没有视觉问题。为了克服这些挑战,我们开发了一个基于深度学习的模型,称为LabelDroid,通过从Google Play中的大型商业应用中学习,自动预测基于图像的按钮的标签。实验结果表明,我们的模型可以做出准确的预测,生成的标签是更高的质量比真正的Android开发人员。
2020-07-02 cs.CV cs.HC cs.SE
GAPS: Targeted Execution of Android Apps via Static Path Reconstruction
University of Padua(帕多瓦大学);University of Luxembourg(卢森堡大学)
研究安卓应用定向执行难题,提出GAPS方法,结合静态程序分析与动态GUI探索,通过反向遍历调用图和数据流推理识别路径并转化为策略,在基准测试和热门应用评估中表现出色,有效且可扩展地解决了定向方法执行问题。
2026-07-20 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
Generating Predicate Callback Summaries for the Android Framework
分析、测试和调试Android应用程序的挑战之一是应用程序的源代码中缺少回调的潜在执行顺序。然而,已经发现错误、漏洞和重构转换与回调序列有关。Android应用程序控制流分析的现有工作主要集中在分析GUI事件。GUI事件虽然是确定Android应用程序控制流的关键部分,但并不能提供完整的画面。我们的观察是,与GUI事件正交,Android API调用在确定回调顺序方面也起着重要作用。在过去,这种控制流信息是手动建模的。本文提出了一种为Android应用构建程序路径的补充解决方案。我们提出了一种称为Predicate Callback Summary(PCS)的规范技术,用于表示Android API方法中的回调控制流信息(包括回调序列以及调用回调的条件),并开发了静态分析技术来自动计算和应用此类摘要以构建应用程序的回调序列。我们的实验表明,通过应用PCS,我们能够构建Android应用程序的控制流图,包括回调之间的关系,并检测涉及多个回调的不可行路径。这样的控制流信息可以帮助程序分析和测试工具报告更精确的结果。我们的详细实验数据可在以下网址获得:http://goo.gl/NBPrKs
2017-03-29 cs.SE
Are your apps accessible? A GCN-based accessibility checker for low vision users
本文提出 ALVIN,将 GUI 建模为图并利用 GCN 识别低视力用户面临的不可访问组件;实验表明其精确率、召回率和 F1 均优于基线。
2025-02-20 cs.SE
Automated Mapping of Adaptive App GUIs from Phones to TVs
针对手机应用 GUI 难以适配电视的问题,提出基于实证规则的半自动映射方法,生成自适应电视布局与代码,评估和用户研究验证了其准确性与实用性。
2023-11-05 cs.HC 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
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
ReuseDroid: A VLM-empowered Android UI Test Migrator Boosted by Active Feedback
针对移动应用GUI测试迁移中操作逻辑差异导致效果不佳的问题,提出基于大型视觉语言模型的多智能体框架REUSEDROID,利用GUI页面的视觉与文本信息并基于核心共享逻辑进行迁移,在数据集LinPro上成功迁移90.3%的任务,显著超越现有基线。
2025-04-03 cs.SE
Don't Confuse! Redrawing GUI Navigation Flow in Mobile Apps for Visually Impaired Users
针对视障用户使用屏幕阅读器访问移动应用GUI时导航顺序不合理的问题,本研究提出基于格式塔原则的RGNF方法重绘导航流,有效提升了序列相似度与组件可达性,改善了视障用户体验。
2025-02-21 cs.SE
Fully Automated Functional Fuzzing of Android Apps for Detecting Non-crashing Logic Bugs
Android应用程序是基于GUI的事件驱动软件,近年来变得无处不在。显然,功能正确性对于应用程序的成功至关重要。然而,除了崩溃错误之外,非崩溃功能错误(在本工作中简称为“非崩溃错误”),如无意的功能故障,无声的用户数据丢失和不正确的显示信息也很普遍,即使在流行的,经过良好测试的应用程序中也是如此。这些非崩溃功能错误通常由程序逻辑错误引起,并在图形用户界面(GUI)上表现出来。在实践中,这些错误在有效检测它们方面构成了重大挑战,因为(1)当前的实践严重依赖于昂贵的小规模手动验证(缺乏自动化);(2)现代全自动测试仅限于崩溃错误(缺乏测试预言机)。本文通过引入独立视图模糊来填补这一空白,这是一种用于检测Android应用程序中非崩溃功能错误的新颖的全自动方法。受变形测试的启发,我们的主要见解是利用Android应用程序的普遍独立视图属性,从一组验证某些应用程序属性的种子测试中制造属性保留突变测试。变异的测试有助于在额外的不利条件下测试测试应用程序。任何属性冲突都表明可能存在功能错误,需要进一步手动确认。我们已经实现了我们的方法作为一个自动化的,端到端的功能模糊工具,精灵。给定一个应用程序,(1)Genie自动检测非崩溃错误,而不需要人类提供的测试和预言(因此完全自动化);(2)检测到的非崩溃错误是多种多样的(因此是通用的,不限于特定的功能属性),这使Genie与以前的工作不同。
2021-10-05 cs.SE
A Study of Using Multimodal LLMs for Non-Crash Functional Bug Detection in Android Apps
针对传统GUI测试难以检测非崩溃功能性(NCF)Bug的问题,本研究实证探索了利用多模态LLM作为测试预言机检测Android应用NCF Bug的有效性,发现其检测率达49%并新发现24个未知Bug,揭示了该方法的潜力与局限。
2024-07-26 cs.SE
Efficiently Manifesting Asynchronous Programming Errors in Android Apps
Android是排名第一的移动应用程序框架,它强制执行单GUI线程模型,其中单个UI线程管理GUI渲染和事件调度。由于这种模型,避免阻塞UI线程以获得响应是至关重要的。一种常见的做法是将长时间运行的任务卸载到Java线程中。为了实现这一点,Android提供了各种Android编程结构,并让开发人员自己遵守模型隐含的规则。然而,正如我们的研究所揭示的那样,超过25%的应用程序违反了这些规则,并引入了难以检测的故障停止错误,我们称之为aysnc编程错误(APE)。为此,本文介绍了APESTABILITY,一种自动和有效地表现APE的技术。其核心思想是将APE表征为特定的故障模式,并协同结合静态分析和动态UI探索来检测和验证此类错误。在40个真实世界的Android应用程序中,APEEE揭示并处理了61个APE,其中51个已确认(命中率为83.6%)。具体来说,APESTIM检测到的APE比最先进的测试工具(Monkey,Sapienz和Stoat)多3倍,并将测试时间从半小时缩短到几分钟。在一种特定类型的APE上,APEtron确认的错误是数据竞争检测工具EventRacer的5倍,并且几乎没有错误警报。
2018-08-09 cs.SE
AUITestAgent: Automatic Requirements Oriented GUI Function Testing
针对移动应用GUI测试人力成本高的问题,提出首款自然语言驱动的自动化测试工具AUITestAgent,通过动态智能体提取交互、多维策略验证,在基准测试中表现优于现有工具,且在企业实际部署中有效检出功能缺陷。
2024-07-12 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
Machine Learning-Based Prototyping of Graphical User Interfaces for Mobile Apps
College of William & Mary(威廉与玛丽学院)
对于面向用户的软件的开发人员来说,将图形用户界面(GUI)的模型转换为代码是常见的做法。这个过程发生在应用程序的初始阶段,也发生在演化的上下文中,因为GUI的变化与演化的特性保持同步。不幸的是,这种做法既具有挑战性又耗时。在本文中,我们提出了一种方法,通过三个任务:检测,分类和组装,使准确的原型GUI自动化这一过程。首先,使用计算机视觉技术或实体模型元数据从实体模型工件检测GUI的逻辑组件。然后,利用软件储存库挖掘、自动化动态分析和深度卷积神经网络来将GUI组件准确地分类为域特定类型(例如,切换按钮)。最后,一个数据驱动的,K-近邻算法生成一个合适的层次化的GUI结构,原型应用程序可以自动组装。我们在一个名为ReDraw的系统中为Android实现了这种方法。我们的评估表明,ReDraw实现了91%的平均GUI组件分类准确率和组装原型应用程序,密切反映目标模型在视觉亲和力方面,同时表现出合理的代码结构。对行业从业者的采访说明了ReDraw改进实际开发工作流程的潜力。
2018-06-05 cs.CV cs.LG cs.SE
Medical device regulation efforts for mHealth apps -- An experience report of Corona Check and Corona Health
在医疗保健环境中,移动健康(mHealth)应用程序(app)越来越重要。新的mHealth应用程序的数量在过去几年中稳步上升。特别是新冠肺炎疫情导致大量应用程序发布。值得注意的是,在大多数国家,移动医疗应用程序必须已经符合几个监管方面,才能被宣布为“医疗应用程序”。然而,最新适用的医疗器械法规(MDR)并未对移动医疗应用程序的要求主题进行更详细的评论。在开发医疗应用程序时,跨学科团队中的所有贡献者(尤其是软件工程师)都必须事先了解特定的法规要求。然而,由于MDR的集成,开发过程不应停滞太久。因此,需要一个包括这些方面的开发框架,以使开发过程顺利进行。本文介绍了在Corona Health和Corona Check应用程序的基础上创建这样一个框架。列出了相关的监管指南,并总结为医疗应用程序开发指南。特别强调了整个发展过程中出现的重要阶段和面临的挑战。
2021-04-28 cs.CY cs.SE
The Metamorphosis: Automatic Detection of Scaling Issues for Mobile Apps
图形用户界面(GUI)作为用户与软件之间的桥梁,对应用程序的可访问性至关重要。放大GUI的字体或显示大小有助于提高应用程序的视觉效果,可读性和可用性,老年人和视力障碍者经常使用。然而,这很容易导致缩放问题,如文本截断,组件重叠,这对正确信息的获取和应用程序的流畅使用产生负面影响。用于UI显示问题检测和跨平台不一致检测的先前技术不能很好地解决这些缩放问题。在本文中,我们提出了一个自动化的方法,dVermin,缩放问题检测,通过检测的不一致性的视图下的默认和较大的显示比例。测试结果表明,dVermin在问题页面检测中达到了97%的准确率和97%的召回率,在问题视图检测中达到了84%的准确率和91%的召回率,大大优于两个最先进的基线。我们还使用F-droid上流行的Android应用程序评估了dVermin,并成功发现了21个以前未检测到的缩放问题,其中20个已得到确认/修复。
2022-12-08 cs.SE
Improving Random Testing via LLM-powered UI Tarpit Escaping for Mobile Apps
East China Normal University(华东师范大学);Shanghai Innovation Institute(上海创新 institute)
本文提出基于LLM的随机GUI测试方法,通过监控UI相似性识别陷阱并建议事件逃离,提升移动应用测试覆盖率和bug发现率,实验显示HybridMonkey和HybridDroidbot在12个应用上平均覆盖率提升54.8%和44.8%。
2026-04-13 cs.SE
AUTOVR: Automated UI Exploration for Detecting Sensitive Data Flow Exposures in Virtual Reality Apps
本文提出 AUTOVR 自动化框架,通过分析 Unity VR 应用内部二进制、解析隐藏事件及依赖关系实现全面 UI 探索,实验表明其敏感数据暴露触发量比 Android Monkey 高一个数量级,显著提升 VR 应用隐私性。
2025-08-17 cs.CR cs.SE
Chatting with GPT-3 for Zero-Shot Human-Like Mobile Automated GUI Testing
提出GPTDroid,利用大语言模型将移动GUI测试转化为问答任务,通过迭代对话生成类人测试脚本,在86个应用上覆盖率提升32%,缺陷检测增加36%。
2023-05-16 cs.SE
Proto: A Guided Journey through Modern OS Construction
Proto通过以应用需求驱动的增量式自包含原型,引导学习者在商用便携硬件上构建具备现代特性和丰富媒体应用的教学操作系统。
2025-10-20 cs.OS cs.SE
Deep Reinforcement Learning for Black-Box Testing of Android Apps
Android应用程序的状态空间是巨大的,在测试期间对其进行彻底的探索仍然是一个重大挑战。事实上,最佳的探索策略高度依赖于被测应用程序的功能。强化学习(RL)是一种机器学习技术,它通过尝试和错误来学习解决任务的最佳策略,由积极或消极的奖励引导,而不是由明确的监督。深度RL是RL的最新扩展,它利用了神经网络的学习能力。这些功能使Deep RL适合复杂的探索空间,例如Android应用程序。然而,最先进的公开可用工具仅支持基本的表格式RL。我们已经开发了ARES,这是一种用于Android应用程序黑盒测试的深度RL方法。实验结果表明,它实现了更高的覆盖率和故障揭示比基线,其中包括最先进的基于RL的工具,如TimeMachine和Q-Testing。我们还定性地研究了这种性能背后的原因,并确定了Android应用程序的关键功能,这些功能使Deep RL对它们特别有效,即存在链式和阻塞活动。
2021-01-15 cs.SE
Large-Scale Analysis of Framework-Specific Exceptions in Android Apps
移动应用程序已经变得无处不在。对于应用程序开发人员来说,确保应用程序的正确性和可靠性是一个关键的优先事项。然而,许多应用程序仍然遭受偶尔或频繁的崩溃,削弱了它们的竞争优势。对真实世界应用崩溃的特征进行大规模深入分析可以提供有用的见解来指导开发人员,或帮助改进测试和分析工具。然而,这样的研究并不存在-本文填补了这一空白。经过四个月的努力,我们从2,486个开源Android应用程序中收集了16,245个独特的异常跟踪,并观察到特定于框架的异常占这些崩溃的大多数。然后,我们广泛地调查了8,243个特定于框架的异常(花费了六个人月的时间):(1)识别它们的特征(例如,表现形式位置、常见故障类别),(2)通过最先进的缺陷检测技术评估它们的表现形式,以及(3)检查它们的修复。除了这些发现提供的见解外,这些发现还激励并促进了对移动应用程序的后续研究,例如错误检测,故障定位和补丁生成。此外,为了证明我们的研究结果的实用性,我们优化了Stoat,一个动态测试工具,并实现了Experiment,一个异常本地化工具,用于Android应用程序。Stoat能够快速发现Gmail和Google+中三个以前未知的、已确认/已修复的崩溃; Experiment能够精确定位真实应用程序中已识别异常的根本原因。我们的大量数据集是公开的,与社区分享并使社区受益。
2018-03-10 cs.SE
Pairwise GUI Dataset Construction Between Android Phones and Tablets
Monash University(莫纳什大学)
针对手机与平板间无成对GUI数据集、制约深度学习用于自动化GUI开发的问题,本文提出首个安卓跨端成对GUI数据集Papt及配套采集方法,并通过实验分析了相关技术挑战。
2023-11-05 cs.AI cs.HC cs.SE
GUI Test Migration via Abstraction and Concretization
Key Lab of HCST (PKU), MOE(HCST关键实验室(PKU),教育部);SCS\ University Beijing China(SCS大学北京中国);Singapore Management University(新加坡管理学院);Shanghai Jiao Tong University(上海交通大学);National University of Singapore(新加坡国立大学)
本文提出抽象-具体化迁移范式及 MACdroid 方法,通过从源测试用例提取通用测试逻辑并指导 LLM 生成目标应用 GUI 测试用例,在两个数据集上分别将目标功能测试成功率提升至 64% 和 75%,显著优于基线方法。
2025-07-17 cs.CL cs.SE
Enabling Mutation Testing for Android Apps
变异测试已被广泛用于评估测试套件的故障检测有效性,以及指导测试用例生成或优先级排序。经验研究表明,虽然突变体通常代表真实故障,但突变测试的有效应用需要为程序设计语言设计的“传统”运算符用特定于应用领域和/或技术的运算符来扩充。本文提出了MDroid+,一个有效的Android应用程序的突变测试框架。首先,我们通过手动分析来自不同来源的2,023个软件工件(例如,错误报告、提交)。然后,我们确定了一组38个变异算子,并实现了一个基础设施,用其中的35个算子在Android应用程序中自动播种变异。的分类和建议的运营商进行了评估方面的死产/平凡的突变体产生和他们的能力,代表真正的故障在Android应用程序中,相比其他众所周知的突变工具。
2017-08-01 cs.SE
ProgramDistill: From Interactive Web Apps to Verifiable Reference-Guided SWE Tasks
KAIST(韩国科学技术院);Microsoft Research Montréal(微软蒙特利尔研究院);Microsoft AI(微软人工智能)
ProgramDistill通过交互式参考应用生成可验证的软件工程任务,构建了包含4,063个任务的基准,评估编码智能体,发现GPT-6 Astra和Claude Opus 5在完整重建中成功率分别为49.2%和28.8%,并随恢复深度增加而下降。
2026-09-17 cs.AI cs.SE
LDMDroid: Leveraging LLMs for Detecting Data Manipulation Errors in Android Apps
Xiamen University(厦门大学)
本文提出利用LLM开发LDMDroid框架,通过状态感知过程生成UI事件序列以提高数据操纵功能触发成功率,并利用视觉特征识别数据状态变化,有效检测数据操纵错误。
2026-05-09 cs.SE
What do all these Buttons do? Statically Mining Android User Interfaces at Scale
我们介绍了FRONTMATTER:一个高精度、大规模地自动挖掘Android应用程序的用户界面模型和行为的工具。给定一个应用,FRONTMATTER静态提取所有声明的屏幕、用户界面元素、它们的文本和图形特征,以及通过与它们交互而调用的Android API。FRONTMATTER在数万个真实世界的应用程序上执行,为全面挖掘移动用户界面打开了大门,大规模启动了实证研究,解决了诸如“有多少旅行应用程序需要注册?“、“哪些应用程序不遵循辅助功能指南?“,“用户界面是否与描述相符?”,还有更多。FRONTMATTER和挖掘的数据集在开源许可证下可用。
2021-05-07 cs.SE
OpenMobile-2: Building Versatile Mobile Agents with Scalable Environments and App-Native Tools
Nanjing University(南京大学);Xi’an Jiaotong University(西安交通大学);National University of Singapore(新加坡国立大学);SenseTime(商汤科技);East China Normal University(华东师范大学);The University of Hong Kong(香港大学)
本研究推出具备开放训练资源的OpenMobile-2移动智能体,构建含110+应用的MobileGym++环境,整理大规模训练数据,实现混合GUI与应用原生工具使用,在多基准上表现优异且真实设备迁移性能显著提升。
2026-10-14 cs.CL cs.CV cs.SE
Vision-Based Mobile App GUI Testing: A Survey
本文综述271篇移动应用GUI测试论文,重点分析92篇基于视觉的研究,总结其相较传统方案的优势、挑战及未来方向。
2025-10-20 cs.SE
On the Violation of Honesty in Mobile Apps: Automated Detection and Categories
人类价值观,如正直、隐私、好奇心、安全和诚实,是人们认为生活中重要的指导原则。这些人类价值可能被移动软件应用程序(app)侵犯,这种人类价值侵犯的负面影响可以在社会中以各种方式看到。在这项工作中,我们专注于诚实的人类价值。我们提出了一个模型,以支持从最终用户的角度来看,从应用程序评论的诚实的价值违反自动识别。除了自动检测应用程序的诚实违规行为外,我们还旨在更好地了解用户在其应用程序评论中表达的不同类别的诚实违规行为。我们对诚实违规数据集的手动分析结果显示,诚实违规行为可以分为十类:不公平的取消和退款政策;虚假广告;欺骗性订阅;作弊系统;不准确的信息;不公平的费用;没有服务;删除评论;冒充;和欺诈性外观的应用程序。基于这些结果,我们主张有意识地努力开发更诚实的软件产品,包括移动应用程序,并将诚实作为软件开发实践中的一个关键价值。此外,我们还讨论了应用程序分发平台作为支持人类价值观的道德体系的执行者的作用,并强调了软件工程(SE)研究中人类价值观的一些建议的后续步骤。
2022-03-14 cs.SE
An Empirical Evaluation of GDPR Compliance Violations in Android mHealth Apps
《通用数据保护条例》(GDPR)旨在提供更好的隐私保护。如果应用程序控制用户的个人数据,则需要符合GDPR。然而,GDPR列出了一般规则,而不是关于如何开发满足要求的应用程序的确切分步指南。因此,现有应用程序中可能存在违反GDPR合规的情况,这将对应用程序用户构成严重的隐私威胁。在本文中,我们以移动健康应用程序(mHealth应用程序)为窥视孔,检查Android应用程序中GDPR合规性的现状。我们首先提出了一个名为\mytool的自动化系统,通过识别应用程序隐私政策中声明的数据实践和应用程序代码中的数据相关行为,弥合GDPR的一般规则和应用程序实现之间的语义差距。然后,基于\mytool,检测了隐私策略不完整、数据汇集不一致、数据传输不安全等三类GDPR合规违规行为。我们对796个移动健康应用程序进行了实证评估。结果显示,有189家(23.7%)没有提供完整的隐私政策。此外,59个应用程序通过不同的措施收集敏感数据,但其中46个(77.9%)包含至少一种不一致的收集行为。更糟糕的是,在59个应用程序中,只有8个应用程序试图确保收集数据的传输安全性。但是,它们都包含至少一个加密或SSL误用。我们的工作暴露了严重的隐私问题,以提高应用用户和开发人员的隐私保护意识。
2020-08-14 cs.CR cs.SE
Runtime Permission Issues in Android Apps: Taxonomy, Practices, and Ways Forward
Android引入了新的权限模型,允许应用在运行时请求权限,而不是在6.0(Marshmallow,API级别23)之后的安装时请求权限。虽然这种运行时权限模型为用户提供了更大的灵活性来控制应用对敏感数据和系统功能的访问,但它也给应用开发带来了新的挑战。首先,由于用户可以在使用应用程序时随时授予或撤销权限,因此开发人员需要确保应用程序在调用任何受权限保护的API之前正确检查并请求所需的权限。其次,Android的权限机制不断发展,并由设备制造商定制。开发人员需要在不同的Android版本和设备型号上全面测试他们的应用程序,以确保在所有情况下都能正确请求权限。不幸的是,这些要求对开发人员来说往往是不切实际的。在实践中,许多Android应用程序都会遇到各种运行时权限问题(ARP问题)。虽然现有的研究已经探讨了ARP问题,但对这些问题的理解仍然是初步的。为了更好地描述ARP问题,我们使用135个讨论ARP问题的Stack Overflow帖子和GitHub上流行的开源Android项目中存档的199个真实ARP问题进行了实证研究。通过分析数据,我们观察到了Android应用中常见的11种ARP问题。此外,我们对从业人员进行了实地调查和深入访谈,以获得行业实践的见解,并了解从业人员对有助于解决ARP问题的工具的需求。我们希望我们的研究结果可以阐明未来的研究,并为从业者提供有用的指导。
2021-06-24 cs.SE
Automated Code Fix Suggestions for Accessibility Issues in Mobile Apps
Apple(苹果公司)
针对移动应用无障碍问题缺少代码级修复指导的痛点,本文提出多智能体 LLM 工具 FixAlly,可定位问题并生成源代码修改建议,实验显示合理建议率达77%,开发者接受意愿为69.4%。
2024-08-07 cs.AI cs.HC cs.SE
GIFdroid: Automated Replay of Visual Bug Reports for Android Apps
错误报告对于软件维护至关重要,它允许用户通知开发人员在使用软件时遇到的问题。然而,对于非技术用户来说,很难写清楚关于bug发生的描述。因此,越来越多的用户开始记录报告错误的屏幕,因为它很容易创建,并包含触发错误的详细过程。但是,由于记录中的长度和不清楚的操作,开发人员重现错误仍然是繁琐和耗时的。为了克服这些问题,我们提出了GIFdroid,一个轻量级的方法来自动重放的执行跟踪从视觉错误报告。GIFdroid采用图像处理技术从记录中提取关键帧,将其映射到GUI Transitions Graph中的状态,并生成这些状态的执行轨迹以触发bug。我们的自动化实验和用户研究证明了它的准确性,效率和实用性的方法。
2022-04-19 cs.SE
PriviSense: A Frida-Based Framework for Multi-Sensor Spoofing on Android
Johns Hopkins University(约翰斯·霍普金斯大学);University of Notre Dame(圣母大学);Northeastern University(东北大学)
PriviSense是一种基于Frida的Android多传感器欺骗框架,用于在rooted设备上实现传感器和系统信号的实时欺骗,以支持可重复的环境敏感应用测试和隐私分析。
2026-01-29 cs.CR cs.HC cs.SE
Effective, Platform-Independent GUI Testing via Image Embedding and Reinforcement Learning
针对移动与 Web GUI 自动化测试依赖平台、覆盖率不足等问题,提出 PIRLTest,融合图像嵌入与强化学习,实现跨平台状态表示和好奇心驱动探索。
2024-06-12 cs.SE
Fill in the Blank: Context-aware Automated Text Input Generation for Mobile GUI Testing
自动化GUI测试被广泛用于帮助确保移动应用程序的质量。然而,许多GUI需要适当的文本输入才能进入下一页,这仍然是测试覆盖率的一个突出障碍。考虑到有效输入的多样性和语义要求(例如,航班起飞、电影名称),但是使文本输入生成自动化具有挑战性。受预先训练好的大语言模型(LLM)在文本生成方面取得显著进展的启发,提出了一种基于LLM的QTypist方法,用于根据GUI上下文智能地生成语义输入文本。为了提高LLM在移动测试场景中的性能,我们开发了一种基于数据库的数据构建和调优方法,该方法自动提取模型调优的提示和答案。我们对来自Google Play的106个应用程序进行了QTypist评估,结果显示QTypist的通过率为87%,比最佳基线高出93%。我们还将QTypist与自动化GUI测试工具集成,与原始工具相比,它可以覆盖42%的应用程序活动,52%的页面,并随后帮助揭示122%的错误。
2022-12-09 cs.SE
Fixing Bug Reporting for Mobile and GUI-Based Applications
智能手机和平板电脑已经成为现代计算领域的支柱。可以想象,在不久的将来,这样的设备可能会取代笔记本电脑和台式机,成为许多用户执行典型的计算机辅助任务的主要手段。反过来,这意味着移动应用程序将继续变得更加复杂,并成为全球数百万开发人员的主要关注点。为了正确创建和维护这些应用程序,开发人员需要支持,特别是在及时确认和解决错误报告方面。不幸的是,当前的问题跟踪系统通常仅实现粗粒度自然语言描述的收集,并且缺乏便于报告者在其报告中包括重要信息的特征。这说明了当前移动和基于GUI的应用程序的错误报告系统中存在的词汇信息差距。本文概述了有前途的初步工作,以解决这个问题,并提出了一个全面的研究计划,旨在实现新的错误报告机制,并检查它们可能对相关的软件维护任务的影响。
2018-01-18 cs.SE
Seeing is Believing: Vision-driven Non-crash Functional Bug Detection for Mobile Apps
本文提出视觉驱动的多智能体协作 GUI 测试方法 Trident,利用 MLLM 理解页面转换与视觉线索,自动检测移动应用非崩溃功能缺陷,并在 590 个缺陷上显著优于 12 个基线。
2024-12-04 cs.SE
A Survey on the Techniques and Tools for Automated Requirements Elicitation and Analysis of Mobile Apps
本文通过系统映射73篇论文,综述移动应用自动化需求获取与分析的技术与工具,发现半自动技术、开源非自研工具及需求分析、挖掘、分类任务占主导。
2025-09-01 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
PropGen: Automated Property Generation for Property-Based Testing of Mobile Apps
Singapore Management University(新加坡管理大学);East China Normal University(华东师范大学)
本文提出PropGen,通过功能引导探索收集行为证据,生成并优化属性,发现25个未被现有方法发现的功能性bug。
2026-10-09 cs.SE
AppIntent: Intuitive Automation Specification Framework for Mobile AppTesting
移动应用程序的激增和移动应用程序发布时间的缩短要求更快、更有效地测试移动应用程序及其GUI和功能。尽管如此,仍然有各种各样的开源工具和框架被开发来为测试移动应用程序提供自动化测试基础设施。这些自动化工具中的每一个都支持不同的脚本语言来自动化应用程序测试。这些框架从根本上缺乏直接捕获用户意图的能力,这些用户意图有效地测试移动应用及其跨应用功能和性能,而不必担心与每个工具相关联的低级脚本语言。因此,为了解决这一限制,我们提出了一种基于意图的高级自动化规约语言和API,其可以有效地解决以下方面:(i)使用直观自动化规约语言捕获要被捕获为高级意图的测试自动化步骤,以及(ii)提供框架支持以有效地捕获用户行为模式,从而有效地测试应用。我们开发的AppIntent是一个基于高级自动化规约语言的框架,它使用高级和直观的语言直接捕获多个应用程序中和跨多个应用程序的测试自动化意图,而无需担心如何实际开发自动化脚本。
2018-10-12 cs.PL cs.SE
From Exploration to Revelation: Detecting Dark Patterns in Mobile Apps
Jiangxi Normal University(江西师范大学)
本文提出AppRay系统,结合任务导向探索与自动化检测,提升移动应用暗模式检测的效率与覆盖范围,实验结果表明其在精度和召回率上显著优于现有方法。
2026-04-08 cs.AI cs.HC cs.SE
Model-Enhanced LLM-Driven VUI Testing of VPA Apps
Nanjing University(南京大学);University of Queensland(昆士兰大学);Institute of Information Engineering, Chinese Academy of Sciences(中国科学院信息工程研究所)
本文提出Elevate框架,利用大语言模型增强基于模型的VUI测试,通过从VPA应用输出中提取状态并生成上下文相关输入来逐步构建行为模型,在4,000个Alexa技能上相比Vitas实现了15%的状态空间覆盖率提升。
2024-07-03 cs.AI cs.SE