NewsCLIPpings: Automatic Generation of Out-of-Context Multimodal Media
University of California, Berkeley(加州大学伯克利分校)
在线错误信息是一个普遍的社会问题,对手依赖从廉价假货到复杂的深度假货的各种工具。我们被威胁场景所激励,在这种场景中,一个图像被断章取义地用来支持某种叙述。虽然一些用于检测图像-文本不一致的先前数据集通过文本操作生成样本,但我们提出了一个图像和文本都未被操作但不匹配的数据集。我们介绍了几种策略,自动检索令人信服的图像为一个给定的标题,捕捉不一致的实体或语义上下文的情况下。我们的大规模自动生成的NewsCLIPpings数据集:(1)表明机器驱动的图像再利用现在是一个现实的威胁,(2)提供的样本代表了新闻中文本和图像之间不匹配的挑战性实例,这些实例能够误导人类。我们在我们的数据集上对几种最先进的多模态模型进行了基准测试,并分析了它们在不同预训练域和视觉骨干中的性能。
2021-09-21 cs.CL cs.CV
Neuron Patching: Semantic-based Neuron-level Language Model Repair for Code Generation
Monash University(莫纳什大学);Technical University of Munich(慕尼黑工业大学);Chongqing University(重庆大学)
本文提出神经元定向模型改进方法MINT,利用语言模型语义特性定位并修补最少数量(通常一至两个)的关键神经元,在三个代码生成任务上显著优于现有方法,实现高效、精确且可靠的代码语言模型修复。
2024-11-20 cs.CL cs.LG cs.SE
Towards a Pattern-based Automatic Generation of Logical Specifications for Software Models
这项工作涉及到自动生成的逻辑规范,被认为是一套时间逻辑公式,直接从开发的软件模型中提取。提取过程是基于这样的假设,即整个开发模型的结构只使用预定义的工作流模式。提出了一种工作流模式到逻辑规范的自动转换方法。应用所提出的概念,使弥合之间的差距的正确性验证过程中获得完整的逻辑规范的困难和演绎推理的好处。
2014-06-26 cs.SE
AutoWIG: Automatic Generation of Python Bindings for C++ Libraries
大多数Python和R科学包都包含编译的科学库,以加速代码并重用遗留库。虽然有几种半自动的解决方案可以包装这些已编译的库,但包装大型库的过程既麻烦又耗时。在本文中,我们介绍了AutoWIG,一个Python包,使用LLVM/Clang技术和Mako模板引擎将自动编译的库包装成高级语言。我们的方法是自动的,可扩展的,并适用于复杂的C++库,由数千个类或纳入现代元编程结构。
2017-05-31 cs.SE
Toward Granular Automatic Unit Test Case Generation
单元测试验证单个软件组件中是否存在故障。以前的研究一直针对自动生成的单元测试,通过采用随机或基于搜索的算法。尽管这些方法很有效,但它们并没有实现任何允许它们以结构化的方式创建单元测试的策略:实际上,它们的目标是通过优化代码覆盖率等指标来创建测试,而不确保最终的测试遵循良好的设计原则。为了构建自动测试用例生成过程,我们提出了一个两步系统的方法来生成单元测试:我们首先迫使基于搜索的算法来创建测试,覆盖生产代码的各个方法,从而实现所谓的内部方法测试;然后,我们放松约束,使创建内部类测试的目标生产代码方法之间的相互作用。
2022-04-12 cs.SE
Automatic Test Generation for Space
欧洲航天局(ESA)使用发动机在地面部分基础设施中进行测试,特别是操作模拟器。该引擎使用许多不同的工具来确保回归测试基础设施的开发,并且这些测试对C++模拟器实现执行黑盒测试。VST(VisionSpace Technologies)是为ESA提供这些服务的公司之一,他们需要一个工具来从现有的C++代码中自动推断测试,而不是手动编写脚本来执行测试。考虑到这一动机,本文探讨了自动测试方法和工具,以提出一个系统,满足VST的需求。
2012-06-22 cs.SE
A Critical Review of "Automatic Patch Generation Learned from Human-Written Patches": Essay on the Problem Statement and the Evaluation of Automatic Software Repair
在ICSE'2013上,有史以来第一次专门用于自动程序修复的会议。在这次会议上,Kim等人介绍了PAR,这是一种用于修复Java bug的基于模板的新方法。我们强烈反对这篇文章的主要观点。我们的评论有两个目标。首先,我们的目的是解释为什么我们不同意金和同事,为什么这种分歧背后的原因是重要的自动软件修复的研究一般。其次,我们的目标是通过澄清自动软件修复背后的基本思想来为该领域做出贡献。特别讨论了软件自动修复的主要评价标准:可理解性、正确性和完整性。我们表明,根据如何设置修复方案,评估目标可能是矛盾的。最后,我们讨论了修复的可接受性的性质和它的关系,软件正确性的概念。
2014-08-09 cs.SE
A Survey of Automatic Generation of Source Code Comments: Algorithms and Techniques
作为源代码文件的一个组成部分,代码注释有助于提高程序的可读性和可理解性。然而,开发人员有时并没有对他们的程序代码进行充分的注释,这是由于额外的努力,缺乏相关知识,没有意识到代码注释的重要性或其他一些因素。因此,代码注释可能不充分、缺失甚至与源代码不匹配,影响了对软件的理解、重用和维护。为了解决代码注释的这些问题,研究人员一直关注自动生成代码注释。在这项工作中,我们的目标是进行自动代码注释研究的调查。首先,我们概括性地分析了程序注释自动生成的挑战和研究框架。其次,我们给出了代表性算法的分类,每类算法的设计原则,优缺点。同时,我们也提供了一个生成的评论的质量评估的概述。最后,我们总结了一些未来的发展方向,提高技术的自动生成代码注释和质量评估的意见。
2019-07-25 cs.SE
GAP-Gen: Guided Automatic Python Code Generation
University of California, Irvine(加州大学欧文分校)
提出GAP-Gen方法,通过Syntax-Flow和Variable-Flow引入Python语法与语义约束,改进微调过程,在多个数据集上微调T5和CodeT5,显著提升自动Python代码生成性能。
2023-05-10 cs.CL cs.LG cs.PL
Automatic Code Documentation Generation Using GPT-3
源代码文档是高效软件开发的重要工件。代码文档可以大大受益于自动化,因为手动文档通常是劳动,资源和时间密集型的。在本文中,我们使用Codex来自动创建代码文档。Codex是一个基于GPT-3的模型,在自然语言和程序设计语言上进行了预训练。我们发现,即使在一次性学习(即,仅提供一个用于训练的示例)。Codex在六种不同的程序设计语言上获得了20.6的BLEU总分(比早期的最先进技术提高了11.2%)。因此,Codex显示了前景,并保证了未来对自动代码文档生成的深入研究,以支持各种开发任务。
2022-09-06 cs.SE
Towards Automatic Generation of Short Summaries of Commits
提交到版本控制系统意味着向系统提交软件更改。每个提交都可以有一个消息来描述提交。已经提出了几种方法来自动生成这样的消息的内容。然而,自动生成的信息的质量远远低于人类所写的。在研究自动生成的信息和人类书写的信息之间的差异时,我们发现82%的人类书写的信息只有一句话,而自动生成的信息通常有多行。此外,我们发现提交消息通常以动词开头,后跟直接宾语。这一发现启发我们在本文中使用“动词+对象”格式来生成简短的提交摘要。我们将方法分为两个部分:动词生成和对象生成。作为我们的第一次尝试,我们训练了一个分类器来将diff分类为动词。在我们继续为提交生成直接对象之前,我们正在寻求社区的反馈。
2017-03-28 cs.SE
gDoc: Automatic Generation of Structured API Documentation
对于不断发展的API来说,生成和维护完整性和一致性的API文档可能是耗时且昂贵的。为了解决这个问题,已经提出了几种方法来自动生成高质量的API文档的基础上,从不同的Web资源的知识的组合。然而,目前的研究是薄弱的,在处理不流行的API,不能生成结构化的API文档。因此,在这张海报中,我们提出了一种混合技术(即\textit{gDoc}),用于自动生成结构化的API文档。首先提出了一种基于细粒度搜索的策略,通过计算API之间的相关性来生成部分API参数的描述,保证了API文档的一致性。然后,我们采用跨模态预训练Seq2Seq模型M6为每个API生成结构化的API文档,将文档生成问题视为翻译问题。最后,我们提出了一个启发式算法,从API请求日志中提取实际参数的例子。在线系统上的实验表明,该方法显著提高了API文档生成的有效性和效率。
2023-03-23 cs.SE
Automatic Test Data Generation and Model Checking with CHR
我们提出了一个例子,应用约束处理规则自动测试数据生成和模型检验验证的任务关键软件的卫星控制。
2014-06-09 cs.PL cs.SE
Automatic Generation of Programming Exercises
随着信息技术行业需求的不断增长,对开发人员的大规模培训要求教师将重复性任务自动化。对于编程培训课程,有希望使用自动生成和自动评分的练习,需要学生写一个程序。本文讨论了构造编程练习生成器的一般方案,并确定了两类练习,其生成可以自动化:将符号转换为代码和转换数据格式。讨论了几个编程练习生成器的例子。简要介绍了在Python编程课程中使用练习生成器的经验。
2022-05-23 cs.PL cs.SE
EPiT : A Software Testing Tool for Generation of Test Cases Automatically
软件测试用例可以定义为一组测试条件,测试人员需要在这些条件下测试并确定被测系统(SUT)是否正确地满足预期结果。讨论了利用EpiT(EclipsePlug-inTool)自动生成实例的优化技术。EpiT的开发是为了优化从源代码生成测试用例,以减少传统的手动创建测试用例所花费的时间。通过使用代码气味功能,EpiT可以通过检查Java程序的代码行(code-line)来自动生成测试用例。EpiT的实施也将根据几个案例研究,以显示所生成的测试用例的优化。实验结果表明,EpiT可以解决软件测试人员手工生成测试用例和使用代码气味技术从源代码检查优化的问题。
2020-07-22 cs.SE
Improving The Effectiveness of Automatically Generated Test Suites Using Metamorphic Testing
自动化测试生成有助于降低软件测试的成本。然而,为这些自动生成的测试输入开发有效的测试预言机是一项具有挑战性的任务。因此,大多数自动化测试生成工具使用的是一些琐碎的预言机,这些预言机降低了这些自动生成的测试用例的故障检测效率。在这项工作中,我们提供了一个实证研究的结果表明,利用变形关系可以提高自动生成的测试用例的故障检测效率。
2020-04-18 cs.SE
Code Swarm: A Code Generation Tool Based on the Automatic Derivation of Transformation Rule Set
本文提出代码生成工具Code Swarm(CodS),利用群体智能方法从类模型和状态模型自动生成Java代码,无需显式转换规则集或元模型信息,并通过电梯控制系统案例验证了生成代码的正确性与一致性。
2023-12-03 cs.SE
Alleviating Patch Overfitting with Automatic Test Generation: A Study of Feasibility and Effectiveness for the Nopol Repair System
在许多不同种类的程序修复技术中,一个被广泛研究的技术家族被称为基于测试集的修复。然而,测试套件本质上是输入输出规范,因此通常不足以完全指定修复下的程序的预期行为。因此,基于测试集的修复技术生成的补丁只能过拟合到使用过的测试集,而不能推广到其他测试。对程序修复中的过拟合问题进行了深入的分析,并对过拟合问题进行了分类。这种分类将有助于社区更好地理解和设计技术来解决过拟合问题。我们进一步提出并评估了一种称为UnsatGuided的方法,该方法旨在通过自动生成测试用例来缓解基于合成的修复技术的过拟合问题。该方法使用额外的自动生成的测试,以加强修复约束所使用的合成为基础的修复技术。我们分析了Unsat Guided的有效性:1)分析性地缓解了两种不同类型的过拟合问题; 2)基于对Defects 4J存储库的224个错误的实验进行经验性分析。主要结果是,自动测试生成是有效的,在缓解一种过拟合问题-回归介绍,但由于预言机的问题,对缓解另一种过拟合问题-不完全固定的积极影响很小。
2018-10-24 cs.SE
Opaque Response Generation Enabling Automatic Creation of Virtual Services for Service Virtualisation
服务虚拟化是一种创建虚拟服务模型的方法,该模型可以模拟被测系统与目标系统之间的交互行为。通过服务虚拟化,开发团队可以随时随地访问类似生产的条件,从而实现频繁和全面的测试。以前的服务虚拟化技术依赖于服务专家对目标服务进行显式建模,并需要详细的消息协议和结构知识。然而,这两种都不一定可用。在这篇论文中,我们介绍了我们的新的不透明响应生成方法。这种方法使服务能够自动虚拟化,而无需任何系统协议和交互行为的专业知识或文档。给定被测系统与目标真实服务之间的交互集合,我们的方法可以:1)将相同类型的交互组织到同一个簇中,并为每个簇导出一个簇原型; 2)在交互库中搜索给定的传入请求,以寻找与之最相似的请求; 3)从传入请求和记录的交互中学习知识;以及4)生成响应。我们的不透明的响应生成方法的框架和概念验证的实现进行了描述。实验结果表明,我们的不透明的响应生成方法是能够自动生成准确的响应,在实时的,平均准确率超过99%。
2016-08-17 cs.SE
Automatic Generation of Challenging Road Networks for ALKS Testing based on Bezier Curves and Search
Graz University of Technology(格拉茨工业大学);Institute for Software Technology(软件技术研究所);Christian Doppler Laboratory for Quality Assurance Methodologies for Autonomous Cyber-Physical Systems(克里斯蒂安·多普勒自主网络物理系统质量保障方法实验室)
在本文中,我们概述了一种自动生成具有挑战性的道路网络的自动车道保持系统的虚拟测试的方法。基于一组控制点,我们构建了一个参数曲线,代表一个道路网络,它定义了动态驾驶任务的自动车道保持系统装备的车辆必须执行。更改控制点会对生成的道路几何图形产生全局影响。我们的方法使用搜索找到一组控制点,结果在一个具有挑战性的道路几何形状,最终迫使车辆离开预期path.We评估我们的方法在三个不同的搜索配置的测试效率和实用性的自动虚拟测试的自动车道保持系统。
2021-03-01 cs.RO cs.SE
quAssert: Automatic Generation of Quantum Assertions
函数验证对于检测量子计算过程中的任何错误都是必要的。使用运行时断言来调试量子线路是有希望的途径。然而,现有的方法依赖于验证工程师的专业知识来手动设计并在合适的位置插入断言。在本文中,我们提出了基于静态分析和随机采样的量子线路的量子断言的自动生成和放置。具体而言,本文作出了两个重要贡献。我们利用统计方法自动揭示了量子线路的特殊性质,如纯经典态、叠加态和纠缠态。我们还执行量子断言的自动放置,以最大限度地提高功能覆盖率,并最大限度地减少硬件开销。我们使用一套量子基准测试,包括Shor的因子分解算法和Grover的搜索算法,证明了生成的断言在错误检测中的有效性。
2023-03-02 cs.SE quant-ph
Automatic SDF-based Code Generation from Simulink Models for Embedded Software Development
Matlab/Simulink是一种广泛使用的基于模型的嵌入式系统设计工具。支持层次结构,特定领域的构建块,功能仿真和自动代码生成,使其非常适合控制和信号处理系统的设计。在这项工作中,我们提出了一个自动翻译方法的Simulink模型的一个子集,以同步的可移植图(SDFGs),包括SDF兼容的嵌入式代码的自动代码生成。由于Simulink面向参与者的建模性质,将Simulink模型转换为SDFG非常合适,允许应用SDFG领域的多种优化技术。由于其定义良好的语义,SDFG可以在编译阶段进行分析,以获得无死锁和内存有效的调度。此外,存在几种实时分析方法,其允许SDFG到片上多处理器(MPSoC)的吞吐量最优映射,同时保证上限延迟。我们的翻译的正确性是合理的集成SDF生成的代码作为一个软件在环(SIL),并将其结果与参考Simulink模型的模型在环(MIL)仿真的结果进行比较。翻译证明了两个案例研究的帮助下:一个传输控制器单元(TCU)和自动气候控制。
2017-01-31 cs.DC cs.SE
Automatic WSDL-guided Test Case Generation for PropEr Testing of Web Services
随着Web服务已经成为现代Web系统的关键组成部分,自动和易于使用,但同时强大和富有表现力的Web服务测试框架变得越来越重要。我们的工作目标是Web服务的全自动测试:理想情况下,用户只指定Web服务预期满足的属性,以输入输出关系的形式,系统处理所有其余的。在本文中,我们详细介绍了该系统的核心组成部分:如何使用Web服务的WSDL规范自动创建测试用例生成器,可以馈送到PropEr,一个基于属性的测试工具,创建结构有效的随机测试用例的操作和检查其响应。虽然这个过程是全自动的,但我们的工具允许用户轻松地修改其输出,以便向生成器添加语义信息或编写测试Web服务更多功能的属性。
2012-10-23 cs.NI cs.SE