Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study
Microservice Architecture (MSA) is becoming the predominant direction of new cloud-based applications. There are many advantages to using microservices, but also downsides to using a more complex architecture than a typical monolithic enterprise application. Beyond the normal poor coding practices a...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
MDPI AG
2020-11-01
|
Series: | Applied Sciences |
Subjects: | |
Online Access: | https://www.mdpi.com/2076-3417/10/21/7800 |
id |
doaj-648ae8e8f60743cd81ee238fdb12ebf4 |
---|---|
record_format |
Article |
spelling |
doaj-648ae8e8f60743cd81ee238fdb12ebf42020-11-25T03:59:24ZengMDPI AGApplied Sciences2076-34172020-11-01107800780010.3390/app10217800Automated Code-Smell Detection in Microservices Through Static Analysis: A Case StudyAndrew Walker0Dipta Das1Tomas Cerny2Computer Science, Baylor University, One Bear Place #97141, Waco, TX 76798, USAComputer Science, Baylor University, One Bear Place #97141, Waco, TX 76798, USAComputer Science, Baylor University, One Bear Place #97141, Waco, TX 76798, USAMicroservice Architecture (MSA) is becoming the predominant direction of new cloud-based applications. There are many advantages to using microservices, but also downsides to using a more complex architecture than a typical monolithic enterprise application. Beyond the normal poor coding practices and code smells of a typical application, microservice-specific code smells are difficult to discover within a distributed application setup. There are many static code analysis tools for monolithic applications, but tools to offer code-smell detection for microservice-based applications are lacking. This paper proposes a new approach to detect code smells in distributed applications based on microservices. We develop an MSANose tool to detect up to eleven different microservice specific code smells and share it as open-source. We demonstrate our tool through a case study on two robust benchmark microservice applications and verify its accuracy. Our results show that it is possible to detect code smells within microservice applications using bytecode and/or source code analysis throughout the development process or even before its deployment to production.https://www.mdpi.com/2076-3417/10/21/7800microservicecloud-computingcode smellscode-analysisquality assurance |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
Andrew Walker Dipta Das Tomas Cerny |
spellingShingle |
Andrew Walker Dipta Das Tomas Cerny Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study Applied Sciences microservice cloud-computing code smells code-analysis quality assurance |
author_facet |
Andrew Walker Dipta Das Tomas Cerny |
author_sort |
Andrew Walker |
title |
Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study |
title_short |
Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study |
title_full |
Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study |
title_fullStr |
Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study |
title_full_unstemmed |
Automated Code-Smell Detection in Microservices Through Static Analysis: A Case Study |
title_sort |
automated code-smell detection in microservices through static analysis: a case study |
publisher |
MDPI AG |
series |
Applied Sciences |
issn |
2076-3417 |
publishDate |
2020-11-01 |
description |
Microservice Architecture (MSA) is becoming the predominant direction of new cloud-based applications. There are many advantages to using microservices, but also downsides to using a more complex architecture than a typical monolithic enterprise application. Beyond the normal poor coding practices and code smells of a typical application, microservice-specific code smells are difficult to discover within a distributed application setup. There are many static code analysis tools for monolithic applications, but tools to offer code-smell detection for microservice-based applications are lacking. This paper proposes a new approach to detect code smells in distributed applications based on microservices. We develop an MSANose tool to detect up to eleven different microservice specific code smells and share it as open-source. We demonstrate our tool through a case study on two robust benchmark microservice applications and verify its accuracy. Our results show that it is possible to detect code smells within microservice applications using bytecode and/or source code analysis throughout the development process or even before its deployment to production. |
topic |
microservice cloud-computing code smells code-analysis quality assurance |
url |
https://www.mdpi.com/2076-3417/10/21/7800 |
work_keys_str_mv |
AT andrewwalker automatedcodesmelldetectioninmicroservicesthroughstaticanalysisacasestudy AT diptadas automatedcodesmelldetectioninmicroservicesthroughstaticanalysisacasestudy AT tomascerny automatedcodesmelldetectioninmicroservicesthroughstaticanalysisacasestudy |
_version_ |
1724454280846376960 |