GUITaboo Probe决策质量与运行开销审查

先回答研究问题

  1. 150条里真正有价值的有多少? 至少6条有较强证据支持填补了该Run此前未尝试的独立功能入口:ActivityDiary Jev Statistics、StartLux Manage activities与Settings;Wikipedia Jev Places、StartLux Settings与Donate。这是已保存历史边界下的收益下界,真实有价值总数仍未知。另外Omni两组Enable checklist、StartLux Merge/快捷方式、Jev备份等具有明确局部功能价值,但不足以排除更早等价历史,没有硬凑进6条。
  2. 明显重复多少? 决策前有可核实等价尝试的60条;其余84条UNKNOWN。另Omni StartLux step825在决策时不能确认为重复,但等待期间807已经归档,故执行时重复增加为61条、UNKNOWN变为83。这里按“此前尝试同一功能模板”判断,未要求每次业务最终完成;目标图缺失的历史明确保留该限制。它们不是已人工确认的训练标签。
  3. 重复主要来自哪里? 在60条可确认重复中,31条的已核实等价历史没有进入当前合法历史池,8条在池内却没有进入Top3,7条属于匿名图标缺少历史菜单效果。其余9条为wire足以提示等价但Pair语义可疑、3条为低置信等价结果未否决的探索聚合、2条仍无法区分Pair与上下文问题。详见逐条来源分解。这些是主要证据所在环节,不等于证明每条只有一个根因。
  4. StartLux、Jev各自最明显的弱点? 本次StartLux的Wikipedia目录跳转和Scarlet标签筛选有内容/数据差异被当成独立功能的可疑判断,也出现低置信SAME没有阻止PROMOTE。Jev在ActivityDiary反复导航到已访问功能、Scarlet反复打开文本块菜单时,主要先看到历史作用域及效果Evidence问题。两组走过不同页面和题目,不是同题准确率比较,不能据此得出模型能力排名。 条件分别统计
  5. 哪些最支持GUITaboo动机? activitydiary JEV step475 Statistics与wikipedia JEV step1020 Places最清晰:同一ModelAction已经执行过其他入口、Native选择快照显示该组已饱和,Probe仍选到尚未执行的Statistics/Places,并真实进入相应页面。Donate、设置也是同类正面证据。它证明本次填补遗漏,不能证明Pure今后永远不会选到。

以上计数分母为150个已确认Probe(StartLux64/Jev86,10个模型Run)。全部决策wire与链路已还原;但GUI/全功能历史并非全量保留,因此不输出伪装完整准确率的分类百分比。UNKNOWN既可能有价值,也可能重复。

最有力的六条收益证据

App / Probe 第几分钟 / 执行step 模型实际比较的已执行操作 实际打开功能 A2 / A10 / B首次方法
activitydiary JEV step475 Statistics 12.24 / 475 Map(176)、Settings(227)、Diary(264) StatisticsActivity;Statistics 270 / 276 / 265
activitydiary STARTLUX step571 Edit Activities 15.12 / 571 About(255)、Diary(258)、Select Activity(432) ManageActivity;Edit Activities 13 / 14 / 12
activitydiary STARTLUX step608 Settings 16.38 / 608 About(255)、Diary(258)、Select Activity(432) SettingsActivity;Settings 308 / 373 / 308
wikipedia JEV step1020 Places 27.49 / 1020 Donate(636)、Settings(673) PlacesActivity;Places 1504 / 1671 / 1451
wikipedia STARTLUX step615 Settings 16.51 / 615 Places(312)、Places(455) SettingsActivity;Settings 155 / 178 / 155
wikipedia STARTLUX step734 Donate 18.78 / 734 Places(312)、Places(455) MainActivity;Donate 619 / 897 / 517

Donate的后Activity仍是MainActivity,但截图是支付方式sheet,随后普通735进入GooglePayActivity;不因为Activity名称没变而漏掉新功能,也不声称完成捐款。Statistics/Manage activities允许数据很少或列表为空;确认的是独立入口已打开。

这六条选择时的ModelAction均已标记saturated=True;组已有访问数分别4、8、9、2、2、4,原快照保存在逐条JSON。比如Statistics475实际比较Map176、Settings227、Diary264,三个DIFFERENT均confidence=1,随后B窗口265首次方法;Places1020比较Donate636、Settings673,两条DIFFERENT均1,随后B1451,其中大量是地图库初始化。不是仅凭方法名推断页面访问。

6条阴性历史检索范围及结果扫描全部已保存Native输入和源/目标Activity,并核对决策前与执行前两个截止点。它仍不承诺恢复未保留的FUZZ内部GUI与所有匿名控件语义。

全部150条结构化审查

App 条件 全部确认Probe 明确首次独立功能 已有等价尝试 UNKNOWN
activitydiary STARTLUX 12 2 8 2
activitydiary JEV 17 1 16 0
odkcollect STARTLUX 4 0 0 4
odkcollect JEV 21 0 2 19
omninotes STARTLUX 31 0 7 24
omninotes JEV 26 0 4 22
scarletnotes STARTLUX 4 0 3 1
scarletnotes JEV 16 0 12 4
wikipedia STARTLUX 13 2 7 4
wikipedia JEV 6 1 1 4

按决策前历史分类:NEW_SUPPORTED=6、REPEATED_SUPPORTED=60、UNKNOWN=84;按执行前历史:6/61/83。功能新颖性与方法新增分轴统计,不把new State等同新功能。

可浏览25条深入案例与全150条图文,或用主表CSV、完整JSON。每条都有请求/决策/执行step、完整ModelAction/Concrete、原问题/回答/confidence、Witness、Ledger→Bound→Selected→输入→Executed时间与原事件行、前后图、后续APE动作、方法名单入口及审查理由。

150条对应103次唯一网络请求、378个候选-Witness比较曝光。一请求可以包含多个候选,且稍后才执行,不将执行次数当HTTP次数。这150条的Pair缓存命中均为False;不能用其他未执行候选的缓存事件冒充本条新推理来源。150条原始聚合均为PROMOTE,依冻结规则重放150/150一致,未发现这些已执行项的聚合实现偏离规则。

为什么说重复主要不等于模型语义错误

已访问Statistics,却没有把Statistics历史给模型

activitydiary JEV step564 Statistics:第一次475在g11s38/g11a627打开Statistics;564审核在g13s49/g13a696,合法历史只有Select Activity131、Diary142,两条均进入比较。模型对它们判DIFFERENT .98/1是合理的局部比较,但没有475可以认出“整个Run已统计”。1201那次甚至只拿到Edit Activities918,而475/564及普通1026均早于请求1072。

StartLux455也不是首次统计,普通37与386早已进入StatisticsActivity;432审核只有About255、Diary258。它与Jev475的首次统计必须区分,不能按相同按钮名批量算正例。

冻结Registry按当前Native State对象→ModelAction对象收集confirmedInputs;history.complete=True表示此收集范围完整,不表示App级功能历史完整。对31条池外重复,原日志未逐输入保存排除原因,所以只能定位为作用域/映射过滤后的历史缺席,不能31条全说成某一个State细化实现bug。

Lock历史在池里,Top3却始终选其他功能

omninotes STARTLUX step1531 Lock决策在1331,此前Lock246/664已打开同一密码/找回问题表单。两条都能在本地provenance的当前合法池找到;发给模型的却是Info166、Enable checklist172、Reduced view210。这里是可复核的Witness覆盖不足,不能指责模型看到了Lock还判不同。

Protocol源码使用文本/单词/resource/class/action特征排序,并倾向不同特征集合,最多取3条;它不保证覆盖每个已执行功能。多语言和页面状态变化时,更早三个异功能Witness可长期占据比较位置。相同情况还包括Omni SL664/1331/1928/1935、Jev767/1588/2078。

文本块菜单确实重复,但模型没有见到菜单结果

scarletnotes JEV step130 Add Heading… (com.bijoysingh.quicknote:id/action_move_icon)的Witness107/120/128事后原图都已显示Block Text Actions:Share/Copy/Delete;130再次显示同一菜单。随后654、656、868、870、1409、1502仍打开同一模板。实际wire只有匿名action_move_icon和附近的Add Heading/Content/Item等块标签,历史执行后的菜单截图/效果没有送入。不能把事后图片可确认的等价,直接计成充分Evidence下的模型错误。

明明已有等价信息,仍然被探索聚合放行

scarletnotes STARTLUX step608 No Notes:同为EditText长按,378/380的SAME confidence .335/.458不可信;与Heading549的DIFFERENT .504751刚超过.5,因此PROMOTE。604也有Item384 SAME .255,而Heading554 DIFFERENT .734。

规则是“任意trusted SAME先REPRESENTED,否则任意trusted DIFFERENT可PROMOTE”,不是所有Pair都需证明全局新功能。Omni1933再次Enable checklist时,旧Enable172也在wire,但与它的DIFFERENT .399不trusted,另一个Disable DIFFERENT .638依然放行。属于探索策略的实际行为,未证明聚合代码bug,也不通过本轮离线审查更改阈值。

哪些语义判断在已有wire下仍值得怀疑

本次有9个Probe级的可疑语义案例:StartLux的6个Wikipedia文章目录项、1个最近查询选择、1个Scarlet标签筛选;Jev的1个Omni跨语言Enable checklist。这是研究意见,非人工金标、非9个独立错误Pair,更不代表已计算模型总体错误率。

例如wikipedia STARTLUX step1492 Early life:Early life与Лолита目录项比较仍判DIFFERENT .6197/.6656;wire中的目录角色、路径与正文定位操作支持“文章内跳转模板,差别是内容”。Probe前后图实际只是定位Early life章节,B=0。标题定位与章节定位的功能粒度仍可由研究者最终裁定,当前没有写回标签。

scarletnotes STARTLUX step846 Add Quot不是“Add Quoted Text新增块”:候选与Archive833、DONE845均是搜索页tag_text标签芯片,点后切换筛选颜色、结果仍No Notes;D .646/.613把不同标签数据当成不同功能。新报告对旧报告“搜索建议”描述作了本地澄清,未覆盖旧报告。

为什么执行成功却没有新增方法

默认B窗口有113条0首次METHOD:其中57条有等价历史证据,56条新颖性UNKNOWN;六条高证据首次功能的B均非零。A2为0有105条,A10为0有78条。不是113条都错误,也没有足够证据认定全部无代码收益。

没有找到足够高证据、可严格保证“整个Run首次独立功能且B0”的案例;这类应有的展示位置由上述UNKNOWN案例承接,绝不制造正例。窗外/输入注入期间、异步加载与METHOD观测缺口均可能改变观测。窗口完整只指已保存METHOD流可计算,不表示APK-wide观测完整;原验收覆盖数从未被这些窗口重算。

执行阶段还会使原本合理的机会过期

omninotes STARTLUX step825 ເກັບຮັກສາ在482作决定,约499.464秒后才执行;在等待期间807已归档一条笔记,825再归档两条。当前按普通数据集合的归档模板判断执行时重复;若研究者将批量归档单列独立测试分支,应重新裁定此项。不能拿807的未来结果倒推482当时模型错。

Ledger保留run-local pending PROMOTE,按当前Native State和精确identity确认消费,并没有全局功能等价记忆。本轮未证实“同一缓存键应该命中却失效”的实现bug。也不能简单跨State复用canonical identity:匿名容器可能在另一页代表不同设置,旧identity命中不是等价金标。

追加:吞吐下降与真实阻塞时间

条件(5 App合计) 普通动作选择 相对Pure 实测同步Provider等待 prepare排除等待的本地耗时
PURE_APE 12,042 +0.00% 0.000 s 0.000 s
STARTLUX_PAIRWISE 10,988 -8.75% 415.839 s 114.953 s
JEV_PAIRWISE 10,067 -16.40% 2230.990 s 190.923 s

普通动作减少不能直接全部归为GUITaboo损失。上表是Native实际计时的同步等待和prepare内本地工作,彼此已经排除嵌套;导航、FUZZ到下一动作、动作到GUI等另有重叠包络,不能继续相加凑3600秒。

本轮正式1030请求的Native等待模式均是synchronous。Gateway异步接收/回执事件不代表APE在继续探索。Jev约6秒发送准入本来限制Gateway上游发送;由于本轮Native同步await,其队列等待会实际阻塞APE。Scarlet Jev318请求的Native await约1273.566秒,其中Gateway排队900.873秒;ActivityDiary Jev243请求await约699.014秒,排队410.307秒。这是实际等待证据,不是把HTTP延迟机械相加。

Omni两模型的Provider等待仅约114.423/152.592秒,无法单独解释普通动作降幅;普通APE选择、页面/FUZZ/恢复包络等路径差异与未归因时间必须保留。性能专项还提供15条Run的逐分钟普通/Probe/HTTP/等待/本地审核/导航/Transition/首次方法、最长停顿及三App深入分析。性能总报告 · 开销归因 · 逐Run计时

API成功率、协议解析与APE效率分开:正式StartLux344/344、Jev686/686均HTTP 200;已保存协议字段校验和Native解析/消费也分别为344/344、686/686(100%),没有记录到429或超时。另有20/48次缓存合成回复,不算HTTP。等待分位数与逐请求来源见Provider计时表和性能验收,不能把HTTP 200直接等同探索收益。

下一步优先级与交付边界

优先审查历史池跨页面/State覆盖、Witness代表性、匿名控件的历史效果Evidence,再评估内容实例与独立操作的Pair标准、低置信等价与探索聚合、pending时效。速度方面先检查已证实的Gateway发送排队与Native同步等待组合;Omni继续保留普通APE选择和路径差异的边界。详见建议,只提建议,本次未实施优化。

本次只新增报告目录及只读关联脚本,复用已有guitaboo_analyze.py关联体系与旧150条执行审计;未运行APE、未调用任何Provider、未重建JAR、未改Prompt/算法/平台/语义标签。既有报告和原始Run保持原内容。25条深入案例另有截图浏览,其余125条也保留完整wire与结构化结论,未拿84条保守UNKNOWN补出二分类。

证据缺口 · 源码位置 · 重现命令 · 机器验收