Zhang, Zushuai, Wen, Elliott, Tempero, Ewan · arXiv (Cornell University) · 2025
Dependencies between modules can trigger ripple effects when changes are made, making maintenance complex and costly, so minimizing these dependencies is crucial. Consequently, understanding what drives dependencies is important. One potential factor is code smells, which are symptoms in code that indicate design issues and reduce code quality. When multiple code smells interact through static dependencies, their combined impact on quality can be even more severe. While individual code smells have been widely studied, the influence of their interactions remains underexplored. In this study, we aim to investigate whether and how the distribution of static dependencies changes in the presence of code smell interactions. We conducted a dependency analysis on 116 open-source Java systems to quantify these interactions by comparing cases where code smell interactions exist and where they do not. Our results suggest that overall, code smell interactions are linked to a significant increase in total dependencies in 28 out of 36 cases, and that all code smells are associated with a consistent change direction (increase or decrease) in certain dependency types when interacting with other code smells. Consequently, this information can be used to support more accurate code smell detection and prioritization, as well as to develop more effective refactoring strategies.
Cited by 0Open access
Zhengyi Zhuo · IEEE DataPort · 2025
"This dataset is derived from the CodeXGLUE benchmark, specifically from its code summarization(Code-to-Text) subset featuring Java methods. The original path can be found in the CodeXGLUE dataset's `Code-To-Text\/java` folder. We curated and refined a portion of this dataset to focus on code snippets exhibiting code-smell characteristics (e.g., long methods, mysterious method names, deep nesting), aiming to explore how Large Language Models (LLMs) handle code with design issues when explaining code."
Cited by 0Open access
Hardiansyah, Fadilah Fahrul · Zenodo (CERN European Organization for Nuclear Research) · 2025
This repository contains a unified catalog of code smells specific to declarative UI frameworks
Cited by 0Open access
Felix Barten · Figshare · 2020
This excel sheet contains the data gathered during my master's thesis project. In this project I examined refused bequest and inappropriate intimacy code smells in Java and Python source code. <br>The excel sheet contains the metadata for each of the datasets and how many times each code smell occurred.
Cited by 0Open access
Hardiansyah, Fadilah Fahrul · Zenodo (CERN European Organization for Nuclear Research) · 2025
This repository contains a unified catalog of code smells specific to declarative UI frameworks
Cited by 0Open access
Sarra Habchi · Figshare · 2021
This database was generated from the analysis of 255K commits from 324 Android apps by Sniffer.It contains the full history of 180K Android code smells.<br>This is a PostgreSQL database, use the following commands to access it:<br><pre><code>$ sudo su - postgres</code></pre><pre><code>$ psql</code></pre><pre><code>postgres=> CREATE DATABASE tracker;</code></pre><pre><code>postgres=> CREATE USER tracker WITH PASSWORD 'tracker';</code></pre><pre><code>postgres=> GRANT ALL PRIVILEGES ON DATABASE tracker to tracker;</code></pre><pre>$ psql postgres://localhost:5432/tracker -U tracker < Database_Sniffer.sql</pre><pre>$ psql postgres://localhost:5432/tracker -U tracker</pre><pre>tracker=> set SEARCH_PATH to tracker;</pre>
Cited by 0Open access
Sarra Habchi · Figshare · 2019
This database was generated from the analysis of 255K commits from 324 Android apps by Sniffer.It contains the full history of 180K Android code smells.<br>This is a PostgreSQL database, use the following commands to access it:<br><pre><code>$ sudo su - postgres</code></pre><pre><code>$ psql</code></pre><pre><code>postgres=> CREATE DATABASE tracker;</code></pre><pre><code>postgres=> CREATE USER tracker WITH PASSWORD 'tracker';</code></pre><pre><code>postgres=> GRANT ALL PRIVILEGES ON DATABASE tracker to tracker;</code></pre><pre>$ psql postgres://localhost:5432/tracker -U tracker < Database_Sniffer.sql</pre><pre>$ psql postgres://localhost:5432/tracker -U tracker</pre><pre>tracker=> set SEARCH_PATH to tracker;</pre>
Cited by 0Open access
Barten, Felix · Figshare · 2020
This excel sheet contains the data gathered during my master's thesis project. In this project I examined refused bequest and inappropriate intimacy code smells in Java and Python source code. <br>The excel sheet contains the metadata for each of the datasets and how many times each code smell occurred.
Cited by 0Open access
Anonymous Anonymous · Figshare · 2020
Supplementary material of "On the Assessment of Continuous Detection of Code Smells in Practice: A Controlled Experiment" paper
Cited by 0Open access
Binh Nguyen Thanh · Figshare · 2023
The multi-label code-smell dataset for studies related to multi-label classification
Cited by 0Open access
Nguyen Thanh, Binh · Figshare · 2023
The multi-label code-smell dataset for studies related to multi-label classification
Cited by 0Open access
Code Smell Dataset · Zenodo (CERN European Organization for Nuclear Research) · 2024
Code Smell Taxonomy Research Materials This repository contains the materials used in the research study "A Novel Taxonomy to Capture Code Smells Caused by Refactoring". Contents • experiments_projects/ - ZIP file containing all experiment projects. Each experiment is a folder named after the smell relationship, e.g. Data Clumps_Extract Class_Lazy Class. Inside are before and after refactoring code examples. • validation_projects/ - Open source Java projects JHotDraw and Commons-Codec used to validate taxonomy relationships. • illustrative_examples/ - Projects like Quartz and Checkstyle are used to demonstrate applying the taxonomy for refactoring prioritization and sequencing. • experiments_material/ - Materials from controlled experiments evaluating the taxonomy with developers, including instructions, data, and questionnaires. Replicating the Study To replicate the taxonomy research: Analyze the single-smell projects in experiments_projects/ using the tools mentioned in the paper or use manual factoring. Examine and validate relationships against projects in validation_projects/ Compare your taxonomy outcomes to the taxonomy in the paper Evaluate the taxonomy following the protocol in experiments_material/
Cited by 0Open access
Haneen Alhadeaf, Mubarak Alrashoud · IEEE Access · 2025
Code smell detection is critical for maintaining software quality and enabling effective refactoring, yet much prior work identifies only one smell at a time. This single-label framing misses the real-world complexity where a code element can exhibit multiple co-occurring smells. We address this gap by creating a unified multi-label dataset that combines four existing datasets at two levels—method-level and class-level—covering Long Method (LM), Feature Envy (FE), God Class (GC), and Data Class (DC). Our approach models correlations (co-occurrence) among these smells and links them to Feature Importance analyses to identify the metrics that drive each label. We evaluate three multi-label strategies—Binary Relevance, Label Powerset, and Classifier Chains—paired with Decision Tree and Random Forest.We used a 5-fold stratified cross-validation for each single-level dataset. To prevent data leakage, we implemented a 5-fold GroupKFold for the unified dataset, along with an in-fold grid search for hyperparameter tuning. Performance is reported via Jaccard, Hamming Loss, and Exact Match. On the unified Truth-only dataset, Classifier Chains with Random Forest achieves the highest Jaccard (0.3351), while Binary Relevance with Random Forest attains the lowest Hamming Loss (0.0288) and the highest Exact Match (0.8847). Overall, the unified dataset enables simultaneous detection of multiple smells in one model and protocol, reveals where inter-label correlations are informative (LM–FE) and where they are not (GC–DC), and maintains distribution properties for fair comparison, yielding results that are more realistic and easier to reuse.
Cited by 0Open access
Code Smell Dataset · Zenodo (CERN European Organization for Nuclear Research) · 2024
Code Smell Taxonomy Research Materials This repository contains the materials used in the research study "A Novel Taxonomy to Capture Code Smells Caused by Refactoring". Contents • experiments_projects/ - ZIP file containing all experiment projects. Each experiment is a folder named after the smell relationship, e.g. Data Clumps_Extract Class_Lazy Class. Inside are before and after refactoring code examples. • validation_projects/ - Open source Java projects JHotDraw and Commons-Codec used to validate taxonomy relationships. • illustrative_examples/ - Projects like Quartz and Checkstyle are used to demonstrate applying the taxonomy for refactoring prioritization and sequencing. • experiments_material/ - Materials from controlled experiments evaluating the taxonomy with developers, including instructions, data, and questionnaires. Replicating the Study To replicate the taxonomy research: Analyze the single-smell projects in experiments_projects/ using the tools mentioned in the paper or use manual factoring. Examine and validate relationships against projects in validation_projects/ Compare your taxonomy outcomes to the taxonomy in the paper Evaluate the taxonomy following the protocol in experiments_material/
Cited by 0Open access
Daria Bylieva, Victoria Lobatyuk, Dmitry Kuznetsov et al. · Lecture notes in networks and systems · 2023
Cited by 0
Zexian Zhang, Shuang Yin, Wenliu Wei et al. · 2024
Code smell detection can automatically identify code smells in software source code to help developers to improve code maintainability, readability, and overall code quality. Currently, a wide variety of code smell detection techniques/tools are proposed for practical use. However, it is unclear what practitioners expect for code smell detection tools and whether the existing research meets their needs. To fill the gap, we conduct an empirical study. We first interview 10 software development professionals and subsequently survey 310 software practitioners about their practices and expectations of code smell detection tools. In addition, we conduct an extensive literature review of code smell detection papers published in major publications from 2014 to 2024, and compare current research findings with practitioners' expectations. From this comparison, we highlight the direction in which researchers need to work to develop code smell detection techniques that are important to practitioners.
Cited by 1
Stefan Slinger, Dr. Ing, L. M. F. Moonen et al. · 2005
Refactoring is a software engineering technique that, by applying a series of small behavior-preserving transformations, can improve a software system’s design, readability and extensibility. Code smells are signs that indicate that source code might need refactoring. The goal of this thesis project was to develop a prototype of a code smell detection plug-in for the Eclipse IDE framework. In earlier research by Van Emden and Moonen, a tool was developed to detect code smells in Java source code and visualize them in graph views. CodeNose, the plug-in prototype created in this thesis project, presents code smells in the Tasks View in Eclipse, similar to the way compiler errors and warnings are presented. These code smell reports provide feedback about the quality of a software system. CodeNose uses the Eclipse JDT parser to build abstract syntax trees that represent the source code. A tree visitor detects primitive code smells and collects derived smell aspects, which are written to a fact database and
Cited by 0
Omitted For Double Blind Review · Zenodo (CERN European Organization for Nuclear Research) · 2023
Extension of the operational version of OOC-O written in OWL by adding DepIn-O concepts to capture Dependency Injection Code Smells.
Cited by 0Open access
Omitted For Double Blind Review · Zenodo (CERN European Organization for Nuclear Research) · 2023
Extension of the operational version of OOC-O written in OWL by adding DepIn-O concepts to capture Dependency Injection Code Smells.
Cited by 0Open access
Danyllo Albuquerque · Figshare · 2020
Hi dear researcher, feel free to use any of the following materials. If you have any questions or comments, please do not hesitate to contact by email the authors of this study.<br>
Cited by 0Open access