Behaviour Preservation across Code Versions in Erlang
Joint Authors
Pérez, Sergio
Silva, Josep
Tamarit, Salvador
Insa, David
Source
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
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