Research Article

Behaviour Preservation across Code Versions in Erlang

Listing 13

SecEr reports discrepancies after entering the sleep expression.
$  ./secer -pois "[’string0.erl’, LINE_timer:now_diff, call, 1, ’string1.erl’, LINE_timer:now_diff,
call,1]"
     -funs "test_string:funs()" -to 15 -cfun "secer:comp_perf(30)"
Function: tokens/2
----------------------------
Generated test cases: 4587
Mismatching test cases: 1286 (28.03%)
   POIs comparison:
     + ’string0.erl’, LINE_timer:now_diff,call,1,
      ’string1.erl’, LINE_timer:now_diff,call,1
          Unexpected trace value => 1286 Errors
          Example call: tokens([7,5,4,2,16,3,11,3],[4,2,9,2])
------ Detected Error ------
Call: tokens([7,5,4,2,16,3,11,3],[4,2,9,2])
Error Type: Slower Calculation
POI: (’string0.erl’, LINE_timer:now_diff,call,1) trace:
     [2]
POI: (’string1.erl’, LINE_timer:now_diff,call,1) trace:
     [5395]
----------------------------