Code Smells in Infrastructure as Code

被引:26
|
作者
Schwarz, Julian [1 ]
Steffens, Andreas [2 ]
Lichter, Horst [2 ]
机构
[1] Rhein Westfal TH Aachen, Aachen, Germany
[2] Rhein Westfal TH Aachen, Res Grp Software Construct, Aachen, Germany
关键词
D O I
10.1109/QUATIC.2018.00040
中图分类号
TM [电工技术]; TN [电子技术、通信技术];
学科分类号
0808 ; 0809 ;
摘要
Ensuring high quality in software systems is a wellknown and big challenge. Infrastructure as Code (IaC) gathered increasing popularity in recent years, but there is only little research done in terms of quality of this code. Like with programming languages we find a high diversity of languages and technologies. Existing research introduced code smells from traditional software engineering to the popular provisioning tool Puppet, which uses IaC to specify the desired state of environments. Results show that code smells are an adequate method to assess the quality of Puppet code. In this paper we extend the existing research by first applying code the IaC smells to an other technology and investigate if similar results can be achieved. We applied the code smells in two case studies to open and closed source IaC code repositories. The presented results indicate that IaC smells are present in other tools and technologies. Furthermore the results show that IaC smells are agnostic to the applied technology and can be defined on a technology agnostic level. Second, we introduce new code smells from the field of software engineering, which were not covered yet, to the domain of IaC. The paper presents a catalogue of 17 code smells which were applied to Chef and whose implementation is available as Open Source.
引用
收藏
页码:220 / 228
页数:9
相关论文
共 50 条
  • [1] Different Kind of Smells: Security Smells in Infrastructure as Code Scripts
    Rahman, Akond
    Williams, Laurie
    [J]. IEEE SECURITY & PRIVACY, 2021, 19 (03) : 33 - 41
  • [2] The Seven Sins: Security Smells in Infrastructure as Code Scripts
    Rahman, Akond
    Parnin, Chris
    Williams, Laurie
    [J]. 2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2019), 2019, : 164 - 175
  • [3] Survey on Code Smells
    Tian, Ying-Chen
    Li, Ke-Jun
    Wang, Tai-Ming
    Jiao, Qing-Qing
    Li, Guang-Jie
    Zhang, Yu-Xia
    Liu, Hui
    [J]. Ruan Jian Xue Bao/Journal of Software, 2023, 34 (01): : 150 - 170
  • [4] On Finding Model Smells Based on Code Smells
    Eessaar, Erki
    Kaosaar, Ege
    [J]. SOFTWARE ENGINEERING AND ALGORITHMS IN INTELLIGENT SYSTEMS, 2019, 763 : 269 - 281
  • [5] Do code reviews lead to fewer code smells?
    Tuna, Erdem
    Seaman, Carolyn
    Tuzun, Eray
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 2024, 215
  • [6] CODE-SMELLS IN AOP
    Draganescu, Serban
    Tapus, Nicolae
    [J]. UNIVERSITY POLITEHNICA OF BUCHAREST SCIENTIFIC BULLETIN SERIES C-ELECTRICAL ENGINEERING AND COMPUTER SCIENCE, 2010, 72 (04): : 3 - 12
  • [7] An Analytical Study of Code Smells
    Bamizadeh, Lida
    Kumar, Binod
    Kumar, Ajay
    Shirwaikar, Shailaja
    [J]. TEHNICKI GLASNIK-TECHNICAL JOURNAL, 2021, 15 (01): : 121 - 126
  • [8] Visualizing Code Bad Smells
    Hammad, Maen
    Alsofriya, Sabah
    [J]. INTERNATIONAL JOURNAL OF ADVANCED COMPUTER SCIENCE AND APPLICATIONS, 2019, 10 (05) : 281 - 286
  • [9] Visualizing Code Smells: Tables or Code Cities? A Controlled Experiment
    Galperin, Falko
    Koschke, Rainer
    Steinbeck, Marcel
    [J]. 2022 WORKING CONFERENCE ON SOFTWARE VISUALIZATION (IEEE VISSOFT), 2022, : 51 - 62
  • [10] How Do Community Smells Influence Code Smells?
    Palomba, Fabio
    Tamburri, Damian A.
    Serebrenik, Alexander
    Zaidman, Andy
    Fontana, Francesca Arcelli
    Oliveto, Rocco
    [J]. PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 240 - 241