Safe-DS:一种使数据科学安全的领域特定语言
软件工程
2023-04-10 v2 机器学习
编程语言
摘要
由于数据科学(DS)流水线运行时间长,即便微小的编程错误若未被静态检测,也可能代价高昂。然而,DS流水线的基本静态类型检查十分困难,因为大多用Python编写。Python中的静态类型仅通过外部linter可用,这些linter要求对函数参数或结果进行静态类型标注,而许多DS库并不提供。本文展示了如何通过Safe-DS(一种面向DS的领域特定语言(DSL))以静态安全的方式使用丰富的Python DS库。Safe-DS可捕获常规类型错误以及涉及范围限制、数据操作和函数调用顺序的错误,远超当前Python linter的能力。Python库通过一种存根语言集成到Safe-DS中,用于指定其声明接口,以及一个API编辑器,能从Python库的代码与文档中提取类型信息并自动生成合适的存根。此外,Safe-DS以图形化表示补充文本DS流水线,通过防止语法错误来简化安全开发。文本与图形视图的无缝同步使开发者始终可选择最适合其技能与当前任务的视图。我们认为Safe-DS能使DS开发更轻松、更快速、更可靠,显著降低开发成本。
引用
@article{arxiv.2302.14548,
title = {Safe-DS: A Domain Specific Language to Make Data Science Safe},
author = {Lars Reimann and Günter Kniesel-Wünsche},
journal= {arXiv preprint arXiv:2302.14548},
year = {2023}
}
备注
Accepted for the NIER Track of the 45th International Conference on Software Engineering (ICSE 2023)