Improving the Understandability of Conceptual Models via Abstract Notation Engineering
本研究提出抽象符号工程方法,将其应用于DCR图形成DeCleaR,通过用高层级语义透明构造替代底层配置,提升了概念模型的可理解性及用户对DCR图的相关质量与偏好。
2026-08-03 cs.SE
Code Vectors: Understanding Programs Through Embedded Abstracted Symbolic Traces
随着机器学习的兴起,人们对将程序视为要馈送给学习算法的数据有很大的兴趣。然而,程序并不是以一种可以立即适用于大多数现成的学习技术的形式开始的。相反,有必要在应用学习技术之前将程序转换为合适的表示。在本文中,我们使用的符号执行程序的表示学习词嵌入获得的痕迹的抽象。我们在数百个参数化下训练了各种词嵌入,并在一系列不同的任务中评估了每个学习到的嵌入。在我们的评估中,我们在一个基准测试中获得了93%的top-1准确率,该基准测试由从Linux内核中提取的19,000多个API使用类比组成。此外,我们发现,嵌入学习(主要)语义抽象提供了近三倍的准确性,那些学习(主要)语法抽象。
2018-08-20 cs.SE
PinChecker: Identifying Unsound Safe Abstractions of Rust Pinning APIs
本文提出 PinChecker 工具,通过新中间表示 RPIL 和合成驱动方法,自动检测 Rust 库中固定 API 契约的违反,在 13 个流行库中发现 2 个错误。
2025-06-20 cs.SE
Systematically Thinking about the Complexity of Code Structuring Exercises at Introductory Level
Colgate University(科尔盖特大学);College of St. Benedict / St. John's University(圣本笃学院/圣约翰大学);University of Auckland(奥克兰大学)
本文提出一个框架,用于系统评估初级课程中代码结构练习的复杂性,通过定义重复、代码模式和数据依赖性三个维度,帮助设计提升学生分解与抽象能力的教育任务。
2025-12-05 cs.SE
DeCoMa: Detecting and Purifying Code Dataset Watermarks through Dual Channel Code Abstraction
DeCoMa提出双通道代码抽象方法,通过将代码映射为标准化模板并识别异常关联,实现代码数据集水印的高效检测与净化,在14个场景中达到100%召回率且无需模型训练。
2025-09-21 cs.CR cs.SE
OpenFPM: A scalable open framework for particle and particle-mesh codes on parallel computers
可扩展和有效的数值模拟继续获得重要性,因为计算已被牢固地确立为发现的第三大支柱,与理论和实验并列。与此同时,计算硬件的性能通过增加异构并行性而增长,从而能够模拟越来越复杂的模型。然而,在异构的分布式硬件系统上有效地实现可扩展代码成为瓶颈。这个瓶颈可以通过中间软件层来缓解,这些软件层提供更接近问题域的更高级别的抽象,从而使计算科学家能够专注于仿真。在这里,我们提出OpenFPM,一个开放的和可扩展的框架,提供了一个抽象层的数值模拟使用粒子和/或网格。OpenFPM为离散和连续模型的纯粒子和混合粒子网格模拟以及非模拟代码的共享内存和分布式内存实现提供透明和可扩展的基础设施。该基础设施通过常用数值例程的可移植实现以及第三方库的接口来补充。我们提出的架构和设计的OpenFPM,详细的底层抽象,并基准框架的应用范围从光滑粒子流体动力学(SPH)的分子动力学(MD),离散元方法(DEM),涡方法,模板代码,高维蒙特卡罗采样(CMA-ES),和反应扩散求解器,比较它的当前状态的艺术和现有的软件框架。
2018-04-20 cs.DC cs.MS cs.SE
Design Obligations for Software, with Examples from Data Abstraction and Adaptive Systems
本文提出“设计义务”概念,用于约束设计范式内的允许设计以确保其正确使用,并以数据抽象和基于反馈控制的自适应系统为例进行说明。
2025-03-06 cs.SE
Ludwig: a type-based declarative deep learning toolbox
Uber AI(优步AI)
在这项工作中,我们提出了路德维希,一个灵活的,可扩展的和易于使用的工具箱,允许用户训练深度学习模型,并使用它们来获得预测,而无需编写代码。Ludwig实现了一种基于两个主要抽象的深度学习模型构建的新方法:数据类型和声明性配置文件。数据类型抽象允许更容易的代码和子模型重用,并且由该抽象强加的标准化接口允许封装并使代码易于扩展。声明式模型定义配置文件使没有经验的用户能够获得有效的模型,并提高专家用户的生产力。除了这两项创新,Ludwig还引入了一种通用的模块化深度学习架构,称为编码器-组合器-解码器,可以实例化以执行大量的机器学习任务。这些创新使工程师、其他领域的科学家以及更广泛的受众能够采用深度学习模型来完成他们的任务,具体地帮助其民主化。
2019-09-17 cs.AI cs.CL cs.CV
Reusing Test-Cases on Different Levels of Abstraction in a Model Based Development Tool
基于无缝模型的开发旨在在系统开发过程的所有阶段使用模型。在基于组件的方法的开发过程中,系统的组件在不同的抽象层次上进行描述:在需求工程中,组件模型是相当抽象的高级和未详细说明的,而在实现过程中,组件模型是相当具体和完全指定的,以便能够生成代码生成。出现的一个重要问题是确保具体模型对应于抽象模型。在本文中,我们提出了一种方法,以确保系统组件的具体模型细化为相同的组件更抽象的模型。特别是,我们提倡一个框架,在不同的抽象层次上重用测试用例。我们的方法,即使它不能完全证明的细化,可以用来确保在开发过程中的信心。特别是,我们的目标是细化的要求,表示为非常抽象的模型。除了我们的方法的正式模型,我们讨论了我们的经验与模型驱动的开发过程中的自适应巡航控制(ACC)系统的发展。这使用扩展,我们实现了我们的基于模型的开发工具,并在本文中简要介绍。
2012-02-28 cs.SE
A Domain Specific Language for Performance Portable Molecular Dynamics Algorithms
分子动力学(MD)代码的开发人员面临着重大挑战时,适应现有的模拟软件包,以新的硬件。在不断多样化的硬件环境中,科学家越来越难以成为自己领域(物理/化学/生物学)的专家和低级别并行化和优化代码的专家。为了解决这一挑战,我们描述了一个“分离的关注”的方法,用于开发并行和优化的MD代码:科学专家写代码在一个高抽象级别的域特定语言(DSL),然后翻译成有效的计算机代码的科学程序员。在一个相关的上下文中,一个抽象的偏微分方程的解决方案与网格为基础的方法,最近已实施的(Py)OP 2库。受这种方法的启发,我们开发了一个Python代码生成系统,用于在不同的并行架构上进行分子动力学模拟,包括大规模并行分布式内存系统和GPU。我们通过研究其在不同硬件上的性能和可扩展性来展示自动生成代码的效率,并将其与其他最先进的仿真软件包进行比较。随着数据量的增长,从模拟中提取有物理意义的信息变得越来越具有挑战性,并且需要同样有效的实现。我们的方法的一个特别的优点是这种分析算法的容易表达。我们考虑两种流行的方法推导出的晶体结构的材料从本地环境中的每个原子,显示它们如何可以表示在我们的抽象和实现它们的代码生成框架。
2017-11-13 cs.DC cs.SE physics.comp-ph
From Everything-is-a-File to Files-Are-All-You-Need: How Unix Philosophy Informs the Design of Agentic AI Systems
本文探讨了Unix哲学中的『万物皆文件』理念如何影响代理AI系统的设计,通过统一文件和代码抽象,提升系统维护性、可审计性和操作稳定性。
2026-01-16 cs.SE cs.SY eess.SY
DyMA-Fuzz: Dynamic Direct Memory Access Abstraction for Re-hosted Monolithic Firmware Fuzzing
Adelaide University(阿德莱德大学);CSIRO Data61(澳大利亚联邦科学与工业研究组织数据六一分部)
DyMA-Fuzz通过动态直接内存访问抽象,提升重新托管环境中固件模糊测试的效率和覆盖率。
2026-02-09 cs.CR cs.SE
HELIOS: Hierarchical Graph Abstraction for Structure-Aware LLM Decompilation
Dept. of Electrical Engineering and Computer Science, University of California, Irvine, CA, USA(电气工程与计算机科学系,加州大学伊文斯顿分校)
HELIOS通过结构化图抽象提升LLM反编译的准确性和可编译性,实现功能正确性和语法正确性的提升。
2026-01-31 cs.AI cs.SE
Peel $\mid$ Pile? Cross-Framework Portability of Quantum Software
近年来,各种供应商已经提供了量子软件框架。然而,对于特定于供应商的框架,代码可移植性似乎存在风险,特别是在硬件和软件库尚未达到统一状态的领域,甚至技术的基础方面仍在不断变化。因此,经常建议开发与供应商无关的量子编程语言和框架。这遵循了已建立的架构模式,即在软件栈中引入额外的抽象层,从而堆积抽象层。然而,软件架构也提供了看似不那么抽象的替代方案,即专注于剥离不必要层的问题的硬件特定公式。在这篇文章中,我们定量地和实验性地探索这些战略选择,并从软件实现的角度比较流行的量子框架。我们发现,对于几个具体的,但可推广的问题,要解决的问题的数学公式不仅是足够抽象,并作为精确的描述,但同样是具体的,足以让派生框架特定的实现很少的努力。此外,我们认为,基于对数十种现有量子代码的分析,框架之间的移植实际上是低成本的,因为量子和框架特定的部分在大小方面非常易于管理,通常只有数百行代码。考虑到量子编程实践的当前最先进水平,这导致我们主张剥离不必要的抽象层次。
2022-03-12 cs.SE quant-ph
Repro: An Open-Source Library for Improving the Reproducibility and Usability of Publicly Available Research Code
University of Pennsylvania(宾夕法尼亚大学)
我们介绍了Repro,一个开源库,旨在提高研究代码的可重复性和可用性。该库提供了一个轻量级的Python API,用于在Docker容器中运行研究人员发布的软件,其中包含代码所需的运行时配置和依赖关系。由于每个包的环境设置都由Docker处理,因此用户不必自己进行任何配置。一旦安装了Repro,用户就可以运行图书馆目前支持的30多篇论文的代码。我们希望研究人员看到通过将他们的研究代码包含在Repro中为他人提供的价值,并考虑为他们自己的研究代码添加支持。
2022-04-29 cs.AI cs.CL cs.SE