中文

CodePod:一种用于交互式开发的语言无关分层作用域系统

软件工程 2025-08-01 v2 编程语言

摘要

诸如 Jupyter Notebook 之类的交互式开发环境通过单元格和即时反馈实现增量式编码,但其线性结构和全局命名空间限制了大型软件项目的可扩展性。我们提出 CodePod,一种 Jupyter 的分层扩展,引入了具有形式语义的新型作用域执行模型。我们的关键贡献是一个语言无关的运行时系统,该系统执行源级转换以实现分层作用域规则,从而无需特定语言的内核修改即可实现跨嵌套模块的真实增量求值。我们将作用域语义形式化为具有精确可见性关系的数学框架,并证明了包括符号解析唯一性和解析算法正确性在内的关键性质。一项由七名资深开发者参与的定性用户研究表明,与 Jupyter 相比,CodePod 在项目可扩展性方面有显著改进,且导航开销明显降低。我们在具有数千行代码的大规模项目上验证了系统的有效性,展示了其超越传统笔记本边界的适用性。我们的工具是开源的,可在 https://codepod.io 获取。

关键词

引用

@article{arxiv.2301.02410,
  title  = {CodePod: A Language-Agnostic Hierarchical Scoping System for Interactive Development},
  author = {Hebi Li and Forrest Sheng Bao and Qi Xiao and Jin Tian},
  journal= {arXiv preprint arXiv:2301.02410},
  year   = {2025}
}