Mutation testing is an effective technique for assessing the effectiveness of test suites by systematically injecting artificial faults into programs. However, existing mutation testing techniques fall short in capturing many types of common faults in dynamically-typed languages like Python. In this paper, we introduce a novel set of seven mutation operators that are inspired by prevalent anti-patterns in Python programs, designed to complement the existing general-purpose operators and broaden the spectrum of simulated faults. We propose a mutation testing technique that utilizes a hybrid of static and dynamic analyses to mutate Python programs based on these operators while minimizing equivalent mutants. We implement our approach in a tool called PyTation and evaluate it on 13 open-source Python applications. Our results show that PyTation generates mutants that complement those from general-purpose tools, exhibiting distinct behaviour under test execution and uncovering inadequacies in high-coverage test suites. We further demonstrate that PyTation produces a high proportion of unique mutants, a low cross-kill rate, and a low test overlap ratio relative to baseline tools, highlighting its novel fault model. PyTation also incurs few equivalent mutants, aided by dynamic analysis heuristics.
Thu 16 AprDisplayed time zone: Brasilia, Distrito Federal, Brazil change
14:00 - 15:30 | Testing and Analysis 11Research Track at Oceania IX Chair(s): Sebastian Baltes Heidelberg University | ||
14:00 15mTalk | Efficient Build Dependency Verification Using eBPF and Incremental Analysis Research Track Yuta Saito Waseda University, Kazunori Sakamoto Tokyo Online Unicersity / Waseda University / National Institute of Informatics / WillBooster Inc., Hironori Washizaki Waseda University | ||
14:15 15mTalk | Hybrid Fault-Driven Mutation Testing for Python Research Track Pre-print | ||
14:30 15mTalk | No Shot in the Dark: Efficient Context-Free Language Reachability via Context-Aware Tabulation Research Track Chenghang Shi SKLP, Institute of Computing Technology, CAS, Lian Li Institute of Computing Technology at Chinese Academy of Sciences; University of Chinese Academy of Sciences Media Attached | ||
14:45 15mTalk | Is Call Graph Pruning Really Effective? An Empirical Re-evaluation Research Track Mohammad Rafieian The University of Texas at Dallas, Vlad Birsan The University of Texas at Dallas, Kunal Katiya Coppell High School, Dylan Zhong , Shiyi Wei University of Texas at Dallas Pre-print | ||
15:00 15mTalk | MutDafny: A Mutation-Based Approach to Assess Dafny Specifications Research Track Isabel Amaral INESC TEC, Faculty of Engineering, University of Porto, Alexandra Mendes Faculty of Engineering, University of Porto & INESC TEC, José Campos Faculty of Engineering of the University of Porto, Portugal | ||
15:15 15mTalk | Enhancing Symbolic Execution with Self-Configuring Parameters Research Track | ||