DeepIaC - Deep Learning-Based Linguistic Anti-pattern Detection in IaC.

Nemania Borovits, Indika Kumara, Parvathy Krishnan, Stefano Dalla Palma, Dario Di Nucci, Fabio Palomba, Damian A. Tamburri, Willem-Jan van den Heuvel

Research output: Other contributionAcademic

16 Citations (Scopus)

Abstract

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 between 0.785 and 0.915 in detecting inconsistencies.

Original languageEnglish
Number of pages6
Volumeabs/2009.10801
ISBN (Electronic)9781450381246
DOIs
Publication statusPublished - 13 Nov 2020

Funding

FundersFunder number
European Union's Horizon 2020 - Research and Innovation Framework Programme
European CommissionRADON H2020, 825040, 825480

    Keywords

    • Code Embedding
    • Deep Learning
    • Defects
    • IaC
    • Infrastructure Code
    • Linguistic Anti-patterns
    • Word2Vec

    Fingerprint

    Dive into the research topics of 'DeepIaC - Deep Learning-Based Linguistic Anti-pattern Detection in IaC.'. Together they form a unique fingerprint.

    Cite this