可满足性模理论 (SMT) 求解器是许多技术的核心引擎,例如符号执行。因此,确保 SMT 求解器的稳健性和正确性至关重要。虽然模糊测试是一种确保 SMT 求解器质量的有效方法,但我们观察到之前的模糊测试工作仅侧重于生成各种一阶公式作为输入,而忽略了 SMT 求解器的算法配置空间,这导致许多深藏不露的错误未被及时报告。在本文中,我们提出了 Falcon,一种同时探索公式空间和配置空间的模糊测试技术。将这两个空间结合起来会显著扩大搜索空间,使有效检测错误变得更加困难。我们通过利用两个空间之间的相关性来减少搜索空间,并引入自适应变异策略来提高搜索效率,从而解决了这个问题。经过六个月的广泛测试,Falcon 在两款最先进的 SMT 求解器 CVC4 和 Z3 中发现了 518 个已确认的错误,其中 469 个已经修复。与两款最先进的模糊测试器相比,Falcon 在 24 小时的测试中检测到了 38 个和 44 个以上的错误,并且覆盖率大幅提高。
7. 寻求社区教育和参与方面的外联援助:比德韦尔培训中心的园艺技术项目、宾夕法尼亚州立大学推广园艺大师和当地宾夕法尼亚州立大学分支机构的娱乐、公园和旅游管理学位项目、阿勒格尼县社区学院和其他当地学院、Grounded、Grow Pittsburgh 和黑人城市园丁和农民 (BUGS)。在高中阶段:环境特许学校、匹兹堡公立学校的磁石计划以及附近有现有公园/树木的学校。
软件开发是一个持续、渐进的过程。开发人员不断以小批量而非一次性大批量的方式改进软件。小批量的高频率使得使用有效的测试方法在有限的测试时间内检测出错误变得至关重要。为此,研究人员提出了定向灰盒模糊测试 (DGF),旨在生成针对某些目标站点进行压力测试的测试用例。与旨在最大化整个程序的代码覆盖率的基于覆盖范围的灰盒模糊测试 (CGF) 不同,DGF 的目标是覆盖潜在的错误代码区域(例如,最近修改的程序区域)。虽然先前的研究改进了 DGF 的几个方面(例如电源调度、输入优先级和目标选择),但很少有人关注改进种子选择过程。现有的 DGF 工具使用主要为 CGF 定制的种子语料库(即一组覆盖程序不同区域的种子)。我们观察到,使用基于 CGF 的语料库限制了定向灰盒模糊测试器的错误查找能力。为了弥补这一缺陷,我们提出了 TargetFuzz,这是一种为 DGF 工具提供面向目标的种子语料库的机制。我们将此语料库称为 DART 语料库,它仅包含与目标“接近”的种子。这样,DART 语料库就可以引导 DGF 找到目标,从而即使在有限的模糊测试时间内也能暴露漏洞。对 34 个真实漏洞的评估表明,与基于 CGF 的通用语料库相比,配备 DART 语料库的 AFLGo(一种最先进的定向灰盒模糊测试器)可以发现 10 个额外的漏洞,并且平均在暴露时间上实现了 4.03 倍的加速。
软件开发是一个持续、渐进的过程。开发人员不断以小批量而非一次性大批量的方式改进软件。小批量的高频率使得使用有效的测试方法在有限的测试时间内检测出错误变得至关重要。为此,研究人员提出了定向灰盒模糊测试 (DGF),旨在生成针对某些目标站点进行压力测试的测试用例。与旨在最大化整个程序的代码覆盖率的基于覆盖范围的灰盒模糊测试 (CGF) 不同,DGF 的目标是覆盖潜在的错误代码区域(例如,最近修改的程序区域)。虽然先前的研究改进了 DGF 的几个方面(例如电源调度、输入优先级和目标选择),但很少有人关注改进种子选择过程。现有的 DGF 工具使用主要为 CGF 定制的种子语料库(即一组覆盖程序不同区域的种子)。我们观察到,使用基于 CGF 的语料库限制了定向灰盒模糊测试器的错误查找能力。为了弥补这一缺陷,我们提出了 TargetFuzz,这是一种为 DGF 工具提供面向目标的种子语料库的机制。我们将此语料库称为 DART 语料库,它仅包含与目标“接近”的种子。这样,DART 语料库就可以引导 DGF 找到目标,从而即使在有限的模糊测试时间内也能暴露漏洞。对 34 个真实漏洞的评估表明,与基于 CGF 的通用语料库相比,配备 DART 语料库的 AFLGo(一种最先进的定向灰盒模糊测试器)可以发现 10 个额外的漏洞,并且平均在暴露时间上实现了 4.03 倍的加速。
软件开发是一个持续、渐进的过程。开发人员会以小批量而非一次性大批量的方式不断改进软件。小批量的高频率使得使用有效的测试方法在有限的测试时间内检测出错误变得至关重要。为此,研究人员提出了定向灰盒模糊测试 (DGF),旨在生成针对特定目标位置进行压力测试的测试用例。与旨在最大化整个程序的代码覆盖率的基于覆盖范围的灰盒模糊测试 (CGF) 不同,DGF 的目标是覆盖潜在的错误代码区域(例如,最近修改的程序区域)。虽然先前的研究改进了 DGF 的几个方面(例如电源调度、输入优先级和目标选择),但很少有人关注改进种子选择过程。现有的 DGF 工具使用主要针对 CGF 定制的种子语料库(即一组覆盖程序不同区域的种子)。我们观察到,使用基于 CGF 的语料库会限制定向灰盒模糊测试器的发现错误的能力。为了弥补这一缺陷,我们提出了 TargetFuzz,这是一种为 DGF 工具提供面向目标的种子语料库的机制。我们将此语料库称为 DART 语料库,它仅包含与目标“接近”的种子。这样,DART 语料库就可以引导 DGF 找到目标,从而即使在有限的模糊测试时间内也能暴露漏洞。对 34 个真实漏洞的评估表明,与基于 CGF 的通用语料库相比,配备 DART 语料库的 AFLGo(一种最先进的定向灰盒模糊测试器)可以发现 10 个额外的漏洞,并且平均暴露时间加快了 4.03 倍。
2功能概述5 2.1外壳要点。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。5 2.2版本控制。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 2.3软件配置环境。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。6 2.4默认情况下禁用的功能。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。7 2.5已知限制和错误。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。8 2.6竞争者。。。。。。。。。。。。。。。。。。。。。。。。。。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>8 2.7许可证。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>。 div>9 div>
设计思维的第一阶段涉及发现洞察。发现洞察的核心是与受当前问题影响的人产生同理心,包括表达自己的经历。因此,你首先要记下自己的观察结果以及你与问题的关系。然后,你可以开始与他人交谈,收集更多观察结果,以深入了解他人的需求、愿望和行为。你从这些观察结果(我们称之为“缺陷”)出发,形成洞察,将“缺陷”的“谁”、“什么”、“为什么”和“如何”结合在一起。同理心有助于从直接受影响的人的角度理解问题,也是以人为本的设计方法的关键。一位学院毕业生强调了识别缺陷对他的学习之旅的重要性。他指出:
human path prediction experiments with realistic perception, contributing a novel error correction module • Leveraged Unity for scene recreation and deep generative modeling for multi-modal, variational predictions TrajAir Aug 2021 – May 2022 • Researched machine learning methods for predicting aircraft trajectories in non-towered airspaces • Utilized clustering and vector field methods to capture movement patterns and infer pilot intent University of密歇根州EFES实验室|密歇根州安阿伯,2019年9月 - 2020年5月•设计和构建了一个系统,可以通过使用符号执行来查找应用程序中的持续记忆错误•在Oracle的NVM直接框架上进行LED调查和实验,发现和报告23个新错误专业经验stack AV |宾夕法尼亚州匹兹堡,2024年3月 - 2024年8月研究软件工程师实习生
▪ 逻辑、RAM、ROM 都使用相同的晶体管实现 ▪ 半导体 RAM ~ 与 ROM 速度相同 ▪ 根据摩尔定律,控制存储的内存可以增长 ▪ 由于 RAM,更容易修复微代码错误 ▪ 允许更复杂的 ISA(CISC) ▪ 小型计算机(TTL 服务器)示例: