中文

利用项隐藏降低运行时检查开销

网络与互联网体系结构 2017-05-19 v1 信息论 math.IT

摘要

无类型语言最具吸引力的特性之一是项创建和操作的灵活性。然而,这种能力也带来了确保这些操作正确性的责任。一种解决方案是通过断言向程序添加运行时检查,但这可能会引入在许多情况下不切实际的开销。虽然静态分析可以大幅减少此类开销,但其收益很大程度上取决于推断信息的质量。可复用库(即独立于客户端预编译的库模块)在此背景下带来了特殊挑战。我们提出了一种技术,该技术利用模块系统隐藏选定的函子符号集,以显著丰富为可复用库推断的形状信息,并提出了一种改进的运行时检查方法,该方法利用所提出的机制大幅降低开销,使其更接近静态语言的开销水平,即使在可复用库环境中也是如此。尽管该方法是通用的且与系统无关,但为了具体起见,我们在 Ciao 断言语言和静态/动态联合检查框架的背景下对其进行介绍。我们的方法在此背景下保持了断言语言的完全表达能力。与其他方法相比,它不需要将语言切换为(静态)类型系统,已知这会改变 Prolog 等语言的语义。我们还通过实验研究了该方法,并评估了运行时检查中实现的开销降低。

关键词

引用

@article{arxiv.1705.06663,
  title  = {Energy-Sustainable Traffic Steering for 5G Mobile Networks},
  author = {Shan Zhang and Ning Zhang and Sheng Zhou and Jie Gong and Zhisheng Niu and Xuemin and Shen},
  journal= {arXiv preprint arXiv:1705.06663},
  year   = {2017}
}

备注

IEEE Communications Magazine (to appear)