All reviews of published articles are made public. This includes manuscript files, peer review comments, author rebuttals and revised materials. Note: This was optional for articles submitted before 13 February 2023.
Peer reviewers are encouraged (but not required) to provide their names to the authors when submitting their peer review. If they agree to provide their name, then their personal profile page will reflect a public acknowledgment that they performed a review (even if the article is rejected). If the article is accepted, then reviewers who provided their name will be associated with the article itself.
Congratulations, the reviewers are satisfied with the revised version of the manuscript and recommended an accept decision.
[# PeerJ Staff Note - this decision was reviewed and approved by Xiangjie Kong, a PeerJ Section Editor covering this Section #]
The paper is well written and organized in logical manner. Background literature is well cited. Formal results include clear definitions and well supported by analysis.
It is now well addressed along with thorough investigation, and analysis.
Experiments are well conducted and and conclusions are well articulated.
Results are well supported and meet required standards.
Authors have addressed all comments in satisfactorily manner.
Therefore paper can be accepted for publications.
Some of the comments of one of reviewers re-work. Please address these comments and re-submit for further consideration.
[# PeerJ Staff Note: It is PeerJ policy that additional references suggested during the peer-review process should *only* be included if the authors are in agreement that they are relevant and useful #]
Reported in the first review report.
Reported in the first review report.
Reported in the first review report.
The author has addressed a few of the comments. However, there is still a need for further revisions to enhance the manuscript's credibility and bring it up to the standard of the journal.
1. It would be beneficial to include specific references that support the descriptions of Greedy Search, Backward Elimination, and other algorithms mentioned in the paper. This will not only enhance the credibility of your research but also provide a solid foundation for further research in the field.
2. In Tables 2 and 3, the step numbering and its corresponding descriptions are not properly aligned, making it difficult to read. It is suggested that the Stacking Ensemble Algorithm and Greedy Search Algorithm be presented in a different format, such as a flowchart or a step-by-step guide, to improve readability. This could involve aligning the steps and descriptions in a more structured manner.
3. It is crucial to provide a detailed explanation of the working principles of the Stacking Ensemble Algorithm, Greedy Search Algorithm, and Backward Elimination Algorithm. Additionally, as complexity is a key factor in algorithm performance evaluation, it is important to mention the time complexities of the proposed algorithm. In the RESEARCH IMPLICATIONS section, you mentioned that 'Dynamic stacking ensembles result in less complex models…', but the complexity of this algorithm is not mentioned in the manuscript. This information is crucial for comprehensively understanding your research and its implications.
4. A few relevant recent references could be included in this paper to enrich the manuscript. A few references belong to code smells utilizing machine learning, and ensemble learnings are not included, as suggested previously.
No comment. The author addressed all issues reported in the previous review.
No comment. The author addressed all issues reported in the previous review.
No comment. The author addressed all issues reported in the previous review.
The author addressed all issues reported in the previous review.
Based on the reviewers’ comments, you may resubmit the revised manuscript for further consideration. Please consider the reviewers’ comments carefully and submit a list of responses to the comments along with the revised manuscript.
**PeerJ Staff Note:** It is PeerJ policy that additional references suggested during the peer-review process should only be included if the authors agree that they are relevant and useful.
**PeerJ Staff Note:** Please ensure that all review and editorial comments are addressed in a response letter and that any edits or clarifications mentioned in the letter are also inserted into the revised manuscript where appropriate.
**Language Note:** The review process has identified that the English language must be improved. PeerJ can provide language editing services - please contact us at [email protected] for pricing (be sure to provide your manuscript number and title). Alternatively, you should make your own arrangements to improve the language quality and provide details in your response letter. – PeerJ Staff
The article is well written for Professional English Language viewpoint.
The author has included sufficient literature references. In Literature review section, it would be better to highlight the deficiencies of the current-state-of-the-art.
From Professional article structure perspective, research contributions should be listed in introduction section. Furthermore, a research methodology section should be added, highlighting the research objectives, questions as well as their rationale. Moreover, Threats to validity section needs to be added. The research implication section is also missing.
The formal results are presented. However, the results should be discussed according to formulated research questions.
The references of the considered formulas (equations) need to be provided.
The authors have utilised greedy search and backward
elimination techniques. However, Greedy technique never ensure global optimal solution. No back tracking and also suffer from combinatorial explosion problem. On the other hand, Backward elimination is computationally expensive, and having a risk of over fitting. The author needs to provide the rationale and justification about the selection of considered methodologies.
The rationale of the focused code smells need to be explicitly mentioned.
Better to include threats to validity section.
It is suggested to provide the employed data for the study replication purpose.
Paper provides sufficient background/context for the study. However there is need to include recent related references to enrich it further. Please see detailed report attached herewith.
The study is interesting and these is need of cross language code smell detection studies. Research questions are well defined and relevant. Investigation and experiment is through. There is scope of improvement. Please see report attached herewith.
This part is well addressed however it could be elaborated further to strengthen it further,
The paper proposes using dynamic ensembles implemented through two strategies: greedy search and backward elimination. The authors argue that these strategies can accurately detect code smells in two programming languages (i.e., Java and Python) and are less complex than complete stacking ensembles.
The author should have explained the criteria for selecting the studies in the literature review section.
The author should have explained the criteria for selecting the studies in the literature review section.
The text needs to present the references appropriately formatted throughout the sections. The Introduction section's first sentence illustrates this: “Code smells refer to poor design and implementation choices by software engineers that compromise overall software quality Yamashita and Moonen (2013)”.
The last paragraph of the Introduction presents the structure of the paper. However, it does not mention the name of each section, which can cause an inevitable confusion for the reader.
The text does not present the criteria for selecting Greedy Search (GS) and Backward Elimination (BE) strategies to select models in the dynamic stacking ensembles. Are there any reasons for this choice? Why not evaluate other strategies?
There is no discussion about the threats to the validity of the empirical study. For example, the text does not appropriately discuss the impact of the decision to use code smells from two different programming languages: Java and Python.
The main strength of the paper is the literature review that presents an overview of the use of ensemble learning for code smell detection and the evaluation of an approach based on dynamic stacking ensembles to surpass the effectiveness of complete stacking ensembles to detect code smells.
All text and materials provided via this peer-review history page are made available under a Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.