迭代遗传改进:扩展随机程序合成
该文提出了一种将程序合成作为连续优化问题的新型方法,并使用现代演化方法解决问题,同时提出了一种映射方案将连续形式转换为实际的程序。通过比较 GENESYS 和其他程序综合技术,证明 GENESYS 在相同的时间预算内综合出更多程序。
Nov, 2022
给出自动软件生成和配置的两个任务,第一个任务进一步分为两个子任务:用基于神经网络的适应度函数和程序跟踪与规范训练的遗传算法合成程序,用协方差矩阵适应演化策略合成程序;第二个任务是使用序列到序列深度学习机制从不同的输入文件(例如软件手册、配置文件、在线博客等)合成大规模软件的配置。
May, 2023
本文提出了一种新的程序合成方法,将寻找最优程序的问题转化为基于强化学习的马尔科夫决策过程, 并将这种方法应用于浮点数 RISC-V 汇编语言的子集上,并结合基于搜索技术的优先搜索树,证明了我们的方法相较于其他基线方法的优越性
Jun, 2018
本文提出了一种新的指导程序综合的方法:在程序综合过程中根据遇到的部分解来学习启动模型,同时提出了一种称之为指导自下而上搜索的程序枚举算法来最大限度地利用模型。这种方法在基准测试中取得了非常显著的性能提升,且所生成的程序与最短解相比几乎一致。
Oct, 2020
利用遗传编程技术开发出一种新的自动化软件测试框架,生成可以重复生成输入值的微程序,从而快速高效地探索软件元件的输入参数范围,同时可应用于多种软件系统。
Feb, 2023
本论文介绍了一种基于语法引导遗传编程的进化程序综合技术,用于发现具有高效性和泛化能力的具有前所未有结构的多重网格方法,从而解决部分微分方程的数值求解问题。该方法的可行性通过 Python 框架 EvoStencils 的实现得到证明。
Dec, 2023
本研究提出了一种新的基于学习的方法来对程序进行超优化,该方法利用无偏估计梯度来学习建议分布以提高程序性能,实验表明,该方法能够在超优化方面显着优于现有的基于规则和基于随机搜索的方法。
Nov, 2016
使用马尔可夫链蒙特卡洛采样器快速探索所有可能的程序空间,将循环无关的二进制超级优化任务表示为随机搜索问题,将变换正确性和性能改进的竞争约束编码为成本函数,虽然我们的方法牺牲了完整性,但我们能够考虑到的程序范围和我们所生产的程序的质量远超过现有的超级优化器,我们的原型实现,STOKE,能够从 llvm -O0 编译的 64 位 X86 二进制代码开始,生成与或胜过启用全面优化的 gcc 生成的代码序列,并且在某些情况下能够胜过专家手写的汇编语言。
Nov, 2012
本文介绍了一种新颖的基因改进技术,用于寻找特定问题的优化 LLVM 传递序列,结果表明此方法具有自动、无需领域专家知识的特点,并成功地实现了优化结果的改进。
Apr, 2022