Zsmell – Code Smell Detection for Open Source Software

Aziz Nanthaamornphong, Tanawat Saeang, Panyaprach Tularak

Abstract


Today, open-source software (OSS) is used in various applications. It has played a vital role in information systems of many user groups such as commercials, research, education, public health, and tourism. It is also a source of additional knowledge for collaborators because this type of software is easily accessible through websites that provide management of version control services such as GitHub. However, a recent study shows an increasing trend in the existence of code smells. In OSS, there is a growing number of code smells that cause software errors. Having a code smell in software is a serious issue since it impacts the software in terms of deployment, maintenance as well as user confidence toward the software. Finding code smells in the early stages of software development would provide for better software maintenance and reliability; thus, researchers invented the Zsmell software system that helps search for code smells in the source code saved in GitHub. Developed systems display data related to code smells in each source code version that was modified by collaborators. Thus, the developers will be able to employ the proper refactoring method, which is a change in the internal structure of software without changing the original functionality of the software. We believe that this system will enable open source collaborators to improve the quality of their OSS, especially on code smell reduction and the understanding of various types of code smell commonly found in OSS projects.


Keywords


software engineering; open source software; software maintenance; code smell; software quality.

Full Text:

PDF

References


G. W. Hislop and H. J. C. Ellis, “Humanitarian Open Source Software in Computing Education,†Computer (Long. Beach. Calif)., vol. 50, no. 10, pp. 98–101, 2017.

D. L. Olson, B. Johansson, and R. A. De Carvalho, “Open source ERP business model framework,†Robot. Comput. Integr. Manuf., vol. 50, pp. 30–36, 2018.

V. Cosentino, J. L. C. Izquierdo, and J. Cabot, “A Systematic Mapping Study of Software Development With GitHub,†IEEE Access, vol. 5, pp. 7173–7192, 2017.

E. Katsamakas and M. Xin, “Open source adoption strategy,†Electron. Commer. Res. Appl., vol. 36, p. 100872, 2019.

A. S. Sohal, S. K. Gupta, and H. Singh, “Trust in Open Source Software Development Communities: A Comprehensive Analysis,†Int. J. Open Source Softw. Process., vol. 9, no. 4, pp. 1–19, 2018.

H. Liu, B. Li, Y. Yang, W. Ma, and R. Jia, “Exploring the Impact of Code Smells on Fine-grained Structural Change-proneness,†Int. J. Softw. Eng. Knowl. Eng., vol. 28, no. 1487–1516, Apr. 2018.

A. Cairo, G. Carneiro, and M. Monteiro, “The Impact of Code Smells on Software Bugs: A Systematic Literature Review,†Information, vol. 9, p. 273, Nov. 2018.

T. Sharma and D. Spinellis, “A survey on software smells,†J. Syst. Softw., vol. 138, pp. 158–173, 2018.

M. Paixao, J. Krinke, D. Han, C. Ragkhitwetsagul, and M. Harman, “The Impact of Code Review on Architectural Changes,†IEEE Trans. Softw. Eng., p. 1, 2019.

C. Liu, D. Yang, X. Zhang, B. Ray, and M. M. Rahman, “Recommending GitHub Projects for Developer Onboarding,†IEEE Access, vol. 6, pp. 52082–52094, 2018.

S. Singh and S. Kaur, “A systematic literature review: Refactoring for disclosing code smells in object oriented software,†Ain Shams Eng. J., vol. 9, no. 4, pp. 2129–2151, 2018.

M. Tufano et al., “When and Why Your Code Starts to Smell Bad (and Whether the Smells Go Away),†IEEE Trans. Softw. Eng., vol. 43, no. 11, pp. 1063–1088, 2017.

D. Taibi and V. Lenarduzzi, “On the Definition of Microservice Bad Smells,†IEEE Softw., vol. 35, no. 3, pp. 56–62, 2018.

J. Dexun, M. Peijun, S. Xiaohong, and W. Tiantian, “Detection and Refactoring of Bad Smell Caused by Large Scale,†Int. J. Softw. Eng. Appl., vol. 4, no. 5, pp. 1–13, 2013.

F. A. Fontana, P. Braione, and M. Zanoni, “Automatic detection of bad smells in code: An experimental assessment,†J. Object Technol., vol. 11, no. 2, pp. 1–38, 2012.

G. Vale and E. Figueiredo, “A Method to Derive Metric Thresholds for Software Product Lines,†in Proceedings - 29th Brazilian Symposium on Software Engineering, SBES 2015, 2015, pp. 110–119.

S. Kaur and R. Maini, “Analysis of Various Software Metrics Used To Detect Bad Smells,†Int. J. Eng. Sci., vol. 5, no. 6, pp. 14–20, 2016.

S. McConnell, Code complete. Pearson Education, 2004.

M. Chains, “Message Chains,†2019. [Online]. Available: https://refactoring.guru/. [Accessed: 10-Jul-2019].

A. Yamashita and L. Moonen, “Do developers care about code smells? An exploratory survey,†in Proceedings - Working Conference on Reverse Engineering, WCRE, 2013, pp. 242–251.

S. Lee, H. Baek, and J. Jahng, “Governance strategies for open collaboration: Focusing on resource allocation in open source software development organizations,†Int. J. Inf. Manage., vol. 37, no. 5, pp. 431–437, 2017.

A. Adewumi, S. Misra, N. Omoregbe, B. Crawford, and R. Soto, “A systematic literature review of open source software quality assessment models.,†Springerplus, vol. 5, no. 1, p. 1936, 2016.

O. Franco-Bedoya, D. Ameller, D. Costal, and X. Franch, “Open source software ecosystems: A Systematic mapping,†Inf. Softw. Technol., vol. 91, pp. 160–185, 2017.




DOI: http://dx.doi.org/10.18517/ijaseit.10.3.10182

Refbacks

  • There are currently no refbacks.



Published by INSIGHT - Indonesian Society for Knowledge and Human Development