一句话:指出现有编译器与静态分析局限于单语言,呼吁将静态分析扩展到多语言程序以检测互操作缺陷。
多数编程语言支持外部语言互操作,使开发者能将不同语言实现的模块集成到单一多语言程序中。这虽然提升了表达能力,但语言语义差异要求开发者理解多种语言及其互操作语义。当前编译器不支持互操作的编译期检查,无法帮助开发者避免互操作错误。类似地,现有静态分析与缺陷检测研究主要针对单语言程序。本文旨在拓宽多语言静态分析的视野,推动面向多语言程序的静态分析技术发展,以应对互操作带来的语义复杂性与潜在缺陷。
Most programming languages support foreign language interoperation that allows developers to integrate multiple modules implemented in different languages into a single multilingual program. While utilizing various features from multiple languages expands expressivity, differences in language semantics require developers to understand the semantics of multiple languages and their inter-operation. Because current compilers do not support compile-time checking for interoperation, they do not help developers avoid interoperation bugs. Similarly, active research on static analysis and bug detection has been focusing on programs written in a single language.
DOI 原文 ·
@inproceedings{paperbot5961,
title = {Broadening horizons of multilingual static analysis},
author = {Sungho Lee and Hyogun Lee and Sukyoung Ryu},
booktitle = {ASE},
year = {2020},
doi = {10.1145/3324884.3416558}
}