论文标题

自动反射代码气味对云软件资源利用的影响

The Impact of Auto-Refactoring Code Smells on the Resource Utilization of Cloud Software

论文作者

Imran, Asif, Kosar, Tevfik

论文摘要

基于云的软件即服务(SaaS)由于其低成本和弹性而闻名。但是,像其他软件一样,SaaS应用程序会遭受代码气味的困扰,这会严重影响功能和资源使用情况。代码气味是源代码中的任何设计,它表明了更深的问题。软件社区部署了自动重构,以消除可以提高性能并减少关键资源使用的气味。但是,分析SaaS中自动重构气味对CPU和记忆等资源的影响的研究已在有限的程度上进行。在这里,我们旨在填补这一空白,并研究由于七种经典代码气味的自动重构而对SaaS应用的资源使用的影响:上帝班级,特征羡慕,类型检查,循环依赖性,shot弹枪手术,上帝方法和意大利面条代码。我们指定了来自Github的六个现实生活中的SaaS应用程序,称为Zimbra,OnEdatashare,Graphhopper,Hadoop,Jena和James在OpenStack Cloud上运行。结果表明,根据JDEODRANT和JSPARROW等工具的重构气味对CPU和记忆消耗的影响很大,并且基于重新定性的气味类型。我们介绍了每种气味的资源利用影响,还讨论了导致这种影响的潜在原因。

Cloud-based software-as-a-service (SaaS) have gained popularity due to their low cost and elasticity. However, like other software, SaaS applications suffer from code smells, which can drastically affect functionality and resource usage. Code smell is any design in the source code that indicates a deeper problem. The software community deploys automated refactoring to eliminate smells which can improve performance and also decrease the usage of critical resources. However, studies that analyze the impact of automatic refactoring smells in SaaS on resources such as CPU and memory have been conducted to a limited extent. Here, we aim to fill that gap and study the impact on resource usage of SaaS applications due to automatic refactoring of seven classic code smells: god class, feature envy, type checking, cyclic dependency, shotgun surgery, god method, and spaghetti code. We specified six real-life SaaS applications from Github called Zimbra, OneDataShare, GraphHopper, Hadoop, JENA, and JAMES which ran on Openstack cloud. Results show that refactoring smells by tools like JDeodrant and JSparrow have widely varying impacts on the CPU and memory consumption of the tested applications based on the type of smell refactored. We present the resource utilization impact of each smell and also discuss the potential reasons leading to that effect.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源