Zsmell – Code Smell Detection for Open Source Software

Aziz Nanthaamornphong (1), Tanawat Saeang (2), Panyaprach Tularak (3)
(1) College of Computing, Prince of Songkla University, Phuket Campus, Kathu, 83120, Thailand
(2) College of Computing, Prince of Songkla University, Phuket Campus, Kathu, 83120, Thailand
(3) College of Computing, Prince of Songkla University, Phuket Campus, Kathu, 83120, Thailand
Fulltext View | Download
How to cite (IJASEIT) :
Nanthaamornphong, Aziz, et al. “Zsmell – Code Smell Detection for Open Source Software”. International Journal on Advanced Science, Engineering and Information Technology, vol. 10, no. 3, June 2020, pp. 1035-41, doi:10.18517/ijaseit.10.3.10182.
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.

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.

Creative Commons License

This work is licensed under a Creative Commons Attribution 4.0 International License.

Authors who publish with this journal agree to the following terms:

    1. Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
    2. Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
    3. Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).