Live briefing
Everything about Code smell
Characteristic of source code that hints at a quality problem
In computer programming, a code smell is any characteristic of source code that hints at a deeper problem. Determining what a code smell is and is not is subjective, and varies by language, developer, and development methodology. Wikipedia →
🧭 Start here: a 6-step reading path
- Read the overview: Code smellA 5-minute orientation
- Skim a recent paper: Machine Learning-Based Methods for Code Smell Detection: A SurveyInfluential work since 2022
- Pick up a classic book: Compilation of odor and taste threshold values dataThe most-reprinted book on the subject
- Read the landmark paper: Comparing and experimenting machine learning techniques for code smell detectionCited 377 times
- Go sideways: Design smellA closely related topic
- Go sideways: Technical debtA closely related topic
📖 Definitions
Noun Anything in a program's source code that suggests the presence of a design problem.
🗂️ The subject at a glance
🏆 Landmark papers (most cited)
Comparing and experimenting machine learning techniques for code smell detection
Code smell severity classification using machine learning techniques
Deep Learning Based Code Smell Detection
Code-Smell Detection as a Bilevel Problem
A review of code smell mining techniques
Code smell detection using multi-label classification approach
A systematic review on the code smell effect
Code Smell Detection Using Ensemble Machine Learning Algorithms
🆕 Influential since 2022
Machine Learning-Based Methods for Code Smell Detection: A Survey
Code smell detection based on supervised learning models: A survey
On the relative value of imbalanced learning for code smell detection
Research Trends, Detection Methods, Practices, and Challenges in Code Smell: SLR
CoRT: Transformer-based code representations with self-supervision by predicting reserved words for code smell detection
📚 Books worth reading
- 📕Compilation of odor and taste threshold values dataASTM Committee E-18 on Sensory Evaluation of Materials and Products. · 1978
Ranked by number of editions on Open Library, a rough measure of how lasting a book is.
🔗 Related topics
- Design smell In computer programming, a design smell is a structure in a design that indicates a violation of fundamental design principles, and which can negatively…
- Technical debt Technical debt (also known as design debt or code debt) is a qualitative description of the cost to maintain a system that is attributable to choosing…
- Software rot Software rot (bit rot, code rot, software erosion, software decay, or software entropy) is the degradation, deterioration, or loss of the use or performance…
- Code refactoring In computer programming and software design, code refactoring is the process of restructuring existing source code—changing the factoring—without changing…
- Martin Fowler (software engineer) Martin Fowler (18 December 1963) is a British software developer, author and international public speaker on software development, specialising in object-orient…
- Anti-pattern An anti-pattern is any common but counterproductive solution to some class of problem. The term, coined in 1995 by Andrew Koenig, was inspired by the book…
- Extreme programming Extreme programming (XP) is a software development methodology intended to improve software quality and responsiveness to changing customer requirements…
- Data clump In object-oriented programming, a data clump is any group of variables which are passed around together (in a clump) throughout various parts of the program…