[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3387904.3389296acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

Just-In-Time Test Smell Detection and Refactoring: The DARTS Project

Published: 12 September 2020 Publication History

Abstract

Test smells represent sub-optimal design or implementation solutions applied when developing test cases. Previous research has shown that these smells may decrease both maintainability and effectiveness of tests and, as such, researchers have been devising methods to automatically detect them. Nevertheless, there is still a lack of tools that developers can use within their integrated development environment to identify test smells and refactor them. In this paper, we present DARTS (Detection And Refactoring of Test Smells), an Intellij plug-in which (1) implements a state-of-the-art detection mechanism to detect instances of three test smell types, i.e., General Fixture, Eager Test, and Lack of Cohesion of Test Methods, at commit-level and (2) enables their automated refactoring through the integrated APIs provided by Intellij.

References

[1]
Gabriele Bavota, Abdallah Qusef, Rocco Oliveto, Andrea De Lucia, and Dave Binkley. 2015. Are test smells really harmful? An empirical study. Empirical Software Engineering 20, 4 (2015), 1052--1094.
[2]
Boris Beizer. 2003. Software testing techniques. Dreamtech Press.
[3]
Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1993. Design patterns: Abstraction and reuse of object-oriented design. In European Conference on Object-Oriented Programming. Springer, 406--431.
[4]
Giovanni Grano, Fabio Palomba, Dario Di Nucci, Andrea De Lucia, and Harald C Gall. 2019. Scented since the beginning: On the diffuseness of test smells in automatically generated test code. Journal of Systems and Software 156 (2019), 312--327.
[5]
Michaela Greiler, Arie Van Deursen, and Margaret-Anne Storey. 2013. Automated detection of test fixture strategies and smells. In Software Testing, Verification and Validation (ICST). 322--331.
[6]
Gerard Meszaros. 2007. xUnit test patterns: Refactoring test code. Pearson Education.
[7]
Fabio Palomba, Dario Di Nucci, Michele Tufano, Gabriele Bavota, Rocco Oliveto, Denys Poshyvanyk, and Andrea De Lucia. 2015. Landfill: An open dataset of code smells with public evaluation. In 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories. IEEE, 482--485.
[8]
Fabio Palomba, Andy Zaidman, and Andrea De Lucia. 2018. Automatic test smell detection using information retrieval techniques. In 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 311--322.
[9]
Davide Spadini, Fabio Palomba, Andy Zaidman, Magiel Bruntink, and Alberto Bacchelli. 2018. On the relation of test smells to software code quality. In 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 1--12.
[10]
Arie Van Deursen, Leon Moonen, Alex van den Bergh, and Gerard Kok. 2001. Refactoring test code. In Proceedings of the 2nd international conference on extreme programming and flexible processes in software engineering (XP2001). 92--95.

Cited By

View all
  • (2024)A Multimethod Study of Test Smells: Cataloging Removal and New TypesProceedings of the XXIII Brazilian Symposium on Software Quality10.1145/3701625.3701699(676-686)Online publication date: 5-Nov-2024
  • (2024)Test Smells Learning by a Gamification ApproachProceedings of the 3rd ACM International Workshop on Gamification in Software Development, Verification, and Validation10.1145/3678869.3685687(30-33)Online publication date: 13-Sep-2024
  • (2024)The Lost World: Characterizing and Detecting Undiscovered Test SmellsACM Transactions on Software Engineering and Methodology10.1145/363197333:3(1-32)Online publication date: 15-Mar-2024
  • Show More Cited By

Index Terms

  1. Just-In-Time Test Smell Detection and Refactoring: The DARTS Project

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICPC '20: Proceedings of the 28th International Conference on Program Comprehension
    July 2020
    481 pages
    ISBN:9781450379588
    DOI:10.1145/3387904
    Permission to make digital or hard copies of all or part 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 components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 12 September 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Refactoring
    2. Software Testing
    3. Test Smells

    Qualifiers

    • Short-paper
    • Research
    • Refereed limited

    Funding Sources

    • Schweizerischer Nationalfonds zur Förderung der Wissenschaftlichen Forschung

    Conference

    ICPC '20
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)40
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 31 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)A Multimethod Study of Test Smells: Cataloging Removal and New TypesProceedings of the XXIII Brazilian Symposium on Software Quality10.1145/3701625.3701699(676-686)Online publication date: 5-Nov-2024
    • (2024)Test Smells Learning by a Gamification ApproachProceedings of the 3rd ACM International Workshop on Gamification in Software Development, Verification, and Validation10.1145/3678869.3685687(30-33)Online publication date: 13-Sep-2024
    • (2024)The Lost World: Characterizing and Detecting Undiscovered Test SmellsACM Transactions on Software Engineering and Methodology10.1145/363197333:3(1-32)Online publication date: 15-Mar-2024
    • (2024)Fault-Proneness of Python Programs Tested By Smelled Test Code2024 50th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)10.1109/SEAA64295.2024.00063(373-378)Online publication date: 28-Aug-2024
    • (2024)Automatically Removing Unnecessary Stubbings from Test Suites2024 IEEE Conference on Software Testing, Verification and Validation (ICST)10.1109/ICST60714.2024.00029(233-244)Online publication date: 27-May-2024
    • (2024)A comprehensive catalog of refactoring strategies to handle test smells in Java-based systemsSoftware Quality Journal10.1007/s11219-024-09663-732:2(641-679)Online publication date: 1-Jun-2024
    • (2024)Machine learning-based test smell detectionEmpirical Software Engineering10.1007/s10664-023-10436-229:2Online publication date: 5-Mar-2024
    • (2023)Sentinel: A process for automatic removing of Test SmellsProceedings of the XXII Brazilian Symposium on Software Quality10.1145/3629479.3630019(80-89)Online publication date: 7-Nov-2023
    • (2023)Refactoring Test Smells With JUnit 5: Why Should Developers Keep Up-to-Date?IEEE Transactions on Software Engineering10.1109/TSE.2022.317265449:3(1152-1170)Online publication date: 1-Mar-2023
    • (2023)A Trend Analysis of Test Smells in Python Test Code Over Commit History2023 49th Euromicro Conference on Software Engineering and Advanced Applications (SEAA)10.1109/SEAA60479.2023.00054(310-314)Online publication date: 6-Sep-2023
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media