‹Programming› 2022
Mon 11 - Thu 14 April 2022
Tue 22 Mar 2022 11:20 - 11:45 at Workshop II - Session 2

Mutation Testing is a popular approach to determine the quality of a suite of unit tests. It is based on the idea that introducing faults into a system-under-test (SUT) should cause tests to fail, otherwise, the test suite might be of insufficient quality. In the language of mutation testing, such a fault is referred to as “mutation”, and an instance of the SUT’s code that contains the mutation is referred to as “mutant”. Mutation testing is computationally expensive and time-consuming. Reasons for this include, for example, a high number of mutations to consider, interrelations between these mutations, and mutant-associated costs such as the cost of mutant creation or the cost of checking whether any tests fail in response. Furthermore, implementing a reliable tool for automatic mutation testing is a significant effort for any language. As a result, mutation testing is only available for some languages.

Present mutation tools often rely on modifying code or binary executables. We refer to this as “ahead-of-time” mutation testing. Oftentimes, they neither take dynamic information that is only available at run-time into account nor alter program behavior at run-time. However, mutating via the latter could save costs on mutant creation: If the corresponding module of code is compiled, only the mutated section of code needs to be recompiled. Additional run-time information (like previous execution results of the mutated section) selected by an initial test run, could also help to determine the utility of a mutant. Skipping mutants of low utility could have an impact on mutation testing efficiency. We propose to refer to this approach as just-in-time mutation testing.

In this paper, we provide a proof of concept for just-in-time and language-agnostic mutation testing. We present preliminary results of a feasibility study that explores the implementation of just-intime mutation testing based on Truffle’s instrumentation API. Based on these results, future research can evaluate the implications of just-in-time and language-agnostic mutation testing.

Tue 22 Mar

Displayed time zone: Lisbon change

10:30 - 12:00
Session 2MoreVMs at Workshop II
10:30
25m
Talk
Interpreter Register Autolocalisation: Improving the performance of efficient interpreters
MoreVMs
Guillermo Polito CNRS; CRIStAL; University of Lille; Centrale Lille; Inria, Pablo Tesone Inria Lille–Nord Europe, France Mines Douai, IA, Univ. Lille, France, Stéphane Ducasse Inria; University of Lille; CNRS; Centrale Lille; CRIStAL, Nahuel Palumbo Université Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL, Soufyane Labsari Université Lille, CNRS, Centrale Lille, Inria, UMR 9189 - CRIStAL
File Attached
10:55
25m
Talk
Less Is More: Merging AST Nodes To Optimize Interpreters
MoreVMs
Octave Larose University of Kent, Sophie Kaleba University of Kent, Stefan Marr University of Kent
Media Attached File Attached
11:20
25m
Talk
Towards Just-in-time and Language-agnostic Mutation Testing
MoreVMs
Stefan Reschke Hasso Plattner Institute, University of Potsdam, Toni Mattis Hasso Plattner Institute, University of Potsdam, Fabio Niephaus Oracle Labs, Potsdam, Robert Hirschfeld HPI, University of Potsdam
File Attached
11:45
15m
Other
Discussion
MoreVMs
C: Rodrigo Bruno INESC-ID / Técnico, ULisboa, C: Michael Engel Norwegian University of Science and Technology (NTNU)