On the Definition of Microservice Bad Smells
Code smells and architectural smells (also called bad smells) are symptoms of poor design that can hinder code understandability and decrease maintainability. Several bad smells have been defined in the literature for both generic architectures and specific architectures. However, cloud-native appli...
Saved in:
Published in | IEEE software Vol. 35; no. 3; pp. 56 - 62 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
Los Alamitos
IEEE
01.05.2018
IEEE Computer Society |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Abstract | Code smells and architectural smells (also called bad smells) are symptoms of poor design that can hinder code understandability and decrease maintainability. Several bad smells have been defined in the literature for both generic architectures and specific architectures. However, cloud-native applications based on microservices can be affected by other types of issues. In order to identify a set of microservice-specific bad smells, researchers collected evidence of bad practices by interviewing 72 developers with experience in developing systems based on microservices. Then, they classified the bad practices into a catalog of 11 microservice-specific bad smells frequently considered harmful by practitioners. The results can be used by practitioners and researchers as a guideline to avoid experiencing the same difficult situations in the systems they develop. |
---|---|
AbstractList | Code smells and architectural smells (also called bad smells) are symptoms of poor design that can hinder code understandability and decrease maintainability. Several bad smells have been defined in the literature for both generic architectures and specific architectures. However, cloud-native applications based on microservices can be affected by other types of issues. In order to identify a set of microservice-specific bad smells, researchers collected evidence of bad practices by interviewing 72 developers with experience in developing systems based on microservices. Then, they classified the bad practices into a catalog of 11 microservice-specific bad smells frequently considered harmful by practitioners. The results can be used by practitioners and researchers as a guideline to avoid experiencing the same difficult situations in the systems they develop. |
Author | Taibi, Davide Lenarduzzi, Valentina |
Author_xml | – sequence: 1 givenname: Davide surname: Taibi fullname: Taibi, Davide email: davide.taibi@tut.fi organization: Tampere University of Technology – sequence: 2 givenname: Valentina surname: Lenarduzzi fullname: Lenarduzzi, Valentina email: valentina.lenarduzzi@tut.fi organization: Tampere University of Technology |
BookMark | eNp9kL1PwzAUxC1UJNrCzMASiZW0fvFLbI_Q8iW16lCYLTe2has0KXaKxH9PolYMDExvud_dvRuRQd3UlpBroBMAKqfL9SSjICYZIFAGZ2QIkvEUQeKADClHmnLM5QUZxbillObA6JDcreqk_bDJ3Dpf-9Y3ddK4ZOnL0EQbvnxpkwdtkvXOVlW8JOdOV9Fene6YvD89vs1e0sXq-XV2v0jLTMg2FVpvOv8ChHGlQ6MNM1yCMWA5oEHOBDpwsiiLzHFOtaaua7nBnLkCSmRjcnv03Yfm82Bjq7bNIdRdpMooy7MCBUKnmh5VfdcYrFP74Hc6fCugqp9ELdeqn0SdJumI_A9R-lb3T7dB--of7ubIeWvtb4pgOSIg-wH3M20j |
CODEN | IESOEG |
CitedBy_id | crossref_primary_10_1007_s42979_021_00825_z crossref_primary_10_1109_TDSC_2023_3276487 crossref_primary_10_12720_jait_14_4_758_768 crossref_primary_10_1016_j_jss_2023_111829 crossref_primary_10_1016_j_infsof_2021_106539 crossref_primary_10_1109_ACCESS_2022_3170475 crossref_primary_10_1109_ACCESS_2023_3298113 crossref_primary_10_1145_3502724 crossref_primary_10_1016_j_jss_2022_111393 crossref_primary_10_1002_eng2_12441 crossref_primary_10_1109_TPDS_2023_3238429 crossref_primary_10_1016_j_jss_2023_111755 crossref_primary_10_1002_spe_2974 crossref_primary_10_1016_j_jss_2021_110968 crossref_primary_10_1016_j_compag_2022_106897 crossref_primary_10_3390_ijgi11010020 crossref_primary_10_1002_spe_3069 crossref_primary_10_3390_software4010006 crossref_primary_10_1016_j_jss_2024_112110 crossref_primary_10_1016_j_jss_2019_04_066 crossref_primary_10_1145_3532183 crossref_primary_10_1109_ACCESS_2020_3019985 crossref_primary_10_1002_spe_3138 crossref_primary_10_1007_s10664_023_10343_6 crossref_primary_10_3390_app10217800 crossref_primary_10_1016_j_jss_2020_110710 crossref_primary_10_32628_CSEIT241051071 crossref_primary_10_1145_3378064 crossref_primary_10_1109_TCC_2022_3161684 crossref_primary_10_1007_s10664_020_09910_y crossref_primary_10_14778_3484224_3484232 crossref_primary_10_3390_app13031838 crossref_primary_10_1007_s11219_024_09681_5 crossref_primary_10_3390_electronics13081452 crossref_primary_10_1002_spe_3404 crossref_primary_10_1016_j_jss_2020_110885 crossref_primary_10_1007_s00450_019_00407_8 crossref_primary_10_1016_j_infsof_2021_106600 crossref_primary_10_1109_ACCESS_2023_3236165 crossref_primary_10_1109_ACCESS_2024_3486314 crossref_primary_10_1016_j_procs_2019_12_042 crossref_primary_10_1049_tje2_12273 crossref_primary_10_1051_bioconf_20249700122 crossref_primary_10_1109_TPDS_2024_3366533 crossref_primary_10_1016_j_jss_2018_09_082 crossref_primary_10_1007_s10664_023_10308_9 crossref_primary_10_1016_j_jss_2022_111521 crossref_primary_10_1016_j_infsof_2021_106571 crossref_primary_10_1109_MS_2020_3030786 crossref_primary_10_2139_ssrn_4165880 |
Cites_doi | 10.1109/ICSME.2016.33 10.1109/MCC.2017.4250931 10.1145/3120459.3120483 10.1109/TSE.2009.50 10.1109/CSMR.2009.59 10.5220/0006798302210232 10.1016/j.infsof.2017.08.008 |
ContentType | Journal Article |
Copyright | Copyright IEEE Computer Society 2018 |
Copyright_xml | – notice: Copyright IEEE Computer Society 2018 |
DBID | 97E RIA RIE AAYXX CITATION JQ2 |
DOI | 10.1109/MS.2018.2141031 |
DatabaseName | IEEE All-Society Periodicals Package (ASPP) 2005-present IEEE All-Society Periodicals Package (ASPP) 1998-Present IEEE Electronic Library (IEL) CrossRef ProQuest Computer Science Collection |
DatabaseTitle | CrossRef ProQuest Computer Science Collection |
DatabaseTitleList | ProQuest Computer Science Collection |
Database_xml | – sequence: 1 dbid: RIE name: IEEE Electronic Library (IEL) url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/ sourceTypes: Publisher |
DeliveryMethod | fulltext_linktorsrc |
Discipline | Computer Science |
EISSN | 1937-4194 |
EndPage | 62 |
ExternalDocumentID | 10_1109_MS_2018_2141031 8354414 |
Genre | orig-research |
GroupedDBID | -DZ -~X .4S .DC 0R~ 29I 3EH 4.4 5GY 5VS 6IK 7WY 85S 88I 8FE 8FG 8FL 8G5 8R4 8R5 97E 9M8 AAJGR AARMG AASAJ AAVXG AAWTH ABAZT ABJCF ABQJQ ABUWG ABVLG ACGFO ACGOD ACIWK AENEX AETIX AFKRA AFOGA AGCDD AGQYO AGSQL AHBIQ AI. AIBXA AKJIK AKQYR ALLEH ALMA_UNASSIGNED_HOLDINGS ARAPS ARCSS ASUFR ATWAV AZLTO AZQEC BEFXN BENPR BEZIV BFFAM BGLVJ BGNUA BKEBE BKOMP BPEOZ BPHCQ CCPQU CS3 DU5 DWQXO EBS EDO EJD FRNLG GNUQQ GUQSH HCIFZ HZ~ H~9 I-F IBMZZ ICLAB IEDLZ IFIPE IFJZH IPLJI ITG ITH JAVBF K60 K6V K6~ K7- L6V LAI M0C M1Q M2O M2P M43 M7S MS~ O9- OCL OHT P2P P62 PHGZM PHGZT PQBIZ PQBZA PQGLB PQQKQ PROAC PTHSS PUEGO Q2X RIA RIE RNI RNS RXW RZB TAE TN5 UHB UKR UQL VH1 WH7 YZZ ZCG AAYOK AAYXX ABGFU CITATION RIG JQ2 |
ID | FETCH-LOGICAL-c289t-8aab005618dfcf4dad3d791dd1e714d47384f1f96c62f770aa0f194b453f61c43 |
IEDL.DBID | RIE |
ISSN | 0740-7459 |
IngestDate | Wed Aug 13 06:19:59 EDT 2025 Thu Apr 24 22:54:13 EDT 2025 Tue Jul 01 01:48:35 EDT 2025 Wed Aug 27 02:38:08 EDT 2025 |
IsPeerReviewed | true |
IsScholarly | true |
Issue | 3 |
Language | English |
License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html https://doi.org/10.15223/policy-029 https://doi.org/10.15223/policy-037 |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-c289t-8aab005618dfcf4dad3d791dd1e714d47384f1f96c62f770aa0f194b453f61c43 |
Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
PQID | 2035264841 |
PQPubID | 37787 |
PageCount | 7 |
ParticipantIDs | crossref_primary_10_1109_MS_2018_2141031 ieee_primary_8354414 crossref_citationtrail_10_1109_MS_2018_2141031 proquest_journals_2035264841 |
ProviderPackageCode | CITATION AAYXX |
PublicationCentury | 2000 |
PublicationDate | 2018-05-01 |
PublicationDateYYYYMMDD | 2018-05-01 |
PublicationDate_xml | – month: 05 year: 2018 text: 2018-05-01 day: 01 |
PublicationDecade | 2010 |
PublicationPlace | Los Alamitos |
PublicationPlace_xml | – name: Los Alamitos |
PublicationTitle | IEEE software |
PublicationTitleAbbrev | S-M |
PublicationYear | 2018 |
Publisher | IEEE IEEE Computer Society |
Publisher_xml | – name: IEEE – name: IEEE Computer Society |
References | lewis (ref1) 2014 bogard (ref14) 0 ref10 strauss (ref5) 2008 richards (ref11) 2016 ref17 shoup (ref13) 0 ref18 richardson (ref3) 2017 ref8 alagarasan (ref15) 0 ref7 newman (ref2) 2015 ref4 ref6 bryant (ref16) 0 macia (ref9) 0 saleh (ref12) 0 |
References_xml | – ident: ref18 doi: 10.1109/ICSME.2016.33 – year: 0 ident: ref12 article-title: Microservices Antipatterns – year: 2008 ident: ref5 publication-title: Basics of Qualitative Research Techniques and Procedures for Developing Grounded Theory – ident: ref4 doi: 10.1109/MCC.2017.4250931 – year: 2016 ident: ref11 publication-title: Microservices AntiPatterns and Pitfalls – year: 0 ident: ref16 article-title: The Seven (More) Deadly Sins of Microservices – start-page: 167 year: 0 ident: ref9 article-title: Are Automatically-Detected Code Anomalies Relevant to Architectural Modularity? An Exploratory Analysis of Evolving Systems publication-title: Proc 11th Int Conf on Aspect-oriented Software Development (AOSD '12) ACM – year: 2015 ident: ref2 publication-title: Building Microservices – year: 2014 ident: ref1 publication-title: Microservices – year: 0 ident: ref15 article-title: Microservices Antipatterns – year: 0 ident: ref14 article-title: Avoiding Microservice Megadisasters – year: 0 ident: ref13 article-title: From the Monolith to Microservices: Lessons from Google and eBay – ident: ref17 doi: 10.1145/3120459.3120483 – year: 2017 ident: ref3 publication-title: Microservices Patterns – ident: ref7 doi: 10.1109/TSE.2009.50 – ident: ref8 doi: 10.1109/CSMR.2009.59 – ident: ref10 doi: 10.5220/0006798302210232 – ident: ref6 doi: 10.1016/j.infsof.2017.08.008 |
SSID | ssj0005130 |
Score | 2.5533004 |
Snippet | Code smells and architectural smells (also called bad smells) are symptoms of poor design that can hinder code understandability and decrease maintainability.... |
SourceID | proquest crossref ieee |
SourceType | Aggregation Database Enrichment Source Index Database Publisher |
StartPage | 56 |
SubjectTerms | anti-pattern antipattern architectural smell bad smell Cloud computing code smell Interviews Logic gates Maintainability microservice Product development Researchers Service computing Software architecture Software development Software engineering |
Title | On the Definition of Microservice Bad Smells |
URI | https://ieeexplore.ieee.org/document/8354414 https://www.proquest.com/docview/2035264841 |
Volume | 35 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07T8MwELZKJxYKFEShIA8MDHUaJ46TjLyqCikwlErdIj8lREkRTRd-PbbjFvGS2DL4Iufu7LtzPn8HwHkWqyhkEUZcJhSZCMUQF4oizq2D4IRrR19c3NPxlNzNklkLDDZ3YZRSDnymAvvo_uXLhVjZo7KhPaRwXau3TOHW3NX6hHNg11fERMQQpSTJPY0PDvNhMbEQriyILKYxxl8ikGup8mMfdsFl1AHFeloNpuQ5WNU8EO_fGBv_O-9dsOOzTHjZuMUeaKlqH3TWHRygX9BdMHiooMkA4Y3ST5UDb8GFhoUF6S2bTQReMQknL2o-Xx6A6ej28XqMfP8EJEwZVaOMMe6oPjOphSaSyVimOZYSqxQTSdI4IxrrnAoa6TQNGQs1zgknSawpFiQ-BO1qUakjACnDighTfKWxIEqnjEV5JM03MRoqLWQPBGudlsKTi9seF_PSFRlhXhaT0hqh9EbogYuNwGvDq_H30K5V6WaY12YP9NdGK_26Wxo5y_dPMoKPf5c6Adv23Q1ksQ_a9dtKnZq0ouZnzp8-AKn9xuM |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07T8MwED5VZYCFAgVRKOCBgYGEOHFeI6-qQANDW4kt8lNClBTRdOHXYztpES-JLYNPce7Ovjvn83cAx0kgfY_62GEijBwdoajDuIwcxoyD4JApS1-c3Uf9Mbl9DB8bcLq8CyOltOAz6ZpH-y9fTPncHJWdmUMK27V6Rcf9EFe3tT4BHdh2FtEx0XNiEqY1kQ_20rNsaEBciesbVGOAv8Qg21Tlx05sw0uvBdliYhWq5Nmdl8zl7984G_878w1Yr_NMdF45xiY0ZLEFrUUPB1Qv6TacPhRI54DoSqqnwsK30FShzMD0ZtU2gi6oQMMXOZnMtmHcux5d9p26g4LDdSFVOgmlzJJ9JkJxRQQVgYhTLASWMSaCxEFCFFZpxCNfxbFHqadwShgJAxVhToIdaBbTQu4CiiiWhOvyKw44kSqm1E99ob-JRp5UXHTAXeg05zW9uOlyMcltmeGleTbMjRHy2ggdOFkKvFbMGn8PbRuVLofV2uxAd2G0vF55My1nGP9JQvDe71JHsNofZYN8cHN_tw9r5j0VgLELzfJtLg90klGyQ-tbHznyyiw |
openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=On+the+Definition+of+Microservice+Bad+Smells&rft.jtitle=IEEE+software&rft.au=Taibi%2C+Davide&rft.au=Lenarduzzi%2C+Valentina&rft.date=2018-05-01&rft.pub=IEEE+Computer+Society&rft.issn=0740-7459&rft.eissn=1937-4194&rft.volume=35&rft.issue=3&rft.spage=56&rft_id=info:doi/10.1109%2FMS.2018.2141031&rft.externalDBID=NO_FULL_TEXT |
thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0740-7459&client=summon |
thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0740-7459&client=summon |
thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0740-7459&client=summon |