Reproduce “PyNose: A Test Smell Detector For Python” on OpenResearch

Turn your favorite coding agents into research agents that review literature, develop hypotheses, and run experiments.

Universal app for Apple silicon and Intel. Requires macOS 11 or later.

About this paper

Tongjie Wang, Yaroslav Golubev, Oleg Smirnov, Jiawei Li, Timofey Bryksin, Iftekhar Ahmed

PYNOSE, developed by researchers from the University of California, Irvine, and JetBrains Research, is presented as the first automated tool for detecting test smells in Python, achieving an F1-score of 94.9%. An empirical study using PYNOSE revealed that 98% of Python projects and 84% of test suites contain at least one test smell, including a newly identified Python-specific smell, 'Suboptimal Assert'.

Key insights

  • Test smells are highly prevalent in real-world Python projects, affecting 98% of projects and 84% of test suites.
  • PYNOSE effectively detects test smells in Python with high accuracy (94.9% F1-score), comparable to tools for other languages.
  • "Suboptimal Assert" was identified as a previously uncataloged, Python-specific test smell, detected in 70.6% of projects, demonstrating the need for language-aware test smell research.

Summary by alphaXiv.

Tip: change arxiv.org to autoarxiv.org in any arXiv abstract link to open the paper here.