Page 153 - 《软件学报》2026年第6期
P. 153

2472                                                       软件学报  2026  年第  37  卷第  6  期


                  5   讨 论

                  5.1   局限性

                    除了实验结果中讨论的两个限制外, CReDroid           在有效复现所有崩溃报告时还面临以下               3  项技术局限, 这进一
                 步揭示了基于标题和堆栈跟踪进行崩溃复现所需要解决的技术挑战.
                    首先, CReDroid  难以复现依赖复杂用户操作的崩溃. 一方面, 某些崩溃需要特定的多步操作和动态数据状态,
                 这显著增加了测试复现的难度. 例如, 在卡片浏览器的多选模式下更改卡片类型时触发的崩溃, 由于涉及复杂的
                 GUI 控件交互且操作顺序稍有偏差便可能无法触发崩溃, 导致复现失败. 另一方面, CReDroid                        专注于应用内的
                 GUI 操作, 对于系统级操作支持不足. 例如, 下拉通知栏并点击系统级控件“删除浏览历史”的场景需要频繁切换应
                 用上下文   (从前台到后台再回到通知栏), 此类操作流程的复杂性超出了当前                     CReDroid  的覆盖范围, 难以实现自动
                 化测试.
                    其次, CReDroid  在需要有效输入内容才能触发的崩溃场景中难以完全自动化. 例如, 在登录场景中需要提供
                 正确的用户名和密码, 而这些输入内容通常涉及用户隐私, 未包含在堆栈跟踪或崩溃报告中, 因而必须依赖人工干
                 预. 然而, 通过预先请求用户输入相关信息, CReDroid          仍然能够实现对这些场景的自动化复现.
                    最后, CReDroid  的语义匹配方法在某些语境下的准确性仍有待提高, 这可能成为复现崩溃的障碍. 目前的语
                 义匹配方法在处理词义扩展和上下文关联时存在不足, 尤其在短文本或词义接近的场景下容易产生匹配偏差. 例如,
                 在被测应用    Shuttle Player 创建新播放列表时的崩溃复现中, 预训练         BERT  模型未能正确识别“play”和“playlist”之
                 间的语义关系, 导致关键操作未被正确匹配, 从而复现失败. 为了提高                   CReDroid  在复杂语境中的语义匹配能力, 未
                 来的工作将尝试引入       LLM  以增强其对上下文的理解和处理能力.
                  5.2   有效性威胁
                    ● 内部有效性威胁. 第     1 个内部有效性威胁来自        CReDroid 方法的实现. 为减少此类威胁, 我们在实现          CReDroid
                 时, 采用  Python  中现有成熟的第三方库以确保实现的可靠性. 在报告分析阶段, 选择了                   ChatGPT  大规模语言模型
                 从崩溃标题中提取关键操作信息. 由于            ChatGPT  具备强大的语言理解能力, 能够应对复杂的分析任务, 同时通过
                 构建数据集对其进行微调, 使得其能学习崩溃报告标题的多样化描述方式. 此外, 为确保                          CReDroid  能够准确定位
                 崩溃组件, 本文采用广泛使用的          ICCBot 工具构造被测应用的      CTG, 其正确性已在大量实验中得到验证. 第            2  个内
                 部有效性威胁涉及基准方法的执行. 我们从方法的作者提供的开源链接获取源代码, 并严格按照其指引步骤在我
                 们的数据集上进行实验. 对于         CReDroid  在选择  GUI 控件被设计为以一定的随机性选择一个非最优的控件, 我们
                 通过运行   3  次实验并记录平均值的方式, 减少随机性对结果的影响.
                    ● 外部有效性威胁. 外部有效性威胁主要来源于评估中所选用数据的代表性. 本文严格遵循崩溃复现相关研
                 究的程序, 选择了广泛使用的         ReCDroid、 AndroR2  和  CrashTranslator 数据集. 这些数据集中的崩溃报告均来自真
                 实的应用问题跟踪系统, 能够较好地反映实际崩溃场景, 从而减少数据选择带来的偏差. 另一个外部有效性威胁来
                 自  CReDroid  方法的通用性. 为提高    CReDroid  的通用性, CReDroid  使用  LLM  从崩溃报告中提取关键操作信息,
                 并通过微调使其能够适应不同描述方式的报告分析, 增强在实际应用中的适用性. 第                           3  个威胁涉及参与者的相应
                 偏差. 根据现有研究方法       [9,14] , 我们假设具有  Android  编程经验的学生能够代替测试人员. 参与者在实验中的成功
                 率和复现时间被视为具有代表性的结果, 尽可能减少参与者背景对实验结论的影响.
                  6   相关工作

                    当前已有广泛的研究聚焦于安卓应用崩溃复现, 旨在提升软件维护的效率. 用户通常通过文本描述、截图、
                 录制视频等形式的复现步骤、堆栈跟踪等信息来提交崩溃报告, 这些信息对开发者快速、准确地定位问题并加以
                 解决至关重要. 崩溃报告的质量对崩溃复现具有决定性影响. 由于实际提交的崩溃报告内容往往不完整, 从有限信
                 息中推断并自动复现崩溃是一个具有挑战性的研究问题.
   148   149   150   151   152   153   154   155   156   157   158