A new perspective on the competent programmer hypothesis through the reproduction of bugs with repeated mutations

04/06/2021
by   Eike Stein, et al.
0

The competent programmer hypothesis states that most programmers are competent enough to create correct or almost correct source code. Because this implies that bugs should usually manifest through small variations of the correct code, the competent programmer hypothesis is one of the fundamental assumptions of mutation testing. Unfortunately, it is still unclear if the competent programmer hypothesis holds and past research presents contradictory claims. Within this article, we provide a new perspective on the competent programmer hypothesis and its relation to mutation testing. We try to re-create real-world bugs through chains of mutations to understand if there is a direct link between mutation testing and bugs. The lengths of these paths help us to understand if the source code is really almost correct, or if large variations are required. Our results indicate that while the competent programmer hypothesis seems to be true, mutation testing is missing important operators to generate representative real-world bugs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/28/2020

Design of Mutation Operators for Testing Geographic Information Systems

In this article, we propose the definition of specific mutation operator...
research
12/27/2018

Learning How to Mutate Source Code from Bug-Fixes

Mutation testing has been widely accepted as an approach to guide test c...
research
10/21/2022

DARWIN: Survival of the Fittest Fuzzing Mutators

Fuzzing is an automated software testing technique broadly adopted by th...
research
02/10/2021

SN4KE: Practical Mutation Testing at Binary Level

Mutation analysis is an effective technique to evaluate a test suite ade...
research
07/14/2021

DeepMutants: Training neural bug detectors with contextual mutations

Learning-based bug detectors promise to find bugs in large code bases by...
research
08/18/2023

SHAPFUZZ: Efficient Fuzzing via Shapley-Guided Byte Selection

Mutation-based fuzzing is popular and effective in discovering unseen co...
research
04/19/2020

On the Unusual Effectiveness of Type-aware Mutations for Testing SMT Solvers

We propose type-aware operator mutation, a simple, but unusually effecti...

Please sign up or login with your details

Forgot password? Click here to reset