Towards Semantic Detection of Smells in Cloud Infrastructure Code

Automated deployment and management of Cloud applications relies on descriptions of their deployment topologies, often referred to as Infrastructure Code. As the complexity of applications and their deployment models increases, developers inadvertently introduce software smells to such code specifications, for instance, violations of good coding practices, modular structure, and more. This paper presents a knowledge-driven approach enabling developers to identify the aforementioned smells in deployment descriptions. We detect smells with SPARQL-based rules over pattern-based OWL 2 knowledge graphs capturing deployment models. We show the feasibility of our approach with a prototype and three case studies.

[1]  Diomidis Spinellis,et al.  A survey on software smells , 2018, J. Syst. Softw..

[2]  Damian A. Tamburri,et al.  TOSCA Solves Big Problems in the Cloud and Beyond! , 2018, IEEE Cloud Computing.

[3]  Yann-Gaël Guéhéneuc,et al.  On semantic detection of cloud API (anti)patterns , 2019, Inf. Softw. Technol..

[4]  Yann-Gaël Guéhéneuc,et al.  DECOR: A Method for the Specification and Detection of Code and Design Smells , 2010, IEEE Transactions on Software Engineering.

[5]  Frank Leymann,et al.  Pattern-Based Deployment Models and Their Automatic Execution , 2018, 2018 IEEE/ACM 11th International Conference on Utility and Cloud Computing (UCC).

[6]  Diomidis Spinellis,et al.  Does Your Configuration Code Smell? , 2016, 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR).

[7]  Hanêne Ben-Abdallah,et al.  Anti-Pattern Specification and Correction Recommendations for Semantic Cloud Services , 2017, HICSS.

[8]  Hui Song,et al.  CloudMF: Model-Driven Management of Multi-Cloud Applications , 2018, ACM Trans. Internet Techn..

[9]  Ioannis Stamelos,et al.  SPARSE: A symptom-based antipattern retrieval knowledge-based system using Semantic Web technologies , 2011, Expert Syst. Appl..

[10]  Horst Lichter,et al.  Code Smells in Infrastructure as Code , 2018, 2018 11th International Conference on the Quality of Information and Communications Technology (QUATIC).

[11]  Chris Parnin,et al.  The Seven Sins: Security Smells in Infrastructure as Code Scripts , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE).

[12]  Gerti Kappel,et al.  A Systematic Review of Cloud Modeling Languages , 2018, ACM Comput. Surv..

[13]  Yann-Gaël Guéhéneuc,et al.  UniDoSA: The Unified Specification and Detection of Service Antipatterns , 2019, IEEE Transactions on Software Engineering.

[14]  Zoltán Ádám Mann,et al.  Specification of cloud topologies and orchestration using TOSCA: a survey , 2019, Computing.

[15]  Aldo Gangemi,et al.  Understanding the Semantic Web through Descriptions and Situations , 2003, OTM.