Research Article

Behaviour Preservation across Code Versions in Erlang

Listing 28

SecEr’s output when comparing the two versions.
$  ./secer -pois "test_orddict:rel1()" -funs "test_orddict:funs()" -to 15
Function: from_list/1
----------------------------
Generated test cases: 16428
Mismatching test cases: 555 (3.37%)
  POIs comparison:
     + ’orddict/orddict_old.erl’,60,call,1,
      ’orddict/orddict_new_wrong.erl’,62,call,1
        Unexpected trace value => 555 Errors
        Example call: from_list([,-9,,3.1981469696010247])
------ Detected Error ------
Call: from_list([,-9,,3.1981469696010247])
Error Type: Unexpected trace value
POI: (’orddict/orddict_old.erl’,60,call,1) trace:
      [[,3.1981469696010247]]
POI: (’orddict/orddict_new_wrong.erl’,62,call,1) trace:
      [[,-9]]
----------------------------