Mutation-based fuzzing has become one of the most common vulnerability discovery solutions over the last decade. Fuzzing can be optimized when targeting specific programs, and given that, some studies have employed online optimization methods to do it automatically, i.e., tuning fuzzers for any given program in a program-agnostic manner. However, previous studies have neither fully explored mutation schemes suitable for online optimization methods, nor online optimization methods suitable for mutation schemes. In this study, we propose an optimization framework called SLOPT that encompasses both a bandit-friendly mutation scheme and mutation-scheme-friendly bandit algorithms. The advantage of SLOPT is that it can generally be incorporated into existing fuzzers, such as AFL and Honggfuzz. As a proof of concept, we implemented SLOPT-AFL++ by integrating SLOPT into AFL++ and showed that the program-agnostic optimization delivered by SLOPT enabled SLOPT-AFL++ to achieve higher code coverage than AFL++ in all of ten real-world FuzzBench programs. Moreover, we ran SLOPT-AFL++ against several real-world programs from OSS-Fuzz and successfully identified three previously unknown vulnerabilities, even though these programs have been fuzzed by AFL++ for a considerable number of CPU days on OSS-Fuzz.
translated by 谷歌翻译
算法配置(AC)与对参数化算法最合适的参数配置的自动搜索有关。目前,文献中提出了各种各样的交流问题变体和方法。现有评论没有考虑到AC问题的所有衍生物,也没有提供完整的分类计划。为此,我们引入分类法以分别描述配置方法的交流问题和特征。我们回顾了分类法的镜头中现有的AC文献,概述相关的配置方法的设计选择,对比方法和问题变体相互对立,并描述行业中的AC状态。最后,我们的评论为研究人员和从业人员提供了AC领域的未来研究方向。
translated by 谷歌翻译
Monte Carlo Tree Search (MCTS) is a recently proposed search method that combines the precision of tree search with the generality of random sampling. It has received considerable interest due to its spectacular success in the difficult problem of computer Go, but has also proved beneficial in a range of other domains. This paper is a survey of the literature to date, intended to provide a snapshot of the state of the art after the first five years of MCTS research. We outline the core algorithm's derivation, impart some structure on the many variations and enhancements that have been proposed, and summarise the results from the key game and non-game domains to which MCTS methods have been applied. A number of open research questions indicate that the field is ripe for future work.
translated by 谷歌翻译
蒙特卡洛树搜索(MCT)是设计游戏机器人或解决顺序决策问题的强大方法。该方法依赖于平衡探索和开发的智能树搜索。MCT以模拟的形式进行随机抽样,并存储动作的统计数据,以在每个随后的迭代中做出更有教育的选择。然而,该方法已成为组合游戏的最新技术,但是,在更复杂的游戏(例如那些具有较高的分支因素或实时系列的游戏)以及各种实用领域(例如,运输,日程安排或安全性)有效的MCT应用程序通常需要其与问题有关的修改或与其他技术集成。这种特定领域的修改和混合方法是本调查的主要重点。最后一项主要的MCT调查已于2012年发布。自发布以来出现的贡献特别感兴趣。
translated by 谷歌翻译
背景:机器学习(ML)可以实现有效的自动测试生成。目的:我们表征了新兴研究,检查测试实践,研究人员目标,应用的ML技术,评估和挑战。方法:我们对97个出版物的样本进行系统文献综述。结果:ML生成系统,GUI,单位,性能和组合测试的输入或改善现有生成方法的性能。 ML还用于生成测试判决,基于属性的和预期的输出序列。经常基于神经网络和强化学习的监督学习通常是基于Q学习的 - 很普遍,并且某些出版物还采用了无监督或半监督的学习。使用传统的测试指标和与ML相关的指标(例如准确性)评估(半/非 - )监督方法,而经常使用与奖励功能相关的测试指标来评估强化学习。结论:工作到尽头表现出巨大的希望,但是在培训数据,再探术,可伸缩性,评估复杂性,所采用的ML算法以及如何应用 - 基准和可复制性方面存在公开挑战。我们的发现可以作为该领域研究人员的路线图和灵感。
translated by 谷歌翻译
We introduce a new setting, optimize-and-estimate structured bandits. Here, a policy must select a batch of arms, each characterized by its own context, that would allow it to both maximize reward and maintain an accurate (ideally unbiased) population estimate of the reward. This setting is inherent to many public and private sector applications and often requires handling delayed feedback, small data, and distribution shifts. We demonstrate its importance on real data from the United States Internal Revenue Service (IRS). The IRS performs yearly audits of the tax base. Two of its most important objectives are to identify suspected misreporting and to estimate the "tax gap" -- the global difference between the amount paid and true amount owed. Based on a unique collaboration with the IRS, we cast these two processes as a unified optimize-and-estimate structured bandit. We analyze optimize-and-estimate approaches to the IRS problem and propose a novel mechanism for unbiased population estimation that achieves rewards comparable to baseline approaches. This approach has the potential to improve audit efficacy, while maintaining policy-relevant estimates of the tax gap. This has important social consequences given that the current tax gap is estimated at nearly half a trillion dollars. We suggest that this problem setting is fertile ground for further research and we highlight its interesting challenges. The results of this and related research are currently being incorporated into the continual improvement of the IRS audit selection methods.
translated by 谷歌翻译
网络协议实现的状态属性对测试和验证技术构成了独特的挑战,包括模糊。通过利用状态模型来分区状态空间并帮助测试生成过程来解决这一挑战。由于并非所有国家都同样重要和模糊运动,因此模糊需要有效的状态选择算法,以优先考虑逐行的州。已经提出了几种状态选择算法,但它们在不同的平台上单独实施和评估,使其难以实现决定性的结果。在这项工作中,我们在与网络服务器的最先进的模糊组中评估了一组广泛的状态选择算法。网络服务器的最先进的模糊。该算法集包括AFLNET支持的现有算法和我们的新颖和原则性算法,称为AFLNetLEGION。关于Profuiczbench基准的实验结果表明,(i)AFLNET的现有状态选择算法实现了非常相似的代码覆盖,(ii)AFLNETLEGION在所选案例研究中显然优于这些算法,但(iii)整体改善显得微不足道。这些是出乎意料但有趣的发现。我们确定问题并分享可能开放未来研究本主题的机会的见解。
translated by 谷歌翻译
聚类算法的全面基准是困难的两个关键因素:(i)〜这种无监督的学习方法的独特数学定义和(ii)〜某些聚类算法采用的生成模型或群集标准之间的依赖性的依赖性内部集群验证。因此,对严格基准测试的最佳做法没有达成共识,以及是否有可能在给定申请的背景之外。在这里,我们认为合成数据集必须继续在群集算法的评估中发挥重要作用,但这需要构建适当地涵盖影响聚类算法性能的各种属性集的基准。通过我们的框架,我们展示了重要的角色进化算法,以支持灵活的这种基准,允许简单的修改和扩展。我们说明了我们框架的两种可能用途:(i)〜基准数据的演变与一组手派生属性和(ii)〜生成梳理给定对算法之间的性能差异的数据集。我们的作品对设计集群基准的设计具有足够挑战广泛算法的集群基准,并进一步了解特定方法的优势和弱点。
translated by 谷歌翻译
软件测试可能是一个漫长且昂贵的过程,尤其是如果无法测试的软件进行测试。重构技术可以通过改善影响可检验性的软件指标来增强可检验性。在构建回归模型学习如何将计算的源代码计算指标与其可检验性相关联的指标时,确定了指标。我们确定了15个软件指标,在解释我们的可检测性预测模型的同时,高度影响可检验性。我们使用42个Java类的实验表明,除了改善其他一些质量属性外,改善这15个指标的重构平均可以提高可测试性15.57%。我们的可测试性预测模型经过训练,可以映射源代码指标,以测试有效性和效率,作为可测试软件的两种重要成分。随着测试套件获得的覆盖范围的增加,测试有效性会提高。另一方面,随着测试套件的大小增加,测试效率会降低。本文提供了一个数学模型,以根据测试套件的大小和覆盖范围来计算类可检验性。我们使用此数学模型来计算可测试性作为我们可检测性预测模型的目标。数学模型要求执行正在测试的类以计算测试覆盖范围,而我们的回归模型在静态上测量了测试性。在测试性方面的测试结果预测应在测试之前,以避免不必要的成本。我们的可测试性预测模型已在23,886个Java类和262个软件指标上进行了培训和测试。学习的模型以R2为0.68,平均平方误差为0.03,可预测可验证性。
translated by 谷歌翻译
大多数自动化软件测试任务可以从测试用例的抽象表示中受益。传统上,这是通过基于测试案例的代码覆盖范围来完成的。规范级别的标准可以替换代码覆盖范围以更好地表示测试用例的行为,但通常不具有成本效益。在本文中,我们假设测试用例的执行痕迹可以使其在自动测试任务中抽象其行为的好选择。我们提出了一种新颖的嵌入方法Test2VEC,该方法将测试执行映射到潜在空间。我们在测试案例的优先级(TP)任务中评估了此表示形式。我们的默认TP方法基于嵌入式向量与历史失败测试向量的相似性。我们还根据测试向量的多样性研究了一种替代方案。最后,我们提出了一种决定给定测试套件的方法,以决定选择哪种TP。该实验基于几个真实和种子故障,具有超过一百万个执行痕迹。结果表明,就第一个失败测试案例(FFR)的中位数等级而言,我们提议的TP将最佳替代品提高了41.80%。就中位数APFD和中位数归一化FFR而言,它的表现优于传统代码覆盖范围的方法25.05%和59.25%。
translated by 谷歌翻译
性能是软件最重要的素质之一。因此,已经提出了几种技术来改进它,例如程序转换,软件参数的优化或编译器标志。许多自动化的软件改进方法使用类似的搜索策略来探索可能改进的空间,但可用的工具一次只专注于一种方法。这使得比较和探索各种类型改进的相互作用是不切实际的。我们提出了Magpie,这是一个统一的软件改进框架。它提供了一个共同的基于编辑序列的表示,该表示将搜索过程与特定的改进技术隔离,从而实现了简化的协同工作流程。我们使用基本的本地搜索提供案例研究,以比较编译器优化,算法配置和遗传改善。我们选择运行时间作为我们的效率度量,并评估了我们在C,C ++和Java编写的四个现实世界软件上的方法。我们的结果表明,独立使用的所有技术都发现了重大的运行时间改进:编译器优化最高25%,算法配置为97%,使用遗传改进的源代码为61%。我们还表明,通过不同技术发现的变体的部分组合,可以获得多达10%的性能。此外,共同表示还可以同时探索所有技术,从而提供了分别使用每种技术的竞争替代方案。
translated by 谷歌翻译
大多数机器学习算法由一个或多个超参数配置,必须仔细选择并且通常会影响性能。为避免耗时和不可递销的手动试验和错误过程来查找性能良好的超参数配置,可以采用各种自动超参数优化(HPO)方法,例如,基于监督机器学习的重新采样误差估计。本文介绍了HPO后,本文审查了重要的HPO方法,如网格或随机搜索,进化算法,贝叶斯优化,超带和赛车。它给出了关于进行HPO的重要选择的实用建议,包括HPO算法本身,性能评估,如何将HPO与ML管道,运行时改进和并行化结合起来。这项工作伴随着附录,其中包含关于R和Python的特定软件包的信息,以及用于特定学习算法的信息和推荐的超参数搜索空间。我们还提供笔记本电脑,这些笔记本展示了这项工作的概念作为补充文件。
translated by 谷歌翻译
深度神经网络(DNN)应用越来越多地成为我们日常生活的一部分,从医疗应用到自动车辆。 DNN的传统验证依赖于准确度措施,然而,对抗示例的存在突出了这些准确度措施的局限性,特别是当DNN集成到安全关键系统中时提出担忧。在本文中,我们呈现HOMRS,一种通过自动构建从一组初始变质关系构建小型优化的高阶变质关系来提振变质测试的方法。 Homrs的骨干是一个多目标搜索;它利用传统系统测试中绘制的想法,例如代码覆盖,测试用例,路径分集以及输入验证。我们将HOMRS应用于MNIST / LENET和SVHN / VGG,我们报告了它的证据表明它建立了一个小而有效的高阶变换,概括到输入数据分布很好。此外,与诸如DeepXplore的类似的生成技术相比,我们表明我们的分发的方法更有效,从不确定量化的观点产生有效的变换,同时通过利用方法的泛化能力来实现更少的计算时间。
translated by 谷歌翻译
最近的深度学习(DL)应用主要建立在DL库的顶部。这些库的质量保证对于可靠的DL应用程序的可靠部署至关重要。因此,提出了一些技术来通过生成DL模型作为测试输入来测试DL库。然后,这些技术将这些DL模型馈送到DL库进行推断,以便行使与DL模型执行相关的DL库模块。但是,这些技术的测试有效性受生成的DL模型的多样性的限制。我们的研究发现,这些技术最多可以覆盖层对的11.7%(即,在两个层API之间调用序列)和层参数的55.8%(例如,在Conv2d中的“ Padding”)。结果,我们发现现有技术可能会错过特定层对和参数引起的许多错误。鉴于现有DL库测试技术的局限性,我们建议备忘录通过探索层类型,层对和层参数来有效地生成不同的DL模型。备忘录:(1)设计一种初始模型还原技术,以提高测试效率而不损害模型多样性; (2)为定制的Markov链蒙特卡洛(MCMC)算法设计一组突变操作员,以探索新的层类型,层对和层参数。我们在七个流行的DL库上评估了备忘录,其中包括四个用于模型执行(Tensorflow,Pytorch和MXNET和ONNX)和三个用于模型转换的备忘录(KERAS-MXNET,TF2ONNX,ONNX2PYTORCH)。评估结果表明,备忘录的表现优于最近的作品,覆盖了10.3%的层对,多15.3%的层参数和2.3%的库分支。此外,备忘录在最新版本的DL库中检测到29个新错误,其中17个由DL库开发人员确认,其中5个已确认的错误已修复。
translated by 谷歌翻译
我们提出了一种数据驱动的算法,广告商可以用来自动在线出版商的数字广告广告。该算法使广告客户能够跨越可用的目标受众和AD-Media搜索通过在线实验找到其广告系列的最佳组合。找到最佳受众ad AD组合的问题使许多独特的挑战变得复杂,包括(a)需要积极探索以解决先前的不确定性并加快搜索有利可图的组合,(b)许多组合可供选择,产生高维搜索公式,以及(c)成功概率非常低,通常只有百分之一。我们的算法(指定的LRDL,logistic回归与Debiased Lasso的首字母缩写)通过结合四个元素来解决这些挑战:一个用于主动探索的多层匪徒框架;套索惩罚功能以处理高维度;一个内置的偏见核,可处理套索引起的正则化偏差;以及一个半参数回归模型,用于促进跨武器交叉学习的结果。该算法是作为汤普森采样器实施的,据我们所知,这是第一个实际上可以解决以上所有挑战的方法。具有真实和合成数据的模拟表明该方法是有效的,并记录了其在最近的高维匪徒文献中的几个基准测试中的出色性能。
translated by 谷歌翻译
自动化封路计优化(HPO)已经获得了很大的普及,并且是大多数自动化机器学习框架的重要成分。然而,设计HPO算法的过程仍然是一个不系统和手动的过程:确定了现有工作的限制,提出的改进是 - 即使是专家知识的指导 - 仍然是一定任意的。这很少允许对哪些算法分量的驾驶性能进行全面了解,并且承载忽略良好算法设计选择的风险。我们提出了一个原理的方法来实现应用于多倍性HPO(MF-HPO)的自动基准驱动算法设计的原则方法:首先,我们正式化包括的MF-HPO候选的丰富空间,但不限于普通的HPO算法,然后呈现可配置的框架覆盖此空间。要自动和系统地查找最佳候选者,我们遵循通过优化方法,并通过贝叶斯优化搜索算法候选的空间。我们挑战是否必须通过执行消融分析来挑战所发现的设计选择或可以通过更加天真和更简单的设计。我们观察到使用相对简单的配置,在某些方式中比建立的方法更简单,只要某些关键配置参数具有正确的值,就可以很好地执行得很好。
translated by 谷歌翻译
越来越多地用于优化深度神经网络(DNN)模型,以满足性能,资源利用和其他要求,越来越多地使用深入学习(DL)编译器(例如TVM和Tensorrt)。这些编译器中的错误可以产生优化的模型,其语义与原始模型不同,并产生不正确的结果,影响了下流应用程序的正确性。但是,由于其复杂性,在这些编译器中找到错误是具有挑战性的。在这项工作中,我们提出了一种新的模糊测试方法,用于在深入学习编译器中查找错误。我们的核心方法使用(i)轻重量操作员规范来生成多样化但有效的DNN模型,使我们能够行使编译器的大部分转换逻辑; (ii)基于梯度的搜索过程,用于查找模型输入,该过程避免在模型执行过程中避免任何浮点异常值,从而减少了错过错误或错误警报的机会; (iii)差异测试以识别错误。我们在NNSmith中实施了这种方法,该方法在过去的七个月中为TVM,Tensorrt,OnxRuntime和Pytorch发现了65个新错误。在这52个已得到证实,项目维护者已确定了44个。
translated by 谷歌翻译
本文探讨了培训来生成代码的大型语言模型(LLMS)可以极大地提高对基因编程(GP)应用程序的突变操作员的有效性。由于此类LLM受益于包括顺序更改和修改的训练数据,因此它们可以近似人类会做出的可能变化。为了强调通过大型模型(ELM)的这种进化的含义的广度,在主要实验ELM与MAP-ELITE结合产生了数十万个Python程序的功能示例,这些示例在Sodarace域中输出了在Sodarace域中运行AMBULE的机器人,原始LLM从未在预训练中见过。然后,这些示例有助于引导培训一种新的条件语言模型,该模型可以为特定地形输出合适的步行者。引导新模型可以在以前可用的零培训数据中为给定上下文中输出适当的工件的新模型具有对开放性,深度学习和增强学习的影响。在这里深入探讨了这些含义,以期激发榆树现在打开的新研究方向。
translated by 谷歌翻译
2048 is a single-player stochastic puzzle game. This intriguing and addictive game has been popular worldwide and has attracted researchers to develop game-playing programs. Due to its simplicity and complexity, 2048 has become an interesting and challenging platform for evaluating the effectiveness of machine learning methods. This dissertation conducts comprehensive research on reinforcement learning and computer game algorithms for 2048. First, this dissertation proposes optimistic temporal difference learning, which significantly improves the quality of learning by employing optimistic initialization to encourage exploration for 2048. Furthermore, based on this approach, a state-of-the-art program for 2048 is developed, which achieves the highest performance among all learning-based programs, namely an average score of 625377 points and a rate of 72% for reaching 32768-tiles. Second, this dissertation investigates several techniques related to 2048, including the n-tuple network ensemble learning, Monte Carlo tree search, and deep reinforcement learning. These techniques are promising for further improving the performance of the current state-of-the-art program. Finally, this dissertation discusses pedagogical applications related to 2048 by proposing course designs and summarizing the teaching experience. The proposed course designs use 2048-like games as materials for beginners to learn reinforcement learning and computer game algorithms. The courses have been successfully applied to graduate-level students and received well by student feedback.
translated by 谷歌翻译
Alphazero,Leela Chess Zero和Stockfish Nnue革新了计算机国际象棋。本书对此类引擎的技术内部工作进行了完整的介绍。该书分为四个主要章节 - 不包括第1章(简介)和第6章(结论):第2章引入神经网络,涵盖了所有用于构建深层网络的基本构建块,例如Alphazero使用的网络。内容包括感知器,后传播和梯度下降,分类,回归,多层感知器,矢量化技术,卷积网络,挤压网络,挤压和激发网络,完全连接的网络,批处理归一化和横向归一化和跨性线性单位,残留层,剩余层,过度效果和底漆。第3章介绍了用于国际象棋发动机以及Alphazero使用的经典搜索技术。内容包括minimax,alpha-beta搜索和蒙特卡洛树搜索。第4章展示了现代国际象棋发动机的设计。除了开创性的Alphago,Alphago Zero和Alphazero我们涵盖Leela Chess Zero,Fat Fritz,Fat Fritz 2以及有效更新的神经网络(NNUE)以及MAIA。第5章是关于实施微型α。 Shexapawn是国际象棋的简约版本,被用作为此的示例。 Minimax搜索可以解决六ap峰,并产生了监督学习的培训位置。然后,作为比较,实施了类似Alphazero的训练回路,其中通过自我游戏进行训练与强化学习结合在一起。最后,比较了类似α的培训和监督培训。
translated by 谷歌翻译