Write a Blog >>
ASE 2021
Sun 14 - Sat 20 November 2021 Australia
Wed 17 Nov 2021 21:40 - 22:00 at Koala - Fuzzing and Smells Chair(s): Xiaoyuan Xie

Similar to production code, code smells also occur in test code, where they are called test smells. Test smells have a detrimental effect not only on test code but also on the production code. To date, the majority of the research on test smells has been focusing on programming languages such as Java and Scala. However, there are no available automated tools to support the identification of test smells for Python, despite its rapid growth in popularity in recent years. In this paper, we strive to extend the research to Python, build a tool for detecting test smells in this language, and conduct an empirical analysis of test smells in Python projects. We started by gathering a list of test smells from existing research and selecting test smells that can be considered language-agnostic or have similar functionality in Python’s standard Unittest framework. In total, we identified 17 diverse test smells. Additionally, we searched for Python-specific test smells by mining for frequent code change patterns that can be considered as either fixing or introducing test smells. Based on these changes, we proposed our own test smell called Suboptimal Assert. We developed a tool called PyNose in the form of a plugin to PyCharm, a popular Python IDE. Then we conducted a large-scale empirical investigation aimed at analyzing the prevalence of test smells in Python code. Our results show that 98% of the projects and 84% of the test suites in the studied dataset contain at least one test smell. Our proposed Suboptimal Assert smell was detected in as much as 70.7% of the projects.

Wed 17 Nov

Displayed time zone: Hobart change

21:00 - 22:00
Fuzzing and SmellsResearch Papers at Koala
Chair(s): Xiaoyuan Xie School of Computer Science, Wuhan University, China
21:00
20m
Talk
InstruGuard: Find and Fix Instrumentation Errors for Coverage-based Greybox Fuzzing
Research Papers
Yuwei Liu Institute of Software, Chinese Academy of Sciences, Yanhao Wang QiAnXin Technology Research Institute, Purui Su Institute of Software/CAS China, Yuanping Yu Institute of Software, Chinese Academy of Sciences, Xiangkun Jia Institute of Software Chinese Academy of Sciences
21:20
20m
Talk
RULF: Rust Library Fuzzing via API Dependency Graph TraversalACM Distinguished Paper
Research Papers
Jianfeng Jiang Fudan University, Hui Xu Fudan University, Yangfan Zhou Fudan University
Pre-print
21:40
20m
Talk
PyNose: A Test Smell Detector For Python
Research Papers
Tongjie Wang University of California, Irvine, Yaroslav Golubev JetBrains Research, Oleg Smirnov JetBrains Research, Saint Petersburg State University, Jiawei Li University of California, Irvine, Timofey Bryksin JetBrains Research; HSE University, Iftekhar Ahmed University of California, Irvine
Pre-print