DeepIaC:IaC中基于深度学习的语言反模式检测
DeepIaC: Deep Learning-Based Linguistic Anti-pattern Detection in IaC
摘要:
语言反模式是重复出现的关于实体的命名、文档和实现之间不一致的不良实践。它们妨碍了源代码的可读性、可理解性和可维护性。本文试图检测语言反模式的基础设施作为代码(IaC)脚本用于配置和管理计算环境。特别是,我们考虑IaC代码单元的逻辑/主体与其名称之间的不一致。为此,我们提出了一种新的自动化方法,采用词嵌入和深度学习技术。我们建立并使用IaC代码单元的抽象语法树来创建它们的代码嵌入。我们对从开源数据库中系统提取的数据集的实验表明,我们的方法在检测不一致性方面的准确率在0.785和0.915之间
英文摘要:
Linguistic anti-patterns are recurring poor practices concerning inconsistencies among the naming, documentation, and implementation of an entity. They impede readability, understandability, and maintainability of source code. This paper attempts to detect linguistic anti-patterns in infrastructure as code (IaC) scripts used to provision and manage computing environments. In particular, we consider inconsistencies between the logic/body of IaC code units and their names. To this end, we propose a novel automated approach that employs word embeddings and deep learning techniques. We build and use the abstract syntax tree of IaC code units to create their code embedments. Our experiments with a dataset systematically extracted from open source repositories show that our approach yields an accuracy between0.785and0.915in detecting inconsistencies
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。