AmPyfier: Test Amplification in Python
Ebert Schoofs, Mehrdad Abdi, Serge Demeyer

TL;DR
AmPyfier introduces a novel approach to test amplification tailored for Python, a dynamically typed language, demonstrating its effectiveness on open-source projects and expanding testing capabilities in such languages.
Contribution
This paper presents AmPyfier, the first tool to enable test amplification in Python, overcoming challenges posed by dynamic typing and broadening the applicability of test amplification techniques.
Findings
Successfully strengthened 70% of tested classes
Proved feasibility of test amplification in Python
Extended testing methods to dynamically typed languages
Abstract
Test Amplification is a method to extend handwritten tests into a more rigorous test suite covering corner cases in the system under test. Unfortunately, the current state-of-the-art for test amplification heavily relies on program analysis techniques which benefit a lot from explicit type declarations present in statically typed languages like Java and C++. In dynamically typed languages, such type declarations are not available and as a consequence test amplification has yet to find its way to programming languages like Python, Ruby and Javascript. In this paper, we present AmPyfier, a proof-of-concept tool, which brings test amplification to the dynamically typed, interpreted language Python. We evaluated this approach on 7 open-source projects, and found that AmPyfier could successfully strengthen 7 out of 10 test classes (70%). As such we demonstrate that test amplification is…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Engineering Research · Software System Performance and Reliability
