skip to main content
10.1145/3399715.3399955acmotherconferencesArticle/Chapter ViewAbstractPublication PagesaviConference Proceedingsconference-collections
demonstration

cASpER: A Plug-in for Automated Code Smell Detection and Refactoring

Published: 02 October 2020 Publication History

Abstract

During software evolution, code is inevitably subject to continuous changes that are often performed by developers within short and strict deadlines. As a consequence, good design practices are often sacrificed, possibly leading to the introduction of sub-optimal design or implementation solutions, the so-called code smells. Several studies have shown that the presence of code smells makes the source code more change- and fault-prone, reduces productivity, and causes greater rework and more significant design efforts for developers. Refactoring is the practice that developers may use to remove code smells without changing the external behavior of the source code. However, it requires much time and effort and is poorly automated, often leading developers to prefer keeping low-quality code instead of spending time in designing and performing refactoring operations. To mitigate this problem and support developers throughout the process of code smell identification and refactoring, in this paper we present cASpER, a IntelliJ IDEA plugin that provides visual and semi-automatic support for detection and refactoring four different types of code smells.
Tool. Jetbrains: https://plugins.jetbrains.com/plugin/13659-casper
Video. https://youtu.be/HBWF8fFJM8s

References

[1]
Jehad Al Dallal. 2015. Identifying refactoring opportunities in object-oriented code: A systematic literature review. Information and software Technology 58 (2015), 231--249.
[2]
Gabriele Bavota, Andrea De Lucia, Andrian Marcus, and Rocco Oliveto. 2013. Using structural and semantic measures to improve software modularization. Empirical Software Engineering 18, 5 (2013), 901--932.
[3]
Gabriele Bavota, Andrea De Lucia, Andrian Marcus, and Rocco Oliveto. 2014. Automating extract class refactoring: an improved method and its evaluation. Empirical Software Engineering 19, 6 (2014), 1617--1664.
[4]
S. R. Chidamber and C. F. Kemerer. 1991. Towards a metrics suite for object oriented design. In Proceedings of 6th ACM Conference on Object-Oriented Programming Systems Languages and Applications (OOPSLA). 197--211.
[5]
S. R. Chidamber and C. F. Kemerer. 1994. A Metrics Suite for Object Oriented Design. IEEE Transactions on Software Engineering 20 (June 1994), 476--493.
[6]
Eduardo Fernandes, Johnatan Oliveira, Gustavo Vale, Thanis Paiva, and Eduardo Figueiredo. 2016. A review-based comparative study of bad smell detection tools. In Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering. 1--12.
[7]
M. Fowler. 1999. Refactoring: improving the design of existing code. Addison-Wesley.
[8]
Naouel Moha, Yann-GaÃńl GuÃl'hÃl'neuc, Laurence Duchien, and Anne-Francoise Le Meur. 2010. DECOR: A Method for the Specification and Detection of Code and Design Smells. IEEE Transactions on Software Engineering 36 (01 2010), 20--36. https://doi.org/10.1109/TSE.2009.50
[9]
Fabio Palomba, Annibale Panichella, Andrea De Lucia, Rocco Oliveto, and Andy Zaidman. 2016. A Textual-based Technique for Smell Detection. https://doi.org/10.1109/ICPC.2016.7503704
[10]
Manuel De Stefano, Michele Simone Gambardella, Fabiano Pecorelli, Fabio Palomba, and Andrea De Lucia. 2020. cASpER: A plugin for Automated Code Smell Refactoring Detection And Refactoring - Online Appendix. https://doi.org/10.6084/m9.figshare.12046377

Cited By

View all
  • (2024)Improving Machine Learning Algorithm’s Accuracy for Detecting Code Smell Using Data Balancing and Parameter OptimizationProceedings of Fifth International Conference on Computing, Communications, and Cyber-Security10.1007/978-981-97-7371-8_12(151-162)Online publication date: 5-Dec-2024
  • (2024)Advancing Code Smell Detection: Live Global Data Detection and Data Clumps TestcasesEvaluation of Novel Approaches to Software Engineering10.1007/978-3-031-64182-4_11(230-250)Online publication date: 10-Jul-2024
  • (2023)Software Testing and Code Refactoring: A Survey with Practitioners2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00064(500-507)Online publication date: 1-Oct-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
AVI '20: Proceedings of the 2020 International Conference on Advanced Visual Interfaces
September 2020
613 pages
ISBN:9781450375351
DOI:10.1145/3399715
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 02 October 2020

Check for updates

Author Tags

  1. Automated Software Engineering
  2. Code smells
  3. Refactoring

Qualifiers

  • Demonstration
  • Research
  • Refereed limited

Funding Sources

  • Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung

Conference

AVI '20
AVI '20: International Conference on Advanced Visual Interfaces
September 28 - October 2, 2020
Salerno, Italy

Acceptance Rates

AVI '20 Paper Acceptance Rate 36 of 123 submissions, 29%;
Overall Acceptance Rate 128 of 490 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Improving Machine Learning Algorithm’s Accuracy for Detecting Code Smell Using Data Balancing and Parameter OptimizationProceedings of Fifth International Conference on Computing, Communications, and Cyber-Security10.1007/978-981-97-7371-8_12(151-162)Online publication date: 5-Dec-2024
  • (2024)Advancing Code Smell Detection: Live Global Data Detection and Data Clumps TestcasesEvaluation of Novel Approaches to Software Engineering10.1007/978-3-031-64182-4_11(230-250)Online publication date: 10-Jul-2024
  • (2023)Software Testing and Code Refactoring: A Survey with Practitioners2023 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME58846.2023.00064(500-507)Online publication date: 1-Oct-2023
  • (2023)Class code smells detection using deep learning approachPROCEEDINGS OF THE 1ST INTERNATIONAL CONFERENCE ON FRONTIER OF DIGITAL TECHNOLOGY TOWARDS A SUSTAINABLE SOCIETY10.1063/5.0142770(020004)Online publication date: 2023
  • (2023)A systematic literature review on Android-specific smellsJournal of Systems and Software10.1016/j.jss.2023.111677201:COnline publication date: 1-Jul-2023
  • (2022)All you need is logs: improving code completion by learning from anonymous IDE usage logsProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558968(1269-1279)Online publication date: 7-Nov-2022
  • (2021)The IntelliJ Platform: A Framework for Building Plugins and Mining Software Data2021 36th IEEE/ACM International Conference on Automated Software Engineering Workshops (ASEW)10.1109/ASEW52652.2021.00016(14-17)Online publication date: Nov-2021

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media