Behaviour Preservation across Code Versions in Erlang

Joint Authors

Pérez, Sergio
Silva, Josep
Tamarit, Salvador
Insa, David

Source

Scientific Programming

Issue

Vol. 2018, Issue 2018 (31 Dec. 2018), pp.1-42, 42 p.

Publisher

Hindawi Publishing Corporation

Publication Date

2018-06-13

Country of Publication

Egypt

No. of Pages

42

Main Subjects

Mathematics

Abstract EN

In any alive and nontrivial program, the source code naturally evolves along the lifecycle for many reasons such as the implementation of new functionality, the optimization of a bottleneck, or the refactoring of an obscure function.

Frequently, these code changes affect various different functions and modules, so it can be difficult to know whether the correct behaviour of the previous version has been preserved in the new version.

In this paper, we face this problem in the context of the Erlang language, where most developers rely on a previously defined test suite to check the behaviour preservation.

We propose 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 it introduces novel ideas such as allowing the programmer to choose one or more expressions of interest that must preserve the behaviour, or the recording of the sequences of values to which those expressions are evaluated.

All the presented work has been implemented in an open-source tool that is publicly available on GitHub.

American Psychological Association (APA)

Insa, David& Pérez, Sergio& Silva, Josep& Tamarit, Salvador. 2018. Behaviour Preservation across Code Versions in Erlang. Scientific Programming،Vol. 2018, no. 2018, pp.1-42.
https://search.emarefa.net/detail/BIM-1214774

Modern Language Association (MLA)

Insa, David…[et al.]. Behaviour Preservation across Code Versions in Erlang. Scientific Programming No. 2018 (2018), pp.1-42.
https://search.emarefa.net/detail/BIM-1214774

American Medical Association (AMA)

Insa, David& Pérez, Sergio& Silva, Josep& Tamarit, Salvador. Behaviour Preservation across Code Versions in Erlang. Scientific Programming. 2018. Vol. 2018, no. 2018, pp.1-42.
https://search.emarefa.net/detail/BIM-1214774

Data Type

Journal Articles

Language

English

Notes

Includes bibliographical references

Record ID

BIM-1214774