Erlang Code Evolution Control

09/15/2017
by   David Insa, et al.
0

During the software lifecycle, a program can evolve several times for different reasons such as the optimisation of a bottle-neck, the refactoring of an obscure function, etc. These code changes often involve several functions or modules, so it can be difficult to know whether the correct behaviour of the previous releases has been preserved in the new release. Most developers rely on a previously defined test suite to check this behaviour preservation. We propose here an alternative approach to automatically obtain a test suite that specifically focusses on comparing the old and new versions of the code. Our test case generation is directed by a sophisticated combination of several already existing tools such as TypEr, CutEr, and PropEr; and other ideas such as allowing the programmer to chose an expression of interest that must preserve the behaviour, or the recording of the sequences of values to which this expression is evaluated. All the presented work has been implemented in an open-source tool that is publicly available on GitHub.

READ FULL TEXT
research
02/22/2019

An Approach and Benchmark to Detect Behavioral Changes of Commits in Continuous Integration

When a developer pushes a change to an application's codebase, in the fo...
research
02/12/2018

Erlang Code Evolution Control (Use Cases)

The main goal of this work is to show how SecEr can be used in different...
research
08/08/2020

DR-Tools: a suite of lightweight open-source tools to measure and visualize Java source code

In Software Engineering, some of the most critical activities are mainte...
research
07/26/2022

Perun: Performance Version System

In this paper, we present Perun: an open-source tool suite for profiling...
research
09/22/2020

Evolutionary Conflict Checking

During the software evolution, existing features may be adversely affect...
research
09/10/2019

Suggestions on Test Suite Improvements with Automatic Infection and Propagation Analysis

An extreme transformation removes the body of a method that is reached b...
research
04/12/2021

TermAdventure: Interactively Teaching UNIX Command Line, Text Adventure Style

Introductory UNIX courses are typically organized as lectures, accompani...

Please sign up or login with your details

Forgot password? Click here to reset