wasm7browser
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
20、基于可达性分析的残差运行时验证
本文提出了一种基于可达性分析的残差运行时验证方法,通过构建控制流图自动机与扩展不良前缀自动机的交集,识别方法中的安全路径与违规路径,从而减少运行时监控的插桩开销。该方法仅依赖方法内的控制流信息,无需复杂的静态分析,具有良好的独立性和集成性。实验表明,该方法在多个基准程序上显著减少了插桩点和生成事件数量,提升了运行时性能。未来工作将结合逃逸分析等技术进一步提高精度,并扩展至并发程序分析。原创 2025-10-08 11:29:46 · 27 阅读 · 0 评论 -
19、通过可达性分析进行残余运行时验证
本文提出了一种基于可达性分析的残余运行时验证方法,旨在平衡静态验证与运行时验证的优缺点。通过构建CFG自动机和扩展坏前缀自动机,结合向上闭包与逃逸事件处理,静态识别可安全忽略的指令,减少运行时开销。方法支持参数化属性验证,利用过程内分析避免复杂的别名推断,并通过模型检查式的可达性分析确保安全性。该方法在保证正确性的同时提升了验证效率,适用于如SafeIterator等安全属性的监控,未来可扩展至更复杂程序结构与智能优化方向。原创 2025-10-07 10:16:40 · 20 阅读 · 0 评论 -
18、分离式分离逻辑与残余运行时验证技术解析
本文探讨了分离式分离逻辑与残余运行时验证技术在程序验证中的应用。分离式分离逻辑通过将算法功能正确性与指针操作分离,实现了高效且可验证的破坏性更新,已在红黑树等数据结构中取得良好实践效果;残余运行时验证则结合静态分析与运行时监测,显著减少插桩开销,提升验证效率。文章还对比了现有验证方法,并展示了所提技术的优势与未来发展方向。原创 2025-10-06 13:30:03 · 45 阅读 · 0 评论 -
17、分离逻辑下的破坏性红黑树实现与验证
本文介绍了一种基于分离逻辑的破坏性红黑树实现与验证方法,利用KIV分离逻辑库对堆操作进行形式化推理。通过分层精化策略,将红黑树的实现分解为两个步骤:首先用代数数据类型RBTBASIC精化集合规格RBSET,再用指针堆实现RBTHEAP精化RBTBASIC。结合前向模拟、抽象关系和不变式,实现了功能正确性与内存安全性的模块化证明,尤其利用拆分与连接定理简化了对旋转等复杂操作的验证,为复杂数据结构的形式化验证提供了可扩展的框架。原创 2025-10-05 09:01:11 · 38 阅读 · 0 评论 -
16、P-Code形式语义与红黑树验证的研究
本文探讨了Ghidra中P-Code的形式语义问题,指出了其文档与GUI显示中的不一致,并提出了多项改进建议。同时介绍了基于定理证明器KIV的红黑树验证方法,该方法通过代数层面功能正确性验证与指针操作验证的模块化细化策略,实现了高效且可靠的程序验证。研究还对比了现有反编译分析工具的局限性,强调形式化语义对提升二进制分析精度的重要性。原创 2025-10-04 11:41:03 · 26 阅读 · 0 评论 -
15、P-Code:语法、语义与改进建议
本文深入分析了P-Code在语法与语义层面存在的问题,包括间接调用、Fall-through机制不一致、phi-node信息缺失等,并提出了针对Ghidra输出和P-Code设计的多项改进建议。通过构建Haskell语言的P-Code解释器验证了语义的可执行性,同时探讨了非确定性处理、兼容性与性能影响等实际应用问题。文章最后展望了P-Code在未来代码分析与逆向工程中的扩展方向和优化潜力。原创 2025-10-03 16:54:01 · 23 阅读 · 0 评论 -
14、SMT验证与P-Code语义研究
本文探讨了SMT验证与P-Code语义研究两个关键领域。在SMT验证方面,通过安全基准测试分析了不同操作类型在DPTSOsyn和DPTSOsyn,full编码下的性能表现,发现两者性能相近但各有优劣,为进一步优化验证效率提供了依据。在P-Code研究方面,针对Ghidra反编译器使用的P-Code缺乏正式语义的问题,提出了条件分支、Phi节点、Varnodes和函数调用等方面的设计选择与语义定义,通过扩展语言、定义形式化语义并构建解释器解决了实际分析中的诸多问题。研究表明,为P-Code建立清晰语义对逆向工原创 2025-10-02 11:47:15 · 61 阅读 · 0 评论 -
13、SMT 基于验证 Px86 程序的持久性不变量
本文提出了一种基于SMT的Px86程序持久性不变量验证方法,通过适应DPTSOsyn内存模型并结合符号编码与理论求解技术,有效处理程序崩溃和指令重排序带来的挑战。文章详细介绍了崩溃建模、模型等价性证明、内存与一致性约束的逻辑编码,并基于Z3实现用户自定义理论求解器进行增量一致性检查。实验结果表明该方法能成功验证中等规模的持久化程序,同时探讨了性能影响因素及未来在复杂程序模型、机器学习融合等方面的研究方向。原创 2025-10-01 14:50:50 · 43 阅读 · 0 评论 -
12、基于SMT的Px86程序持久性不变式验证
本文提出了一种基于SMT的符号模型检查方法,用于验证并发有界Px86程序在非易失性内存(NVM)环境下的持久性不变式。通过将程序、语义和规范编码为逻辑公式,并结合自定义理论求解器在Z3上实现抽象精化(SCAR),该方法能够精确探索整个执行状态空间,有效克服传统工具在精度与可扩展性之间的权衡。文章适配了DPTSOsyn内存模型以支持部分执行图的等价建模,提升了验证效率,并开发原型工具在多个基准测试中实现了几秒到几分钟内的自动验证,为NVM程序提供了可靠的持久性保障手段。原创 2025-09-30 09:51:48 · 18 阅读 · 0 评论 -
11、面向高级形式化方法的实用偏序约简技术
本文探讨了面向高级形式化方法的实用偏序约简(POR)技术,分析了在模型检查中应用POR所面临的约束条件及其局限性,包括非启用与共启用约束的判定问题、求解器超时与内存崩溃等挑战。针对大规模模型中传统约束分析效率低下的问题,提出采用SAT编码结合操作展开的解决方案,并通过铁路联锁系统的案例研究验证了该方法的有效性。研究表明,结合操作展开、基于约束的分析和SAT编码可显著减少状态空间,达到与手动优化相当的效果。最后,文章总结了现有技术的优缺点,并展望了未来在改进约束分析、完善SAT编码及拓展至不变式和LTL模型检原创 2025-09-29 13:04:13 · 27 阅读 · 0 评论 -
10、面向高级形式化方法的实用偏序约简技术
本文探讨了在高级形式化方法(如B和Event-B)中提升偏序约简(POR)实用性的技术。针对传统POR在操作实例独立性判断上的局限,提出了操作展开和基于约束的语义分析两种解决方案。通过操作展开可显式区分不同参数的操作实例,而基于约束的方法利用前后谓词、非禁用与交换性约束,结合约束求解器精确判定操作间的独立性,从而实现更有效的状态空间约简。实验表明,尽管当前POR在多数模型中应用有限,但新方法显著提升了对复合数据结构和参数化操作的处理能力,增强了POR在复杂系统验证中的潜力。原创 2025-09-28 10:53:44 · 19 阅读 · 0 评论 -
9、容错协议与偏序约简技术研究
本文研究了分布式系统中容错协议的顺序化方法及其在发现安全漏洞中的应用,同时探讨了偏序约简(POR)技术在高级形式化方法中的挑战与改进。通过P工具对Paxos、Raft、Ben-Or等协议进行实验评估,结果表明顺序化模型能更高效地发现异步模型难以捕捉的一致性问题。针对POR在B/TLA+等高级方法中效果有限的问题,提出了操作展开和集合分析两种改进策略,并通过约束分析与SAT编码实现显著的状态空间约简。结合铁路联锁等真实案例,验证了改进后POR技术的有效性,为解决模型检查中的状态空间爆炸问题提供了可行路径。原创 2025-09-27 16:30:59 · 28 阅读 · 0 评论 -
8、容错协议的顺序化过程
本文介绍了一种将异步容错协议转换为顺序协议的方法,通过引入同步标签、计算阶段结构、界定回合边界以及应用顺序化算法,实现对分布式系统中容错协议的有效验证与测试。该方法保留了协议的局部属性(如共识),减少了执行过程中的非确定性,提升了测试的可预测性和效率。适用于容错系统开发、协议测试和系统优化等多种场景,为分布式系统的可靠性和正确性保障提供了有力支持。原创 2025-09-26 11:59:54 · 29 阅读 · 0 评论 -
7、并发程序编译与容错协议序列化技术解析
本文深入探讨了并发程序编译与容错分布式协议的序列化技术。通过对Paxos协议在不同角色下的编译时间与规格说明分析,揭示了布尔位向量转换过程中的性能特征。文章重点提出一种基于通信闭合的自动化序列化方法,可将复杂的异步容错协议转换为行为等价但状态空间显著缩减的顺序版本,有效缓解测试中的状态爆炸问题。该技术已在P框架下实现,并成功应用于Paxos、Raft等多种协议模型,在其顺序版本中发现了原始异步模型难以暴露的细微错误。同时,本文回顾了草图式程序合成及受电路设计启发的相关工作,并展望了特定领域语言编译器开发、中原创 2025-09-25 10:32:06 · 18 阅读 · 0 评论 -
6、Shellac:并发程序的编译器合成器
Shellac 是一个面向并发程序的编译器合成器,支持生成 Arduino C++ 和 Verilog 等目标语言的编译器后端。它基于 Unity 规范语言,通过形式化方法分离表达式求值与状态转换,确保编译过程的语义正确性。Shellac 在 Rosette 中实现机械化验证,利用符号语法图和 CEGIS 过程搜索满足验证条件的表达式,并通过验证条件分区优化搜索效率。其在布尔位向量中间表示上合成重写规则,保障顺序与并行实现的正确性及活性。评估表明 Shellac 能有效处理非平凡规范,如 Paxos 共识算原创 2025-09-24 13:55:00 · 26 阅读 · 0 评论 -
5、内存模型验证与并发程序编译器合成的进展
本文探讨了内存模型验证的自动化与并发程序编译器合成的最新进展。在内存模型验证方面,基于Why3对Leroy和Blazy的内存模型进行了高效验证,124个引理中92.7%可自动证明,并实现了OCaml代码提取。在并发程序编译方面,介绍了Shellac编译器合成器,它通过程序合成生成经过验证的翻译规则,支持从UNITY规范到Arduino C++和Verilog的编译,并保证安全性和活性属性。文章还分析了其处理流程、中间语言设计、目标平台应用及性能评估,展示了该技术在提升软件正确性与开发效率方面的潜力。原创 2025-09-23 16:30:26 · 52 阅读 · 0 评论 -
4、内存模型证明:从Coq到Why3的自动化提升
本文探讨了在形式化验证中使用Coq和Why3进行内存模型证明的对比研究。Leroy和Blazy的内存模型为Compcert编译器提供了理论基础,其原始证明在Coq中完成,但依赖大量手动操作。通过迁移到Why3,利用其强大的自动化支持,特别是auto level 3策略与归纳、断言及存在性见证等技术,实现了高达89.6%以上的验证条件自动证明,并将剩余引理的手动交互降至零。研究表明,Why3不仅提升了证明效率和自动化程度,还增强了形式化的完整性与可维护性,展示了其在系统级程序验证中的巨大潜力。原创 2025-09-22 14:26:41 · 25 阅读 · 0 评论 -
3、组合安全线性时态逻辑合成与内存模型自动化证明
本文介绍了组合安全线性时态逻辑(LTL)合成与内存模型自动化证明的最新研究进展。在LTL合成方面,提出了一种基于策略组合的新型合成方法,并通过原型工具Gelato实现,实验表明其在处理大规模合取公式时显著优于现有工具SSyft和Strix。在内存模型方面,将Leroy和Blazy的Coq形式化模型迁移至Why3,实现了几乎全自动的健全性与安全性证明,减少了90%的证明工作量,并支持可提取的正确内存实现。研究为程序验证提供了高效、可扩展的技术路径。原创 2025-09-21 09:35:41 · 17 阅读 · 0 评论 -
2、组合式安全LTL综合:原理与方法
本文系统介绍了组合式安全LTL综合的原理与方法,涵盖安全LTL的基础概念、综合问题建模、确定性安全自动机(DSA)的构造与转换,以及状态基和策略基两种组合式综合方法的详细流程。文章对比了两种方法在状态修剪、策略优化和适用场景上的差异,并展示了其在反应式系统设计中的高效性与可扩展性。通过结合显式与符号表示技术,该方法为机器人控制、网络安全等领域中的复杂属性验证提供了有力支持,具有良好的应用前景。原创 2025-09-20 11:18:56 · 27 阅读 · 0 评论 -
1、安全LTL公式的组合合成技术:突破与进展
本文介绍了安全LTL公式的组合合成技术的最新进展,该方法通过规范级和游戏级双重分解,结合确定性安全自动机构建与最小化策略,显著提升了反应式系统合成的效率与可扩展性。研究实现了原型工具Gelato,并在可扩展合取式基准上验证了其优于整体式方法和Strix等先进工具的性能,为嵌入式系统、机器人控制和网络协议等领域提供了强有力的自动化合成支持。原创 2025-09-19 10:17:41 · 19 阅读 · 0 评论
分享