
Design and Implementation of a Web-Based Application for Code Smells Repository
Author(s) -
Lida Bamizadeh,
Binod Kumar,
Ajay Kumar,
Shailaja Shirwaikar
Publication year - 2021
Publication title -
tehnički glasnik
Language(s) - English
Resource type - Journals
eISSN - 1848-5588
pISSN - 1846-6168
DOI - 10.31803/tg-20210207102610
Subject(s) - code smell , code refactoring , computer science , code review , software engineering , static program analysis , software quality , software development , code (set theory) , software , kpi driven code analysis , software maintenance , world wide web , programming language , set (abstract data type)
Pitfalls in software development process can be prevented by learning from other people's mistakes. Software practitioners and researchers document lessons learned and the knowledge about best practices is spread over literature. Presence of code smells does not indicate that software won’t work, but it will reveal deeper problems and rising risk of failure in future. Software metrics are applied to detect code smells whereas refactoring can remove code smells, improve code quality and make it simpler and cleaner. Detection tools facilitate management of code smells. Knowledge about code smells and related concepts can assist the software maintenance process. Exploratory analysis of code smells carried out in this paper, covers collecting data about code smells, identifying related concepts, categorizing and organizing this knowledge into a code smell repository, which can be made available to software developers. A detailed literature survey is carried out to identify code smells and related concepts. An initial list of 22 code smells proposed in 1999 has grown over the years into 65 code smells. The relationship between code smells, software metrics, refactoring methods and detection tools available in literature is also documented. Templates are designed that capture knowledge about code smells and related concepts. A code smell repository is designed and implemented to maintain all the information gathered about code smells and related concepts and is made available to software practitioners. All the knowledge about code smells found in literature is collected, organized and made accessible.