# A Journey Among Java Neutral Program Variants

**Authors:** Nicolas Harrand, Simon Allier, Marcelino Rodriguez-Cancio and, Martin Monperrus, Benoit Baudry

arXiv: 1901.02533 · 2019-07-01

## TL;DR

This paper investigates the synthesis of neutral Java program variants through speculative transformations, revealing that developers naturally support fine-grain behavioral changes and that certain transformations, like statement deletion, are highly effective.

## Contribution

It characterizes plastic code regions in Java and introduces three novel targeted speculative transformations, significantly increasing the generation of neutral variants.

## Key findings

- High percentage of neutral variants from transformations
- Statement deletion is highly effective for neutral variants
- Design decisions like data structure choices can evolve neutrally

## Abstract

Neutral program variants are functionally similar to an original program, yet implement slightly different behaviors. Techniques such as approximate computing or genetic improvement share the intuition that potential for enhancements lies in these acceptable behavioral differences (e.g., enhanced performance or reliability). Yet, the automatic synthesis of neutral program variants, through speculative transformations remains a key challenge.   This work aims at characterizing plastic code regions in Java programs, i.e., the areas that are prone to the synthesis of neutral program variants. Our empirical study relies on automatic variations of 6 real-world Java programs. First, we transform these programs with three state-of-the-art speculative transformations: add, replace and delete statements. We get a pool of 23445 neutral variants, from which we gather the following novel insights: developers naturally write code that supports fine-grain behavioral changes; statement deletion is a surprisingly effective speculative transformation; high-level design decisions, such as the choice of a data structure, are natural points that can evolve while keeping functionality.   Second, we design 3 novel speculative transformations, targeted at specific plastic regions. New experiments reveal that respectively 60\%, 58\% and 73\% of the synthesized variants (175688 in total) are neutral and exhibit execution traces that are different from the original.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1901.02533/full.md

## Figures

37 figures with captions in the complete paper: https://tomesphere.com/paper/1901.02533/full.md

## References

40 references — full list in the complete paper: https://tomesphere.com/paper/1901.02533/full.md

---
Source: https://tomesphere.com/paper/1901.02533