Item

DeepIaC: Deep learning-based linguistic anti-pattern detection in IaC

Borovits,N.
Weerasingha Dewage,Indika
Krishnan,P.
Dalla Palma,S.
Di Nucci,D.
Palomba,Fabio
Tamburri,Damian A.
Van Den Heuvel,W.-J.
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.
Description
Date
2020-11
Journal Title
Journal ISSN
Volume Title
Publisher
ACM
Research Projects
Organizational Units
Journal Issue
Keywords
Citation
Borovits, N, Weerasingha Dewage, I, Krishnan, P, Dalla Palma, S, Di Nucci, D, Palomba, F, Tamburri, D A & Van Den Heuvel, W-J 2020, DeepIaC: Deep learning-based linguistic anti-pattern detection in IaC. in MaLTeSQuE 2020 - Proceedings of the 4th ACM SIGSOFT International Workshop on Machine-Learning Techniques for Software-Quality Evaluation, Co-located with ESEC/FSE 2020. ACM, pp. 7-12. https://doi.org/10.1145/3416505.3423564
Embedded videos